]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/Kinks/AliAnalysisPionKinksESD.h
kinks, Rad-YK minnor changes
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Kinks / AliAnalysisPionKinksESD.h
1 #ifndef AliAnalysisPionKinksESD_h
2 #define AliAnalysisPionKinksESD_h
3
4
5 class AliESDEvent;
6 class TF1;
7 class TH1;
8 class TH2;
9 class TH3;
10 class TParticle;
11 class TParticle;
12 class AliESDtrackCuts;
13 class AliPhysicsSelection;
14 class AliPIDResponse;
15
16 #include "AliAnalysisTaskSE.h"
17
18 class AliAnalysisPionKinksESD : public AliAnalysisTaskSE {
19         public:
20                 AliAnalysisPionKinksESD(const char *name = "AliAnalysisPionKinksESD");
21                 virtual ~AliAnalysisPionKinksESD() {}
22   
23                 virtual void   UserCreateOutputObjects();
24                 virtual void   UserExec(Option_t *option);
25                 virtual void   Terminate(Option_t *);
26
27                 const AliESDVertex *GetEventVertex(AliESDEvent* esd);
28                 Double_t Energy(AliESDtrack* track) const;
29                 Double_t fuRapidity(AliESDtrack* track) const;
30                 Bool_t IsGoodTrack(AliESDtrack* ESDTrack) const;
31                 Bool_t IsPrimaryTrack(AliESDtrack* ESDTrack) const;
32
33                 // Set limits & cuts
34                 void SetMulCut(Int_t low, Int_t up){fLowMulcut=low; fUpMulcut=up;}        
35                 void SetPtCut(Double_t PtCut){cLowPt=PtCut;}
36                 void SetRapidityLimits(Double_t RapidityLim){cRapidityLim=RapidityLim;}
37                 void SetRadiusRange(Double_t LowR, Double_t UpR){cLowR=LowR; cUpR=UpR;}
38                 void SetZRange(Double_t LowZ, Double_t UpZ){cLowZ=LowZ; cUpZ=UpZ;}              
39                 void SetKinkAngleCut(Double_t LowAngle){cLowKinkAngle=LowAngle;}
40                 void SetQtRange(Double_t LowQt, Double_t UpQt){cLowQt=LowQt; cUpQt=UpQt;}
41                 void SetInvMassRange(Double_t LowInvMass, Double_t UpInvMass){cLowInvMass=LowInvMass; cUpInvMass=UpInvMass;}
42                 void SetSigmaCut(Double_t SigmaCut){cSigmaCut=SigmaCut;}
43                 void SetPdgCodes(Int_t kaon, Int_t pion, Int_t muon, Int_t electron){cPdgKaon=kaon; cPdgPion=pion; cPdgMuon=muon; cPdgElectron=electron;}
44                 void SetMasses(Double_t KaonMass, Double_t PionMass, Double_t MuonMass, Double_t ElectronMass){cKaonMass=KaonMass; cPionMass=PionMass; cMuonMass=MuonMass; cElectronMass=ElectronMass;}
45
46                 // Set histos limits
47                 void SetMultHistos(Int_t BinsMult, Int_t LowMult, Int_t UpMult){nBinsMult=BinsMult; hLowPt=LowMult; hUpMult=UpMult;}
48                 void SetPtHistos(Int_t BinsPt, Double_t LowPt, Double_t UpPt){nBinsPt=BinsPt; hLowPt=LowPt; hUpPt=UpPt;}   
49                 void SetEtaHistos(Int_t BinsEta, Double_t LowEta, Double_t UpEta){nBinsEta=BinsEta; hLowEta=LowEta; hUpEta=UpEta;}
50                 void SetQtHistos(Int_t BinsQt, Double_t LowQt, Double_t UpQt){nBinsQt=BinsQt; hLowQt=LowQt; hUpQt=UpQt;}
51                 void SetRHistos(Int_t BinsR, Double_t LowR, Double_t UpR){nBinsR=BinsR; hLowR=LowR; hUpR=UpR;}
52                 void SetZHistos(Int_t BinsZ, Double_t LowZ, Double_t UpZ){nBinsZ=BinsZ; hLowZ=LowZ; hUpZ=UpZ;}
53                 void SetXYHistos(Int_t BinsXY, Double_t LowXY, Double_t UpXY){nBinsXY=BinsXY; hLowXY=LowXY; hUpXY=UpXY;}
54                 void SetAngleHistos(Int_t BinsAngle, Double_t LowAngle, Double_t UpAngle){nBinsAngle=BinsAngle; hLowAngle=LowAngle; hUpAngle=UpAngle;}
55                 void SetZVHistos(Int_t BinsZV, Double_t LowZV, Double_t UpZV){nBinsZV=BinsZV; hLowZV=LowZV; hUpZV=UpZV;}
56                 void SetXYVHistos(Int_t BinsXYV, Double_t LowXYV, Double_t UpXYV){nBinsXYV=BinsXYV; hLowXYV=LowXYV; hUpXYV=UpXYV;}
57                 void SetInvMassHistos(Int_t BinsInvMass, Double_t LowInvMass, Double_t UpInvMass){nBinsInvMass=BinsInvMass; hLowInvMass=LowInvMass; hUpInvMass=UpInvMass;}
58                 void SetdEdxHistos(Int_t BinsdEdx, Double_t LowdEdx, Double_t UpdEdx){nBinsdEdx=BinsdEdx; hLowdEdx=LowdEdx; hUpdEdx=UpdEdx;}
59         private:
60                 TF1* fMaxKinkAngKmu; 
61                 TF1* fMaxKinkAngPimu;
62
63
64                 TH1F* hMult;
65                 TH1F* hAcceptedMult;
66                 TH1F* hMultPS;
67                 TH3F* hvtx;
68                 TH2F* hvtxy;
69                 TH2F* hvtyz;
70                 TH2F* hvtxz;
71                 TH1F* hMultPSV;
72                 TH1F* hPtAll;
73                 TH1F* hEtaAll;
74                 TH3F* hTrackPos;
75                 TH2F* hTrackPosxy;
76                 TH2F* hTrackPosyz;
77                 TH2F* hTrackPosxz;
78                 //TH1F* hTPCchi2clusters;
79                 //TH1F* hdcaToVertexXY;
80                 //TH1F* hdcaToVertexZ;
81                 TH1F* hMultPrim;
82                 TH1F* hPtPrim;
83                 TH1F* hEtaPrim;
84                 TH3F* hPrimTrackPos;
85                 TH2F* hPrimTrackPosxy;
86                 TH2F* hPrimTrackPosyz;
87                 TH2F* hPrimTrackPosxz;
88                 TH1F* hPt;
89                 TH1F* hEta;
90                 //TH1F* hRapidity;
91                 TH1F* hPtKink;
92                 TH1F* hEtaKink;
93                 TH1F* hRapidityKink;
94                 TH2F* hPmP;
95                 TH1F* hKinkPosRTPCclusters1;
96                 TH2F* hKinkPosRTPCclusters2;
97                 TH1F* hQt;
98                 TH1F* hKinkAngle;
99                 TH1F* hDCAkink;
100                 TH2F* hPmKinkAng;
101                 TH2F* hKinkPosXY;
102                 TH2F* hKinkPosZY;
103                 TH2F* hKinkPosZR;
104                 TH1F* hKinkPosR;
105                 TH1F* hKinkPosZ;
106                 TH2F* hPmd;
107                 TH1F* hMinvPimu;
108                 TH2F* hdEdx;
109                 TH1F* hPtPosRSelected;
110                 TH1F* hPtZSelected;
111                 TH1F* hPtAngSelected;
112                 TH1F* hPtPmSelected;
113                 TH1F* hPtGoodKink; 
114                 TH1F* hEtaGoodKink; 
115                 TH1F* hRapidityGoodKink; 
116                 TH1F* hQtGoodKink; 
117                 TH2F* hPmGoodKinkAng;  
118                 TH2F* hPmdGoodKink;
119                 TH2F* hdEdxGoodKink;
120                 TH1F* hPtQtSelected;
121                 TH1F* hPtMaxAngSelected;
122                 TH1F* hPtRTPCclustersSelected;
123                 TH2F* hRTPCclustersRTPCclustersSelected;
124                 TH1F* hPtSelected; 
125                 TH1F* hEtaSelected; 
126                 TH1F* hRapiditySelected; 
127                 TH1F* hQtSelected; 
128                 TH1F* hKinkAngleSelected;
129                 TH1F* hDCAkinkSelected;
130                 TH2F* hPmKinkAngSelected; 
131                 TH2F* hKinkPosXYSelected; 
132                 TH2F* hKinkPosZRSelected; 
133                 TH1F* hKinkPosRSelected; 
134                 TH2F* hPmdSelected;
135                 TH1F* hMinvPimuSelected;  
136                 TH2F* hdEdxSelected; 
137                 TH1F* hPtPiSelected; 
138                 TH1F* hEtaPiSelected; 
139                 TH1F* hRapidityPiSelected; 
140                 TH1F* hQtPiSelected; 
141                 TH1F* hKinkAnglePiSelected;
142                 TH1F* hDCAkinkPiSelected;
143                 TH2F* hPmKinkAngPiSelected; 
144                 TH1F* hKinkPosRTPCclusters1PiSelected;
145                 TH2F* hKinkPosRTPCclusters2PiSelected;
146                 TH2F* hKinkPosXYPiSelected; 
147                 TH2F* hKinkPosZRPiSelected; 
148                 TH1F* hKinkPosRPiSelected; 
149                 TH1F* hKinkPosZPiSelected; 
150                 TH2F* hPmPPiSelected; 
151                 TH2F* hPmdPiSelected;
152                 TH1F* hMinvPimuPiSelected;  
153                 TH2F* hdEdxPiSelected;
154
155                 TH1F* hPtPiSelectedPlus; //plus
156                 TH1F* hEtaPiSelectedPlus; 
157                 TH1F* hRapidityPiSelectedPlus; 
158                 TH1F* hQtPiSelectedPlus; 
159                 TH1F* hKinkAnglePiSelectedPlus;
160                 TH1F* hDCAkinkPiSelectedPlus;
161                 TH2F* hPmKinkAngPiSelectedPlus; 
162                 TH2F* hKinkPosXYPiSelectedPlus; 
163                 TH2F* hKinkPosZRPiSelectedPlus;  
164                 TH2F* hPmdPiSelectedPlus;
165                 TH1F* hMinvPimuPiSelectedPlus;  
166                 TH2F* hdEdxPiSelectedPlus;
167                 TH1F* hPtPiSelectedMinus;//minus
168                 TH1F* hEtaPiSelectedMinus; 
169                 TH1F* hRapidityPiSelectedMinus; 
170                 TH1F* hQtPiSelectedMinus; 
171                 TH1F* hKinkAnglePiSelectedMinus;
172                 TH1F* hDCAkinkPiSelectedMinus;
173                 TH2F* hPmKinkAngPiSelectedMinus; 
174                 TH2F* hKinkPosXYPiSelectedMinus; 
175                 TH2F* hKinkPosZRPiSelectedMinus;  
176                 TH2F* hPmdPiSelectedMinus;
177                 TH1F* hMinvPimuPiSelectedMinus;  
178                 TH2F* hdEdxPiSelectedMinus; // reconstruction histograms
179                 
180                 TList* fListOfHistos;
181
182                 // Limits and cuts
183                 Int_t fLowMulcut;
184                 Int_t fUpMulcut;
185                 
186                 Double_t cLowPt;
187                 Double_t cRapidityLim;
188                 Double_t cLowR, cUpR;
189                 Double_t cLowZ, cUpZ;
190                 Double_t cLowKinkAngle;
191                 Double_t cLowQt, cUpQt;
192                 Double_t cLowInvMass, cUpInvMass;
193                 Double_t cSigmaCut;
194                 Int_t cPdgKaon, cPdgPion, cPdgMuon, cPdgElectron;
195                 Double_t cKaonMass, cPionMass, cMuonMass, cElectronMass;
196
197                 // Histos limits
198                 Int_t nBinsMult, hLowMult, hUpMult;
199                 Int_t nBinsPt;
200                 Double_t hLowPt, hUpPt;
201                 Int_t nBinsEta;
202                 Double_t hLowEta, hUpEta;
203                 Int_t nBinsQt;
204                 Double_t hLowQt, hUpQt;
205                 Int_t nBinsR;
206                 Double_t hLowR, hUpR;
207                 Int_t nBinsZ;
208                 Double_t hLowZ, hUpZ;
209                 Int_t nBinsXY;
210                 Double_t hLowXY, hUpXY;
211                 Int_t nBinsAngle;
212                 Double_t hLowAngle, hUpAngle;
213                 Int_t nBinsZV;
214                 Double_t hLowZV, hUpZV;
215                 Int_t nBinsXYV;
216                 Double_t hLowXYV, hUpXYV;
217                 Int_t nBinsInvMass;
218                 Double_t hLowInvMass, hUpInvMass;
219                 Int_t nBinsdEdx;
220                 Double_t hLowdEdx, hUpdEdx;
221
222                 AliPIDResponse *fPIDResponse;     //! PID response object
223                 AliESDtrackCuts* fMaxDCAtoVtxCut;
224                 AliESDtrackCuts* fTrackCuts;
225
226                 
227                 AliAnalysisPionKinksESD(const AliAnalysisPionKinksESD&); 
228                 AliAnalysisPionKinksESD& operator=(const AliAnalysisPionKinksESD&);
229   
230         ClassDef(AliAnalysisPionKinksESD, 1); 
231 };
232 #endif  
233
234