AliAnaCalorimeterQA

IMPORTANT: The maintenance of this page is discontinued. For a most up-to-date documentation please visit THIS TWIKI PAGE.

 

Analysis class implemented in the PWG4 PartCorr frame, it can be found in

$ALICE_ROOT/PWG4/PartCorrDep/AliAnaCalorimeterQA.cxx,h

This class is intended for studies on the performance of the calorimeters. The input for the analysis can be the CaloClusters or CaloCells stored in AODs, ESDs. The analysis also accesses the kinematics stack from ESDs or the filtered AODPrimaries, and also the ESD/AOD tracks (this last soon). The analysis accesses directly the ESD/AOD event, unlike other PartCorr analysis that use a pre-filtered list of clusters done in the reader.  This analysis will be executed in the official PWG1 performance train, and is regularly executed in the different analysis trains.

The main methods of this class are:

  • MakeAnalysisFillHistograms(): Main method, executed to fill the histograms. The aim was to make it more modular, but the dependencies on ESD/AODs or Stack/AODPrimary makes it difficult.
  • ClusterHistograms(): Most of the histograms related to clusters are filled here.
  • MCHistograms(): Pure generator particles kinematics is used to fill the histograms.
  • CorrelateCalorimeters(): Histograms that show the correlation between the PHOS and EMCAL clusters/cells number and energy.
  • GetModuleNumber(): Get the (Super) module number of the cluster.
  • GetModuleNumberCellIndexes(): Get the (Super) module number of the cell.
  • Terminate(): Method executed at the end of the analysis for plotting the histograms.
  • ReadHistograms(): Called by the Terminate(), needed in case of CAF or external use of the Terminate, refills the histogram pointers with the histograms stored in the output TList.

 

Some settings passed to this class to configure the analysis are:

 

  • TString fCalorimeter : Calorimeter selection, PHOS or EMCAL
  • TString fStyleMacro  :  Location of macro for plots style
  • Bool_t  fMakePlots   :   Print plots in Terminate.
  • Bool_t  fCorrelateCalos :  Correlate PHOS/EMCAL clusters
  • Int_t   fNModules    :    Number of EMCAL/PHOS modules, set as many histograms as modules 

 

Each of these data members have its corresponding methods to be set or retreived. There are other settings like the bin size and ranges for the histograms. The configuration macro and a example execution macro for this task can be found in

$ALICE_ROOT/PWG4/macros/QA/AddAnalysisTaskQA.C, ana.C

The ingredients to be passed to the ana.C macro are explained in this PartCorr section (a bit out of data but still give the idea).

 

This analysis does not produce output AODs, just a histogram file. It also produces output plots if requested, in order to produce them make sure you have in the configuration file:

qa->SwitchOnPlotsMaking();

A compressed file with the different plots will be created. The Terminate() method, where the plots are produced right after the end of the analysis, can be re-executed out of the analysis chain, giving him the TList with the output of histograms. An example on how to execute the Terminate out of the analysis can be found in

$ALICE_ROOT/PWG4/macros/QA/DrawCaloQA.C

There you can also change the ranges of some histograms and the bining (not effective yet for all histograms to be plotted).  

 

In order to fill the histograms with the cell position, you will have to import the geometry.root file that contains the matrices for the transformation from local to global positions. You can produce it doing a simple simulation.  The way to use it is uncommenting in the macro ana.C the line:

TGeoManager::Import("geometry.root") ; //need file "geometry.root" in local dir!!!!

If the geometry file is not loaded, the frame will look for the matrices in the ESDs, but there are some problems with these matrices (at least for EMCAL, not checked for PHOS, under investigation).

 

The amount of histograms is considerable, and growing every day, here I list them with a brief explanation (sorry for the way it is visualized):

 

//CaloClusters

TH1F * fhE ; //! E distribution, Reco

TH1F * fhPt ; //! pT distribution, Reco

TH1F * fhPhi; //! phi distribution, Reco

TH1F * fhEta; //! eta distribution, Reco

TH3F * fhEtaPhiE ; //! eta vs phi vs E, Reco

TH1F * fhECharged ; //! E distribution, Reco, matched with track

TH1F * fhPtCharged ; //! pT distribution, Reco, matched with track

TH1F * fhPhiCharged; //! phi distribution, Reco, matched with track

TH1F * fhEtaCharged; //! eta distribution, Reco, matched with track

TH3F * fhEtaPhiECharged ; //! eta vs phi vs E, Reco, matched with track

TH1F * fhEChargedNoOut ; //! E distribution, Reco, matched with track, no outer param

TH1F * fhPtChargedNoOut ; //! pT distribution, Reco, matched with track, no outer param

