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