]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/totEt/AliAnalysisEt.h
11fd60d1595eda6fabbb48a52c6456aef9a6dae6
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEt.h
1 #ifndef ALIANALYSISET_H
2 #define ALIANALYSISET_H
3
4 #include "TString.h"
5 #include "TDatabasePDG.h"
6 #include "Rtypes.h"
7
8 class TH2F;
9 class TH1F;
10 class AliVEvent;
11 class TList;
12
13 class AliAnalysisEt
14 {
15 public:
16    
17     AliAnalysisEt();
18     virtual ~AliAnalysisEt();
19
20 private:
21   //Declare it private to avoid compilation warning
22   AliAnalysisEt & operator = (const AliAnalysisEt & g) ;//cpy assignment
23   AliAnalysisEt(const AliAnalysisEt & g) ; // cpy ctor
24   
25 public:
26   
27     /** Analyse the event! */
28     virtual Int_t AnalyseEvent(AliVEvent *event);
29
30     /** Fill the objects you want to output, classes which add new histograms should overload this. */
31     virtual void FillOutputList(TList* list);
32
33     /** Initialise the analysis, must be overloaded. */
34     virtual void Init();
35
36     /** 
37     * Creates the histograms, must be overloaded if you want to add your own. 
38     * Uses the fHistogramNameSuffix to create proper histogram names
39     */
40     virtual void CreateHistograms();
41     
42     /** Fills the histograms, must be overloaded if you want to add your own */
43     virtual void FillHistograms();
44
45     /** Reset event specific values (Et etc.) */
46     virtual void ResetEventValues();
47
48     /** Set Particle codes/mass */
49     virtual void SetParticleCodes();
50     
51     /** Sum of the total Et for all events */
52     Double_t GetSumEt() { return fSumEt; }
53
54     /** Sum of the total Et within our acceptance for all events */
55     Double_t GetSumEtAcc() { return fSumEtAcc; }
56
57     /** Total Et in the event (without acceptance cuts) */
58     Double_t GetTotEt() { return fTotEt; }
59
60     /** Total Et in the event within the acceptance cuts */
61     Double_t GetTotEtAcc() { return fTotEtAcc; }
62
63    /** Total neutral Et in the event (without acceptance cuts) */
64     Double_t GetTotNeutralEt() { return fTotNeutralEt; }
65
66     /** Total neutral Et in the event within the acceptance cuts */
67     Double_t GetTotNeutralEtAcc() { return fTotNeutralEtAcc; }
68     
69     /** Total charged Et in the event (without acceptance cuts) */
70     Double_t GetTotChargedEt() { return fTotChargedEt; }
71
72     /** Total charged Et in the event within the acceptance cuts */
73     Double_t GetTotChargedEtAcc() { return fTotChargedEtAcc; }
74
75
76 protected:
77    
78     /** The suffix for the histogram names */
79     TString fHistogramNameSuffix;
80
81     /** PDG Database */
82     TDatabasePDG *fPdgDB;
83
84     Int_t fPiPlusCode;
85     Int_t fPiMinusCode;
86     Int_t fKPlusCode;
87     Int_t fKMinusCode;
88     Int_t fProtonCode;
89     Int_t fAntiProtonCode;
90     Int_t fLambdaCode;
91     Int_t fAntiLambdaCode;
92     Int_t fK0SCode;
93     Int_t fOmegaCode;
94     Int_t fAntiOmegaCode;
95     Int_t fXi0Code;
96     Int_t fAntiXi0Code;
97     Int_t fXiCode;
98     Int_t fAntiXiCode;
99     Int_t fSigmaCode;
100     Int_t fAntiSigmaCode;
101     Int_t fK0LCode;
102     Int_t fNeutronCode;
103     Int_t fAntiNeutronCode;
104     Int_t fEPlusCode;
105     Int_t fEMinusCode;
106     Float_t fPionMass;
107
108     /** Sum of the total Et for all events */
109     Double_t fSumEt;
110
111     /** Sum of the total Et within our acceptance for all events */
112     Double_t fSumEtAcc;
113
114     /** Total Et in the event (without acceptance cuts) */
115     Double_t fTotEt;
116
117     /** Total Et in the event within the acceptance cuts */
118     Double_t fTotEtAcc;
119
120     /** Total neutral Et in the event */
121     Double_t fTotNeutralEt;
122
123     /** Total neutral Et in the event within the acceptance cuts */
124     Double_t fTotNeutralEtAcc;
125
126     /** Total charged Et in the event */
127     Double_t fTotChargedEt;
128
129     /** Total charged Et in the event within the acceptance cuts */
130     Double_t fTotChargedEtAcc;
131
132     /** Multiplicity of particles in the event */
133     Int_t fMultiplicity;
134     
135     /** Multiplicity of charged particles in the event */
136     Int_t fChargedMultiplicity;
137     
138     /** Multiplicity of neutral particles in the event */
139     Int_t fNeutralMultiplicity; 
140     
141     /** Cut in eta ( normally |eta| < 0.5 */
142     Double_t fEtaCut;
143
144     /** Eta cut for our acceptance */
145     Double_t fEtaCutAcc;
146
147     /** Min phi cut for our acceptance in radians */
148     Double_t fPhiCutAccMin;
149
150     /** Max phi cut for our acceptance in radians */
151     Double_t fPhiCutAccMax;
152
153     /** Detector radius */
154     Double_t fDetectorRadius;
155
156     /** Vertex cuts */
157     Double_t fVertexXCut;
158     Double_t fVertexYCut;
159     Double_t fVertexZCut;
160
161     /** Impact parameter cuts */
162     Double_t fIPxyCut;
163     Double_t fIPzCut;
164
165     /** Cut on the cluster energy */
166     Double_t fClusterEnergyCut;
167
168     /** Cut on track pt */
169     Double_t fTrackPtCut;
170
171     /** Minimum energy to cut on single cell cluster */
172     Double_t fSingleCellEnergyCut;
173     
174     // Declare the histograms
175
176     /** The full Et spectrum measured */
177     TH1F *fHistEt; //Et spectrum
178
179     /** The full charged Et spectrum measured */
180     TH1F *fHistChargedEt; //Charged Et spectrum
181
182     /** The full neutral Et spectrum measured */
183     TH1F *fHistNeutralEt; //Neutral Et spectrum
184
185     /** The Et spectrum within the calorimeter acceptance */
186     TH1F *fHistEtAcc; //Et in acceptance
187
188     /** The charged Et spectrum within the calorimeter acceptance */
189     TH1F *fHistChargedEtAcc; //Charged Et in acceptance
190
191     /** The neutral Et spectrum within the calorimeter acceptance */
192     TH1F *fHistNeutralEtAcc; //Et in acceptance
193
194     /** Multiplicity of particles in the events */
195     TH1F *fHistMult; //Multiplicity
196
197     /** Charged multiplicity of particles in the events */
198     TH1F *fHistChargedMult; //Charged multiplicity
199
200     /** Neutral multiplicity of particles in the events */
201     TH1F *fHistNeutralMult; //Neutral multiplicity
202
203     /* Acceptance plots */
204     TH2F *fHistPhivsPtPos; //phi vs pT plot for positive tracks
205     TH2F *fHistPhivsPtNeg; //phi vs pT plot for negative tracks
206
207     /* PID plots */
208     TH1F *fHistBaryonEt;
209     TH1F *fHistAntiBaryonEt;
210     TH1F *fHistMesonEt;
211
212     TH1F *fHistBaryonEtAcc;
213     TH1F *fHistAntiBaryonEtAcc;
214     TH1F *fHistMesonEtAcc;
215
216     /* Correction plots */
217     TH2F *fHistEtRecvsEtMC; //Reconstructed Et versus MC Et
218
219     /* Track matching plots */
220     TH1F *fHistTMDeltaR;
221
222     ClassDef(AliAnalysisEt, 0);
223 };
224
225 #endif // ALIANALYSISET_H