TH1F * fhPhiChargedNoOut; //! phi distribution, Reco, matched with track, no outer param

TH1F * fhEtaChargedNoOut; //! eta distribution, Reco, matched with track, no outer param

TH2F * fhEtaPhiChargedNoOut ; //! eta vs phi, Reco, matched with track, no outer param

TH1F * fhDeltaE ; //! MC-Reco E distribution

TH1F * fhDeltaPt ; //! MC-Reco pT distribution

TH1F * fhDeltaPhi; //! MC-Reco phi distribution

TH1F * fhDeltaEta; //! MC-Reco eta distribution

TH1F * fhRatioE ; //! Reco/MC E distribution

TH1F * fhRatioPt ; //! Reco/MC pT distribution

TH1F * fhRatioPhi; //! Reco/MC phi distribution

TH1F * fhRatioEta; //! Reco/MC eta distribution

TH2F * fh2E ; //! E distribution, Reco vs MC

TH2F * fh2Pt ; //! pT distribution, Reco vs MC

TH2F * fh2Phi; //! phi distribution, Reco vs MC

TH2F * fh2Eta; //! eta distribution, Reco vs MC

TH2F * fhIM; //! cluster pairs invariant mass

TH2F * fhIMCellCut; //! cluster pairs invariant mass, n cells > 1 per cluster

TH2F * fhAsym; //! cluster pairs invariant mass

TH3F * fhNCellsPerCluster; //! N cells per cluster vs cluster energy vs eta of cluster

TH3F * fhNCellsPerClusterMIP; //! N cells per cluster vs cluster energy vs eta of cluster, finer fixed pT bin for MIP search.

TH3F * fhNCellsPerClusterMIPCharged; //! N cells per cluster vs cluster energy vs eta of cluster, finer fixed pT bin for MIP search, cluster matched with track.

TH1F * fhNClusters; //! Number of clusters

TH1F * fhCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells TH1F * fhCellIdCellLargeTimeSpread; //! Cells with large time respect to max (diff > 100 ns)

TH2F * fhRNCells ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs N cells in cluster

TH2F * fhXNCells ; //! X (cm) cluster distribution vs N cells in cluster

TH2F * fhYNCells ; //! Y (cm) cluster distribution vs N cells in cluster

TH2F * fhZNCells ; //! Z (cm) cluster distribution vs N cells in cluster

TH2F * fhRE ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy

TH2F * fhXE ; //! X (cm) cluster distribution vs cluster energy

TH2F * fhYE ; //! Y (cm) cluster distribution vs cluster energy

TH2F * fhZE ; //! Z (cm) cluster distribution vs cluster energy

TH3F * fhXYZ; //! cluster X vs Y vs Z (cm)

TH2F * fhRCellE ; //! R=sqrt(x^2+y^2) (cm) cell distribution vs cell energy

TH2F * fhXCellE ; //! X (cm) cell distribution vs cell energy

TH2F * fhYCellE ; //! Y (cm) cell distribution vs cell energy

TH2F * fhZCellE ; //! Z (cm) cell distribution vs cell energy

TH3F * fhXYZCell; //! cell X vs Y vs Z (cm)

TH2F * fhDeltaCellClusterRNCells ; //! R cluster - R cell distribution (cm) vs N cells in cluster

TH2F * fhDeltaCellClusterXNCells ; //! X cluster - X cell distribution (cm) vs N cells in cluster

TH2F * fhDeltaCellClusterYNCells ; //! Y cluster - Y cell distribution (cm) vs N cells in cluster

TH2F * fhDeltaCellClusterZNCells ; //! Z cluster - Z cell distribution (cm) vs N cells in cluster

TH2F * fhDeltaCellClusterRE ; //! R cluster - R cell distribution (cm) vs cluster energy

TH2F * fhDeltaCellClusterXE ; //! X cluster - X cell distribution (cm) vs cluster energy

TH2F * fhDeltaCellClusterYE ; //! Y cluster - Y cell distribution (cm) vs cluster energy

TH2F * fhDeltaCellClusterZE ; //! Z cluster - Z cell distribution (cm) vs cluster energy //Calo Cells

TH1F * fhNCells; //! Number of towers/crystals with signal

TH1F * fhAmplitude; //! Amplitude measured in towers/crystals

TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower.

TH1F * fhTime; //! Time measured in towers/crystals

TH2F * fhTimeId; //! Time vs Absolute cell Id

TH2F * fhTimeAmp; //! Time vs Amplitude

TH3F * fhEtaPhiAmp; //! eta vs phi vs amplitude, cells //Calorimeters Correlation

