]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaCalorimeterQA.h
correct mispell of class name AliFidutial to AliFiducial
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaCalorimeterQA.h
1 #ifndef ALIANACALORIMETERQA_H
2 #define ALIANACALORIMETERQA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id: $ */
6
7 //_________________________________________________________________________
8 // Class to check results from simulations or reconstructed real data. 
9 // Fill few histograms and do some checking plots
10 //
11 //-- Author: Gustavo Conesa (INFN-LNF)
12
13 // --- Root system ---
14 class TH2F;
15 class TH1F;
16
17 // --- Analysis system --- 
18 #include "AliAnaPartCorrBaseClass.h"
19  
20 class AliAnaCalorimeterQA : public AliAnaPartCorrBaseClass {
21   
22  public: 
23   
24   AliAnaCalorimeterQA() ; // default ctor
25   AliAnaCalorimeterQA(const AliAnaCalorimeterQA & g) ; // cpy ctor
26   AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & g) ;//cpy assignment
27   virtual ~AliAnaCalorimeterQA() {;} //virtual dtor
28   
29   void ClusterHistograms(const TLorentzVector mom, const Int_t nCaloCellsPerCluster,
30                                                  const Int_t nTracksMatched, const TObject* track, 
31                                                  const Int_t * labels, const Int_t nLabels);
32         
33   TList * GetCreateOutputObjects();
34
35   void Init();
36   void InitParameters();
37   
38   void Print(const Option_t * opt) const;
39     
40   void MakeAnalysisFillHistograms() ; 
41   
42   void MCHistograms(const TLorentzVector mom, const Int_t pdg);
43
44   TString GetCalorimeter() const {return fCalorimeter ;}
45   void SetCalorimeter( TString calo ) {fCalorimeter = calo; }
46   TString GetStyleMacro() const {return fStyleMacro ;}
47   void SetStyleMacro( TString macro ) {fStyleMacro = macro; }
48   
49   void SwitchOnPlotsMaking()  {fMakePlots = kTRUE;}
50   void SwitchOffPlotsMaking() {fMakePlots = kFALSE;}
51         
52   void Terminate(TList * outputList);
53   void ReadHistograms(TList * outputList); //Fill histograms with histograms in ouput list, needed in Terminate.
54
55  private:
56   
57   TString fCalorimeter ;   //Calorimeter selection
58   TString fStyleMacro  ;   //Location of macro for plots style
59   Bool_t fMakePlots    ;   //Print plots
60         
61   //Histograms
62   //CaloClusters 
63   TH1F * fhE  ; //! E distribution, Reco
64   TH1F * fhPt ; //! pT distribution, Reco
65   TH1F * fhPhi; //! phi distribution, Reco 
66   TH1F * fhEta; //! eta distribution, Reco 
67   TH2F * fhEtaPhi  ; //! eta vs phi, Reco 
68   TH1F * fhECharged  ; //! E distribution, Reco, matched with track
69   TH1F * fhPtCharged ; //! pT distribution, Reco, matched with track
70   TH1F * fhPhiCharged; //! phi distribution, Reco, matched with track 
71   TH1F * fhEtaCharged; //! eta distribution, Reco, matched with track 
72   TH2F * fhEtaPhiCharged  ; //! eta vs phi, Reco, matched with track 
73   TH1F * fhEChargedNoOut  ; //! E distribution, Reco, matched with track, no outer param
74   TH1F * fhPtChargedNoOut ; //! pT distribution, Reco, matched with track, no outer param
75   TH1F * fhPhiChargedNoOut; //! phi distribution, Reco, matched with track, no outer param
76   TH1F * fhEtaChargedNoOut; //! eta distribution, Reco, matched with track, no outer param
77   TH2F * fhEtaPhiChargedNoOut  ; //! eta vs phi, Reco, matched with track, no outer param
78   TH1F * fhDeltaE  ; //! MC-Reco E distribution 
79   TH1F * fhDeltaPt ; //! MC-Reco pT distribution
80   TH1F * fhDeltaPhi; //! MC-Reco phi distribution
81   TH1F * fhDeltaEta; //! MC-Reco eta distribution
82   TH1F * fhRatioE  ; //! Reco/MC E distribution 
83   TH1F * fhRatioPt ; //! Reco/MC pT distribution
84   TH1F * fhRatioPhi; //! Reco/MC phi distribution
85   TH1F * fhRatioEta; //! Reco/MC eta distribution
86   TH2F * fh2E  ; //! E distribution, Reco vs MC
87   TH2F * fh2Pt ; //! pT distribution, Reco vs MC
88   TH2F * fh2Phi; //! phi distribution, Reco vs MC
89   TH2F * fh2Eta; //! eta distribution, Reco vs MC
90   TH2F * fhIM; //! cluster pairs invariant mass
91   TH2F * fhAsym; //! cluster pairs invariant mass       
92   TH2F * fhNCellsPerCluster; //! N cells per cluster    
93   TH1F * fhNClusters; //! Number of clusters
94         
95   //Calo Cells
96   TH1F * fhNCells; //! Number of towers/crystals with signal
97   TH1F * fhAmplitude; //! Amplitude measured in towers/crystals
98
99   //MC  
100   TH1F *fhGenGamPt  ; // pt of primary gamma
101   TH1F *fhGenGamEta ; // eta of primart gamma
102   TH1F *fhGenGamPhi ; // phi of primary gamma   
103   TH1F *fhGenPi0Pt  ; // pt of primary pi0
104   TH1F *fhGenPi0Eta ; // eta of primart pi0
105   TH1F *fhGenPi0Phi ; // phi of primary pi0     
106   TH1F *fhGenEtaPt  ; // pt of primary eta
107   TH1F *fhGenEtaEta ; // eta of primart eta
108   TH1F *fhGenEtaPhi ; // phi of primary eta
109   TH1F *fhGenOmegaPt  ; // pt of primary omega
110   TH1F *fhGenOmegaEta ; // eta of primart omega
111   TH1F *fhGenOmegaPhi ; // phi of primary omega
112   TH1F *fhGenElePt  ; // pt of primary electron
113   TH1F *fhGenEleEta ; // eta of primart electron
114   TH1F *fhGenElePhi ; // phi of primary electron
115         
116   //TH3F * fhEMVxyz    ; // Electromagnetic particle production vertex
117   TH2F * fhEMVxyz    ; // Electromagnetic particle production vertex
118   TH2F * fhEMR       ; // Electromagnetic distance to vertex vs rec energy  
119   //TH3F * fhHaVxyz    ; // Hadron production vertex
120   TH2F * fhHaVxyz    ; // Hadron production vertex
121   TH2F * fhHaR       ; // Hadron distance to vertex vs rec energy  
122
123   TH2F * fhGamE  ; //! E distribution of generated photons, Reco
124   TH2F * fhGamPt ; //! pT distribution of generated photons, Reco
125   TH2F * fhGamPhi; //! phi distribution of generated photon, Reco 
126   TH2F * fhGamEta; //! eta distribution of generated photons, Reco 
127   TH1F * fhGamDeltaE  ; //! MC-Reco E distribution of generated photons 
128   TH1F * fhGamDeltaPt ; //! MC-Reco pT distribution of generated photons
129   TH1F * fhGamDeltaPhi; //! MC-Reco phi distribution of generated photons
130   TH1F * fhGamDeltaEta; //! MC-Reco eta distribution of generated photons
131   TH1F * fhGamRatioE  ; //! Reco/MC E distribution of generated photons 
132   TH1F * fhGamRatioPt ; //! Reco/MC pT distribution of generated photons
133   TH1F * fhGamRatioPhi; //! Reco/MC phi distribution of generated photons
134   TH1F * fhGamRatioEta; //! Reco/MC eta distribution of generated photons
135   TH2F * fhEleE  ; //! E distribution of generated electrons, Reco
136   TH2F * fhElePt ; //! pT distribution of generated electrons, Reco
137   TH2F * fhElePhi; //! phi distribution of generated electron, Reco 
138   TH2F * fhEleEta; //! eta distribution of generated electrons, Reco            
139   TH2F * fhPi0E  ; //! E distribution of generated pi0, Reco, gamma decay overlapped
140   TH2F * fhPi0Pt ; //! pT distribution of generated pi0, Reco, gamma decay overlapped
141   TH2F * fhPi0Phi; //! phi distribution of generated pi0, Reco, gamma decay overlapped
142   TH2F * fhPi0Eta; //! eta distribution of generated pi0, Reco, gamma decay overlapped
143   TH2F * fhNeHadE  ; //! E distribution of generated neutral hadron, Reco
144   TH2F * fhNeHadPt ; //! pT distribution of generated neutral hadron, Reco
145   TH2F * fhNeHadPhi; //! phi distribution of generated neutral hadron, Reco 
146   TH2F * fhNeHadEta; //! eta distribution of generated neutral hadron, Reco     
147   TH2F * fhChHadE  ; //! E distribution of generated charged hadron, Reco
148   TH2F * fhChHadPt ; //! pT distribution of generated charged hadron, Reco
149   TH2F * fhChHadPhi; //! phi distribution of generated charged hadron, Reco 
150   TH2F * fhChHadEta; //! eta distribution of generated charged hadron, Reco 
151
152   TH2F * fhGamECharged  ; //! E distribution of generated photons, Reco, track matched cluster
153   TH2F * fhGamPtCharged ; //! pT distribution of generated photons, Reco, track matched cluster
154   TH2F * fhGamPhiCharged; //! phi distribution of generated photon, Reco, track matched cluster 
155   TH2F * fhGamEtaCharged; //! eta distribution of generated photons, Reco, track matched cluster 
156   TH2F * fhEleECharged  ; //! E distribution of generated electrons, Reco, track matched cluster
157   TH2F * fhElePtCharged ; //! pT distribution of generated electrons, Reco, track matched cluster
158   TH2F * fhElePhiCharged; //! phi distribution of generated electron, Reco, track matched cluster 
159   TH2F * fhEleEtaCharged; //! eta distribution of generated electrons, Reco, track matched cluster              
160   TH2F * fhPi0ECharged  ; //! E distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster
161   TH2F * fhPi0PtCharged ; //! pT distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster
162   TH2F * fhPi0PhiCharged; //! phi distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster
163   TH2F * fhPi0EtaCharged; //! eta distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster
164   TH2F * fhNeHadECharged  ; //! E distribution of generated neutral hadron, Reco, track matched cluster
165   TH2F * fhNeHadPtCharged ; //! pT distribution of generated neutral hadron, Reco, track matched cluster
166   TH2F * fhNeHadPhiCharged; //! phi distribution of generated neutral hadron, Reco , track matched cluster
167   TH2F * fhNeHadEtaCharged; //! eta distribution of generated neutral hadron, Reco, track matched cluster       
168   TH2F * fhChHadECharged  ; //! E distribution of generated charged hadron, Reco, track matched cluster
169   TH2F * fhChHadPtCharged ; //! pT distribution of generated charged hadron, Reco, track matched cluster
170   TH2F * fhChHadPhiCharged; //! phi distribution of generated charged hadron, Reco, track matched cluster 
171   TH2F * fhChHadEtaCharged; //! eta distribution of generated charged hadron, Reco, track matched cluster       
172         
173   TH1F *fhGenGamAccE   ; // E of primary gamma
174   TH1F *fhGenGamAccPt  ; // pt of primary gamma
175   TH1F *fhGenGamAccEta ; // eta of primart gamma
176   TH1F *fhGenGamAccPhi ; // phi of primary gamma        
177   TH1F *fhGenPi0AccE   ; // E of primary pi0
178   TH1F *fhGenPi0AccPt  ; // pt of primary pi0
179   TH1F *fhGenPi0AccEta ; // eta of primart pi0
180   TH1F *fhGenPi0AccPhi ; // phi of primary pi0          
181         
182   //Histograms for track-matching
183   TH1F *fh1pOverE;     //! p/E for track-cluster matches
184   TH1F *fh1dR;         //! distance between projected track and cluster
185   TH2F *fh2EledEdx;    //! dE/dx vs. momentum for electron candidates
186   TH2F *fh2MatchdEdx;  //! dE/dx vs. momentum for all matches
187         
188   TH1F *fhMCEle1pOverE;     //! p/E for track-cluster matches, MC electrons
189   TH1F *fhMCEle1dR;         //! distance between projected track and cluster, MC electrons
190   TH2F *fhMCEle2MatchdEdx;  //! dE/dx vs. momentum for all matches, MC electrons        
191         
192   TH1F *fhMCChHad1pOverE;     //! p/E for track-cluster matches, MC charged hadrons
193   TH1F *fhMCChHad1dR;         //! distance between projected track and cluster, MC charged hadrons
194   TH2F *fhMCChHad2MatchdEdx;  //! dE/dx vs. momentum for all matches, MC charged
195         
196   TH1F *fhMCNeutral1pOverE;     //! p/E for track-cluster matches, MC neutral
197   TH1F *fhMCNeutral1dR;         //! distance between projected track and cluster, MC neutral
198   TH2F *fhMCNeutral2MatchdEdx;  //! dE/dx vs. momentum for all matches, MC neutral      
199         
200   TH1F *fh1pOverER02;           //! p/E for track-cluster matches, dR > 0.2     
201   TH1F *fhMCEle1pOverER02;      //! p/E for track-cluster matches, dR > 0.2, MC electrons
202   TH1F *fhMCChHad1pOverER02;    //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons
203   TH1F *fhMCNeutral1pOverER02;  //! p/E for track-cluster matches, dR > 0.2, MC neutral
204         
205         ClassDef(AliAnaCalorimeterQA,1)
206 } ;
207
208
209 #endif //ALIANACALORIMETERQA_H
210
211
212