TH2F * fhCaloCorrNClusters; // EMCAL vs PHOS, number of clusters

TH2F * fhCaloCorrEClusters; // EMCAL vs PHOS, total measured cluster energy

TH2F * fhCaloCorrNCells; // EMCAL vs PHOS, number of cells

TH2F * fhCaloCorrECells; // EMCAL vs PHOS, total measured cell energy //Module histograms

TH1F ** fhEMod ; //! E distribution for different module, Reco

TH1F ** fhNClustersMod ; //! Number of clusters for different module, Reco

TH2F ** fhNCellsPerClusterMod ; //! N cells per clusters different module, Reco

TH1F ** fhNCellsMod ; //! Number of towers/crystals with signal different module, Reco

TH2F ** fhGridCellsMod ; //! Cells ordered in column/row for different module, Reco

TH2F ** fhGridCellsEMod ; //! Cells ordered in column/row for different module, weighted with energy, Reco

TH2F ** fhGridCellsTimeMod ; //! Cells ordered in column/row for different module, weighted with time, Reco

TH1F ** fhAmplitudeMod ; //! Amplitude measured in towers/crystals different module, Reco

TH1F ** fhAmplitudeModFraction; //! Amplitude measured in towers/crystals different fractions of module, Reco

TH2F ** fhIMMod; //! cluster pairs invariant mass, different module,

TH2F ** fhIMCellCutMod; //! cluster pairs invariant mass, n cells > 1 per cluster, different module //MC

TH1F *fhGenGamPt ; // pt of primary gamma

TH1F *fhGenGamEta ; // eta of primart gamma

TH1F *fhGenGamPhi ; // phi of primary gamma

TH1F *fhGenPi0Pt ; // pt of primary pi0

TH1F *fhGenPi0Eta ; // eta of primart pi0

TH1F *fhGenPi0Phi ; // phi of primary pi0

TH1F *fhGenEtaPt ; // pt of primary eta

TH1F *fhGenEtaEta ; // eta of primart eta

TH1F *fhGenEtaPhi ; // phi of primary eta

TH1F *fhGenOmegaPt ; // pt of primary omega

TH1F *fhGenOmegaEta ; // eta of primart omega

TH1F *fhGenOmegaPhi ; // phi of primary omega

TH1F *fhGenElePt ; // pt of primary electron

TH1F *fhGenEleEta ; // eta of primart electron

TH1F *fhGenElePhi ; // phi of primary electron

//TH3F * fhEMVxyz ; // Electromagnetic particle production vertex

TH2F * fhEMVxyz ; // Electromagnetic particle production vertex

TH2F * fhEMR ; // Electromagnetic distance to vertex vs rec energy

//TH3F * fhHaVxyz ; // Hadron production vertex

TH2F * fhHaVxyz ; // Hadron production vertex

TH2F * fhHaR ; // Hadron distance to vertex vs rec energy

TH2F * fhGamE ; //! E distribution of generated photons, Reco

TH2F * fhGamPt ; //! pT distribution of generated photons, Reco

TH2F * fhGamPhi; //! phi distribution of generated photon, Reco

TH2F * fhGamEta; //! eta distribution of generated photons, Reco

TH1F * fhGamDeltaE ; //! MC-Reco E distribution of generated photons

TH1F * fhGamDeltaPt ; //! MC-Reco pT distribution of generated photons

TH1F * fhGamDeltaPhi; //! MC-Reco phi distribution of generated photons

TH1F * fhGamDeltaEta; //! MC-Reco eta distribution of generated photons

TH1F * fhGamRatioE ; //! Reco/MC E distribution of generated photons

TH1F * fhGamRatioPt ; //! Reco/MC pT distribution of generated photons

TH1F * fhGamRatioPhi; //! Reco/MC phi distribution of generated photons

TH1F * fhGamRatioEta; //! Reco/MC eta distribution of generated photons

TH2F * fhEleE ; //! E distribution of generated electrons, Reco

TH2F * fhElePt ; //! pT distribution of generated electrons, Reco

TH2F * fhElePhi; //! phi distribution of generated electron, Reco

TH2F * fhEleEta; //! eta distribution of generated electrons, Reco

TH2F * fhPi0E ; //! E distribution of generated pi0, Reco, gamma decay overlapped

TH2F * fhPi0Pt ; //! pT distribution of generated pi0, Reco, gamma decay overlapped

TH2F * fhPi0Phi; //! phi distribution of generated pi0, Reco, gamma decay overlapped

TH2F * fhPi0Eta; //! eta distribution of generated pi0, Reco, gamma decay overlapped

TH2F * fhNeHadE ; //! E distribution of generated neutral hadron, Reco

TH2F * fhNeHadPt ; //! pT distribution of generated neutral hadron, Reco

TH2F * fhNeHadPhi; //! phi distribution of generated neutral hadron, Reco

TH2F * fhNeHadEta; //! eta distribution of generated neutral hadron, Reco

TH2F * fhChHadE ; //! E distribution of generated charged hadron, Reco

TH2F * fhChHadPt ; //! pT distribution of generated charged hadron, Reco

TH2F * fhChHadPhi; //! phi distribution of generated charged hadron, Reco

TH2F * fhChHadEta; //! eta distribution of generated charged hadron, Reco

TH2F * fhGamECharged ; //! E distribution of generated photons, Reco, track matched cluster

TH2F * fhGamPtCharged ; //! pT distribution of generated photons, Reco, track matched cluster

TH2F * fhGamPhiCharged; //! phi distribution of generated photon, Reco, track matched cluster

TH2F * fhGamEtaCharged; //! eta distribution of generated photons, Reco, track matched cluster

TH2F * fhEleECharged ; //! E distribution of generated electrons, Reco, track matched cluster

TH2F * fhElePtCharged ; //! pT distribution of generated electrons, Reco, track matched cluster

TH2F * fhElePhiCharged; //! phi distribution of generated electron, Reco, track matched cluster

TH2F * fhEleEtaCharged; //! eta distribution of generated electrons, Reco, track matched cluster

TH2F * fhPi0ECharged ; //! E distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster

TH2F * fhPi0PtCharged ; //! pT distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster

TH2F * fhPi0PhiCharged; //! phi distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster

TH2F * fhPi0EtaCharged; //! eta distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster

TH2F * fhNeHadECharged ; //! E distribution of generated neutral hadron, Reco, track matched cluster

TH2F * fhNeHadPtCharged ; //! pT distribution of generated neutral hadron, Reco, track matched cluster

TH2F * fhNeHadPhiCharged; //! phi distribution of generated neutral hadron, Reco , track matched cluster

TH2F * fhNeHadEtaCharged; //! eta distribution of generated neutral hadron, Reco, track matched cluster

TH2F * fhChHadECharged ; //! E distribution of generated charged hadron, Reco, track matched cluster

TH2F * fhChHadPtCharged ; //! pT distribution of generated charged hadron, Reco, track matched cluster

TH2F * fhChHadPhiCharged; //! phi distribution of generated charged hadron, Reco, track matched cluster

TH2F * fhChHadEtaCharged; //! eta distribution of generated charged hadron, Reco, track matched cluster

TH1F *fhGenGamAccE ; // E of primary gamma

TH1F *fhGenGamAccPt ; // pt of primary gamma

TH1F *fhGenGamAccEta ; // eta of primart gamma

TH1F *fhGenGamAccPhi ; // phi of primary gamma

TH1F *fhGenPi0AccE ; // E of primary pi0

TH1F *fhGenPi0AccPt ; // pt of primary pi0

TH1F *fhGenPi0AccEta ; // eta of primart pi0

TH1F *fhGenPi0AccPhi ; // phi of primary pi0 //Histograms for track-matching

TH2F *fh1pOverE; //! p/E for track-cluster matches

TH1F *fh1dR; //! distance between projected track and cluster

TH2F *fh2EledEdx; //! dE/dx vs. momentum for electron candidates

TH2F *fh2MatchdEdx; //! dE/dx vs. momentum for all matches

TH2F *fhMCEle1pOverE; //! p/E for track-cluster matches, MC electrons

TH1F *fhMCEle1dR; //! distance between projected track and cluster, MC electrons

TH2F *fhMCEle2MatchdEdx; //! dE/dx vs. momentum for all matches, MC electrons

TH2F *fhMCChHad1pOverE; //! p/E for track-cluster matches, MC charged hadrons

TH1F *fhMCChHad1dR; //! distance between projected track and cluster, MC charged hadrons

TH2F *fhMCChHad2MatchdEdx; //! dE/dx vs. momentum for all matches, MC charged

TH2F *fhMCNeutral1pOverE; //! p/E for track-cluster matches, MC neutral

TH1F *fhMCNeutral1dR; //! distance between projected track and cluster, MC neutral

TH2F *fhMCNeutral2MatchdEdx; //! dE/dx vs. momentum for all matches, MC neutral

TH2F *fh1pOverER02; //! p/E for track-cluster matches, dR > 0.2

TH2F *fhMCEle1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC electrons

TH2F *fhMCChHad1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons

TH2F *fhMCNeutral1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC neutral