]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIANALYSISTASKELECHADRONCORREL_H | |
2 | #define ALIANALYSISTASKELECHADRONCORREL_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //////////////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // Task for Heavy Flavour Electron-Hadron DeltaPhi Correlation // | |
10 | // // | |
11 | // Author: Deepa Thomas (Utrecht University) // | |
12 | // // | |
13 | //////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | class THnSparse; | |
16 | class TH2F; | |
17 | class TLorentzVector; | |
18 | ||
19 | class AliEMCALTrack; | |
20 | class AliMagF; | |
21 | class AliESDEvent; | |
22 | class AliAODEvent; | |
23 | class AliEMCALGeometry; | |
24 | class AliEMCALRecoUtils; | |
25 | class AliAnalysisFilter; | |
26 | class AliESDtrackCuts; | |
27 | class AliESDtrack; | |
28 | class AliAODTrack; | |
29 | class AliHFEcontainer; | |
30 | class AliHFEcuts; | |
31 | class AliHFEpid; | |
32 | class AliHFEpidQAmanager; | |
33 | class AliCFManager; | |
34 | class AliEventPoolManager; | |
35 | ||
36 | #include "AliLog.h" | |
37 | #include "AliAnalysisTaskSE.h" | |
38 | #include "AliCentrality.h" | |
39 | ||
40 | class AliAnalysisTaskElecHadronCorrel : public AliAnalysisTaskSE { | |
41 | public: | |
42 | AliAnalysisTaskElecHadronCorrel(); | |
43 | AliAnalysisTaskElecHadronCorrel(const char *name); | |
44 | virtual ~AliAnalysisTaskElecHadronCorrel(); | |
45 | ||
46 | virtual void UserCreateOutputObjects(); | |
47 | virtual void UserExec(Option_t *option); | |
48 | virtual void Terminate(Option_t *); | |
49 | ||
50 | Bool_t IsAODanalysis() const { return TestBit(kAODanalysis); }; | |
51 | Bool_t IsESDanalysis() const { return !TestBit(kAODanalysis); }; | |
52 | ||
53 | void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; }; | |
54 | void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;}; | |
55 | AliHFEpid *GetPID() const { return fPID; } | |
56 | void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; }; | |
57 | void SelectPhotonicElectron(Int_t itrack, AliVTrack *track, Bool_t &fFlagPhotonicElec); | |
58 | void ElectronHadCorrel(Int_t itrack, AliVTrack *track, TH2F *DphiPt, TH2F *DphiPt1,TH2F *DphiPt2,TH2F *DphiPt3,TH2F *DphiPt4); | |
59 | void ElectronHadCorrelEtaFarSide(Int_t itrack, AliVTrack *track, TH2F *DphiPt, TH2F *DphiPt1,TH2F *DphiPt2,TH2F *DphiPt3,TH2F *DphiPt4); | |
60 | void ElectronHadCorrelEtaBins(Int_t itrack, AliVTrack *track, TH2F *DphiPtEta1, TH2F *DphiPtEta11,TH2F *DphiPtEta12,TH2F *DphiPtEta13,TH2F *DphiPtEta14,TH2F *DphiPtEta2, TH2F *DphiPtEta21,TH2F *DphiPtEta22,TH2F *DphiPtEta23,TH2F *DphiPtEta24); | |
61 | // void ElectronHadCorrelEtaBins(Int_t itrack, AliVTrack *track, TH3F *DphiPtEta1, TH3F *DphiPtEta11,TH3F *DphiPtEta12,TH3F *DphiPtEta13,TH3F *DphiPtEta14); | |
62 | void ElectronHadCorrelNoPartner(Int_t itrack,Int_t jtrack, AliVTrack *track, TH2F *DphiPtNew,TH2F *DphiPtNew1,TH2F *DphiPtNew2,TH2F *DphiPtNew3,TH2F *DphiPtNew4); | |
63 | void ElectronHadCorrelEtaBinsNoPartner(Int_t itrack,Int_t jtrack, AliVTrack *track, TH2F *DphiPtEta1, TH2F *DphiPtEta11,TH2F *DphiPtEta12,TH2F *DphiPtEta13,TH2F *DphiPtEta14,TH2F *DphiPtEta2, TH2F *DphiPtEta21,TH2F *DphiPtEta22,TH2F *DphiPtEta23,TH2F *DphiPtEta24); | |
64 | // void ElectronHadCorrelEtaBinsNoPartner(Int_t itrack,Int_t jtrack, AliVTrack *track, TH3F *DphiPtEta1, TH3F *DphiPtEta11,TH3F *DphiPtEta12,TH3F *DphiPtEta13,TH3F *DphiPtEta14); | |
65 | void HadronInfo(Int_t itrack); | |
66 | void SetTriggerSelection(Bool_t TriggerCentral) {fTriggerCentral = TriggerCentral;}; | |
67 | void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod); //select centrality | |
68 | void CheckCentrality(AliVEvent *event,Bool_t ¢ralitypass); //to use only events with the correct centrality.... | |
69 | ||
70 | void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); }; | |
71 | void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); }; | |
72 | ||
73 | void SetTPCnsigmaCutsElecSelection(Double_t nsigMin, Double_t nsigMax) {fTPCnsigEleMin=nsigMin; fTPCnsigEleMax=nsigMax;}; | |
74 | void SetTPCnsigmaCutsHadSelection(Double_t nsigMin, Double_t nsigMax) {fTPCnsigHadMin=nsigMin; fTPCnsigHadMax=nsigMax;}; | |
75 | void SetShowerShapeCutsM02(Double_t M02CutMin, Double_t M02CutMax){fM02CutMin=M02CutMin; fM02CutMax=M02CutMax;}; | |
76 | void SetShowerShapeCutsM20(Double_t M20CutMin, Double_t M20CutMax){fM20CutMin=M20CutMin; fM20CutMax=M20CutMax;}; | |
77 | void SetShowerShapeCutsDisp(Double_t DispCutMin, Double_t DispCutMax){fDispCutMin=DispCutMin; fDispCutMax=DispCutMax;}; | |
78 | void SetEovPCuts(Double_t EovPMin, Double_t EovPMax){fEovPMin=EovPMin;fEovPMax=EovPMax;}; | |
79 | void MixedEvent(AliVTrack *track, TH2F *DphiPt, TH2F *DphiPt1, TH2F *DphiPt2, TH2F *DphiPt3, TH2F *DphiPt4); | |
80 | TObjArray* CloneAndReduceTrackList(); | |
81 | ||
82 | private: | |
83 | ||
84 | enum{ | |
85 | kAODanalysis = BIT(20), | |
86 | }; | |
87 | ||
88 | Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track); | |
89 | ||
90 | AliVEvent *fVevent; //V event object | |
91 | AliESDEvent *fESD; //ESD object | |
92 | AliAODEvent *fAOD; //AOD object | |
93 | AliEMCALGeometry *fGeom; // emcal geometry | |
94 | ||
95 | TList *fOutputList; //output list | |
96 | ||
97 | AliESDtrackCuts *fTrackCuts1; //ESD track cuts | |
98 | AliESDtrackCuts *fTrackCuts2; //ESD track cuts | |
99 | AliHFEcuts *fCuts; //Cut Collection | |
100 | Bool_t fIdentifiedAsOutInz; //Out Of Range in z | |
101 | Bool_t fPassTheEventCut; //Pass The Event Cut | |
102 | Bool_t fRejectKinkMother; //Reject Kink Mother | |
103 | Double_t fVz; //z position of the primary vertex | |
104 | AliCFManager *fCFM; //!Correction Framework Manager | |
105 | AliHFEpid *fPID; //PID | |
106 | AliHFEpidQAmanager *fPIDqa; //! PID QA manager | |
107 | Double_t fInvmassCut; //invariant mass cut value | |
108 | Double_t fCentrality; // event centrality for QA | |
109 | Double_t fCentralityMin; // lower bound of cenrality bin | |
110 | Double_t fCentralityMax; // upper bound of centrality bin | |
111 | const char *fkCentralityMethod; // method used to determine centrality (V0 by default) | |
112 | Double_t fTPCnsigEleMin;// | |
113 | Double_t fTPCnsigEleMax;// | |
114 | Double_t fTPCnsigHadMin;// | |
115 | Double_t fTPCnsigHadMax;// | |
116 | Double_t fM02CutMin;// | |
117 | Double_t fM02CutMax;// | |
118 | Double_t fM20CutMin;// | |
119 | Double_t fM20CutMax;// | |
120 | Double_t fDispCutMin;// | |
121 | Double_t fDispCutMax;// | |
122 | Double_t fEovPMin;// | |
123 | Double_t fEovPMax;// | |
124 | Bool_t fTriggerCentral;// | |
125 | ||
126 | AliEventPoolManager* fPoolMgr; //! event pool manager | |
127 | ||
128 | TH1F *fNoEvents; //no of events | |
129 | // TH1F *fTrkpt; //track pt | |
130 | TH2F *fTrkEovPAft; //track E/p after HFE pid | |
131 | // TH2F *fTrkEovPBefHad; //track E/p before HFE pid | |
132 | // TH2F *fdEdxBef; //track dEdx vs p before HFE pid | |
133 | TH2F *fSemiIncElecDphi; //Semi Inclusive elec - had DPhi | |
134 | TH2F *fSemiIncElecDphi1; //Semi Inclusive elec - had DPhi | |
135 | TH2F *fSemiIncElecDphi2; //Semi Inclusive elec - had DPhi | |
136 | TH2F *fSemiIncElecDphi3; //Semi Inclusive elec - had DPhi | |
137 | TH2F *fSemiIncElecDphi4; //Semi Inclusive elec - had DPhi | |
138 | TH2F *fPhotElecDphi; //Photon elec - had DPhi | |
139 | TH2F *fPhotElecDphi1; //Photon elec - had DPhi | |
140 | TH2F *fPhotElecDphi2; //Photon elec - had DPhi | |
141 | TH2F *fPhotElecDphi3; //Photon elec - had DPhi | |
142 | TH2F *fPhotElecDphi4; //Photon elec - had DPhi | |
143 | TH2F *fInclusiveElecDphi; //Inclusive elec - had DPhi | |
144 | TH2F *fInclusiveElecDphi1; //Inclusive elec - had DPhi | |
145 | TH2F *fInclusiveElecDphi2; //Inclusive elec - had DPhi | |
146 | TH2F *fInclusiveElecDphi3; //Inclusive elec - had DPhi | |
147 | TH2F *fInclusiveElecDphi4; //Inclusive elec - had DPhi | |
148 | TH2F *fInclusiveElecDphiEtaFS; //Inclusive elec EtaFS- had DPhi | |
149 | TH2F *fInclusiveElecDphiEtaFS1; //Inclusive elec EtaFS- had DPhi | |
150 | TH2F *fInclusiveElecDphiEtaFS2; //Inclusive elec EtaFS- had DPhi | |
151 | TH2F *fInclusiveElecDphiEtaFS3; //Inclusive elec EtaFS- had DPhi | |
152 | TH2F *fInclusiveElecDphiEtaFS4; //Inclusive elec EtaFS- had DPhi | |
153 | TH2F *fDphiULSMassLow; //Dphi - ULS, mass< mass cut | |
154 | TH2F *fDphiULSMassLow1; //Dphi - ULS, mass< mass cut | |
155 | TH2F *fDphiULSMassLow2; //Dphi - ULS, mass< mass cut | |
156 | TH2F *fDphiULSMassLow3; //Dphi - ULS, mass< mass cut | |
157 | TH2F *fDphiULSMassLow4; //Dphi - ULS, mass< mass cut | |
158 | TH2F *fDphiLSMassLow; //Dphi - LS, mass< mass cut | |
159 | TH2F *fDphiLSMassLow1; //Dphi - LS, mass< mass cut | |
160 | TH2F *fDphiLSMassLow2; //Dphi - LS, mass< mass cut | |
161 | TH2F *fDphiLSMassLow3; //Dphi - LS, mass< mass cut | |
162 | TH2F *fDphiLSMassLow4; //Dphi - LS, mass< mass cut | |
163 | TH2F *fDphiULSMassLowNoPartner; //Dphi - ULS, mass< mass cut no partner | |
164 | TH2F *fDphiULSMassLowNoPartner1; //Dphi - ULS, mass< mass cut no partner | |
165 | TH2F *fDphiULSMassLowNoPartner2; //Dphi - ULS, mass< mass cut no partner | |
166 | TH2F *fDphiULSMassLowNoPartner3; //Dphi - ULS, mass< mass cut no partner | |
167 | TH2F *fDphiULSMassLowNoPartner4; //Dphi - ULS, mass< mass cut no partner | |
168 | TH2F *fDphiLSMassLowNoPartner; //Dphi - LS, mass< mass cut | |
169 | TH2F *fDphiLSMassLowNoPartner1; //Dphi - LS, mass< mass cut | |
170 | TH2F *fDphiLSMassLowNoPartner2; //Dphi - LS, mass< mass cut | |
171 | TH2F *fDphiLSMassLowNoPartner3; //Dphi - LS, mass< mass cut | |
172 | TH2F *fDphiLSMassLowNoPartner4; //Dphi - LS, mass< mass cut | |
173 | TH1F *fPhotoElecPt; //photonic elec pt | |
174 | TH1F *fSemiInclElecPt; //Semi inclusive ele pt | |
175 | TH1F *fInclusiveElecPt; // Inclusive elec pt | |
176 | TH1F *fULSElecPt; //ULS elec Pt | |
177 | TH1F *fLSElecPt;// LS elec pt | |
178 | //Eta bins (Deta < 0.8) | |
179 | TH2F *fSemiIncElecDphiEta1; //Semi Inclusive elec - had DPhi | |
180 | TH2F *fSemiIncElecDphiEta11; //Semi Inclusive elec - had DPhi | |
181 | TH2F *fSemiIncElecDphiEta12; //Semi Inclusive elec - had DPhi | |
182 | TH2F *fSemiIncElecDphiEta13; //Semi Inclusive elec - had DPhi | |
183 | TH2F *fSemiIncElecDphiEta14; //Semi Inclusive elec - had DPhi | |
184 | TH2F *fPhotElecDphiEta1; //Photon elec - had DPhi | |
185 | TH2F *fPhotElecDphiEta11; //Photon elec - had DPhi | |
186 | TH2F *fPhotElecDphiEta12; //Photon elec - had DPhi | |
187 | TH2F *fPhotElecDphiEta13; //Photon elec - had DPhi | |
188 | TH2F *fPhotElecDphiEta14; //Photon elec - had DPhi | |
189 | TH2F *fInclusiveElecDphiEta1; //Inclusive elec - had DPhi | |
190 | TH2F *fInclusiveElecDphiEta11; //Inclusive elec - had DPhi | |
191 | TH2F *fInclusiveElecDphiEta12; //Inclusive elec - had DPhi | |
192 | TH2F *fInclusiveElecDphiEta13; //Inclusive elec - had DPhi | |
193 | TH2F *fInclusiveElecDphiEta14; //Inclusive elec - had DPhi | |
194 | TH2F *fDphiULSMassLowEta1; //Dphi - ULS, mass< mass cut | |
195 | TH2F *fDphiULSMassLowEta11; //Dphi - ULS, mass< mass cut | |
196 | TH2F *fDphiULSMassLowEta12; //Dphi - ULS, mass< mass cut | |
197 | TH2F *fDphiULSMassLowEta13; //Dphi - ULS, mass< mass cut | |
198 | TH2F *fDphiULSMassLowEta14; //Dphi - ULS, mass< mass cut | |
199 | TH2F *fDphiLSMassLowEta1; //Dphi - LS, mass< mass cut | |
200 | TH2F *fDphiLSMassLowEta11; //Dphi - LS, mass< mass cut | |
201 | TH2F *fDphiLSMassLowEta12; //Dphi - LS, mass< mass cut | |
202 | TH2F *fDphiLSMassLowEta13; //Dphi - LS, mass< mass cut | |
203 | TH2F *fDphiLSMassLowEta14; //Dphi - LS, mass< mass cut | |
204 | TH2F *fDphiULSMassLowNoPartnerEta1; //Dphi - ULS, mass< mass cut no partner | |
205 | TH2F *fDphiULSMassLowNoPartnerEta11; //Dphi - ULS, mass< mass cut no partner | |
206 | TH2F *fDphiULSMassLowNoPartnerEta12; //Dphi - ULS, mass< mass cut no partner | |
207 | TH2F *fDphiULSMassLowNoPartnerEta13; //Dphi - ULS, mass< mass cut no partner | |
208 | TH2F *fDphiULSMassLowNoPartnerEta14; //Dphi - ULS, mass< mass cut no partner | |
209 | TH2F *fDphiLSMassLowNoPartnerEta1; //Dphi - LS, mass< mass cut | |
210 | TH2F *fDphiLSMassLowNoPartnerEta11; //Dphi - LS, mass< mass cut | |
211 | TH2F *fDphiLSMassLowNoPartnerEta12; //Dphi - LS, mass< mass cut | |
212 | TH2F *fDphiLSMassLowNoPartnerEta13; //Dphi - LS, mass< mass cut | |
213 | TH2F *fDphiLSMassLowNoPartnerEta14; //Dphi - LS, mass< mass cut | |
214 | ||
215 | //Eta bins (Deta > 0.8) | |
216 | TH2F *fSemiIncElecDphiEta2; //Semi Inclusive elec - had DPhi | |
217 | TH2F *fSemiIncElecDphiEta21; //Semi Inclusive elec - had DPhi | |
218 | TH2F *fSemiIncElecDphiEta22; //Semi Inclusive elec - had DPhi | |
219 | TH2F *fSemiIncElecDphiEta23; //Semi Inclusive elec - had DPhi | |
220 | TH2F *fSemiIncElecDphiEta24; //Semi Inclusive elec - had DPhi | |
221 | TH2F *fPhotElecDphiEta2; //Photon elec - had DPhi | |
222 | TH2F *fPhotElecDphiEta21; //Photon elec - had DPhi | |
223 | TH2F *fPhotElecDphiEta22; //Photon elec - had DPhi | |
224 | TH2F *fPhotElecDphiEta23; //Photon elec - had DPhi | |
225 | TH2F *fPhotElecDphiEta24; //Photon elec - had DPhi | |
226 | TH2F *fInclusiveElecDphiEta2; //Inclusive elec - had DPhi | |
227 | TH2F *fInclusiveElecDphiEta21; //Inclusive elec - had DPhi | |
228 | TH2F *fInclusiveElecDphiEta22; //Inclusive elec - had DPhi | |
229 | TH2F *fInclusiveElecDphiEta23; //Inclusive elec - had DPhi | |
230 | TH2F *fInclusiveElecDphiEta24; //Inclusive elec - had DPhi | |
231 | TH2F *fDphiULSMassLowEta2; //Dphi - ULS, mass< mass cut | |
232 | TH2F *fDphiULSMassLowEta21; //Dphi - ULS, mass< mass cut | |
233 | TH2F *fDphiULSMassLowEta22; //Dphi - ULS, mass< mass cut | |
234 | TH2F *fDphiULSMassLowEta23; //Dphi - ULS, mass< mass cut | |
235 | TH2F *fDphiULSMassLowEta24; //Dphi - ULS, mass< mass cut | |
236 | TH2F *fDphiLSMassLowEta2; //Dphi - LS, mass< mass cut | |
237 | TH2F *fDphiLSMassLowEta21; //Dphi - LS, mass< mass cut | |
238 | TH2F *fDphiLSMassLowEta22; //Dphi - LS, mass< mass cut | |
239 | TH2F *fDphiLSMassLowEta23; //Dphi - LS, mass< mass cut | |
240 | TH2F *fDphiLSMassLowEta24; //Dphi - LS, mass< mass cut | |
241 | TH2F *fDphiULSMassLowNoPartnerEta2; //Dphi - ULS, mass< mass cut no partner | |
242 | TH2F *fDphiULSMassLowNoPartnerEta21; //Dphi - ULS, mass< mass cut no partner | |
243 | TH2F *fDphiULSMassLowNoPartnerEta22; //Dphi - ULS, mass< mass cut no partner | |
244 | TH2F *fDphiULSMassLowNoPartnerEta23; //Dphi - ULS, mass< mass cut no partner | |
245 | TH2F *fDphiULSMassLowNoPartnerEta24; //Dphi - ULS, mass< mass cut no partner | |
246 | TH2F *fDphiLSMassLowNoPartnerEta2; //Dphi - LS, mass< mass cut | |
247 | TH2F *fDphiLSMassLowNoPartnerEta21; //Dphi - LS, mass< mass cut | |
248 | TH2F *fDphiLSMassLowNoPartnerEta22; //Dphi - LS, mass< mass cut | |
249 | TH2F *fDphiLSMassLowNoPartnerEta23; //Dphi - LS, mass< mass cut | |
250 | TH2F *fDphiLSMassLowNoPartnerEta24; //Dphi - LS, mass< mass cut | |
251 | ||
252 | // TH1F *fTrackPtBefTrkCuts; //Track pt before track cuts | |
253 | // TH1F *fTrackPtAftTrkCuts; //Track pt after track cuts | |
254 | TH2F *fTPCnsigma; //TPC n sigma vs p | |
255 | // TH1F *fNCellv1; //No of cells in cluster, all EMCAL cluster | |
256 | // TH1F *fClsEv1; //Cluster energy, all EMCAL cluster | |
257 | // TH1F *fNClusv1; //No of clusters in event, all EMCAL cluster | |
258 | TH1F *fInvmassLS1; //LS Invmass for all rec par | |
259 | // TH1F *fInvmassLS2; //LS Invmass for all rec par | |
260 | // TH1F *fInvmassLS3; //LS Invmass for all rec par | |
261 | // TH1F *fInvmassLS4; //LS Invmass for all rec par | |
262 | // TH1F *fInvmassLS5; //LS Invmass for all rec par | |
263 | TH1F *fInvmassULS1;//ULS Invmass for all rec par | |
264 | // TH1F *fInvmassULS2;//ULS Invmass for all rec par | |
265 | // TH1F *fInvmassULS3;//ULS Invmass for all rec par | |
266 | // TH1F *fInvmassULS4;//ULS Invmass for all rec par | |
267 | // TH1F *fInvmassULS5;//ULS Invmass for all rec par | |
268 | TH1F *fcentrality;// | |
269 | TH1F *fElecPhi;// | |
270 | TH1F *fElecPhiTPChalf;// | |
271 | TH2F *fElecPhiPt;// | |
272 | // TH1F *fElecPhiTPC;// | |
273 | // TH1F *fElecPhiTPCEovP;// | |
274 | TH1F *fHadronPhi;// | |
275 | TH1F *fHadronPhiTPChalf;// | |
276 | TH2F *fHadronPhiPt;// | |
277 | /* TH1F *fTrackHFEcuts;// | |
278 | TH1F *fTrakPhiSPD1;// | |
279 | TH1F *fTrakPhiSPD2;// | |
280 | TH1F *fTrakPhiSPDOr;// | |
281 | TH1F *fTrakPhiSPDAnd;// | |
282 | TH1F *fTrackHFEcutsITS;// | |
283 | */ | |
284 | TH1F *fNoMixedEvents;// | |
285 | TH2F *fMixStat; //no of events in pool vs multplicity | |
286 | TH2F *fMixStat1; //no of events in pool vs zvtx | |
287 | TH2F *fMixedIncElecDphi; //Mixed event - inclusive elec DPhi | |
288 | TH2F *fMixedIncElecDphi1; //Mixed event - inclusive elec DPhi | |
289 | TH2F *fMixedIncElecDphi2; //Mixed event - inclusive elec DPhi | |
290 | TH2F *fMixedIncElecDphi3; //Mixed event - inclusive elec DPhi | |
291 | TH2F *fMixedIncElecDphi4; //Mixed event - inclusive elec DPhi | |
292 | TH2F *fMixedPhotElecDphi; // | |
293 | TH2F *fMixedPhotElecDphi1; // | |
294 | TH2F *fMixedPhotElecDphi2; // | |
295 | TH2F *fMixedPhotElecDphi3; // | |
296 | TH2F *fMixedPhotElecDphi4; // | |
297 | TH2F *fMixedSemiIncElecDphi; // | |
298 | TH2F *fMixedSemiIncElecDphi1; // | |
299 | TH2F *fMixedSemiIncElecDphi2; // | |
300 | TH2F *fMixedSemiIncElecDphi3; // | |
301 | TH2F *fMixedSemiIncElecDphi4; // | |
302 | TH2F *fMixedDphiULSMassLow;// | |
303 | TH2F *fMixedDphiULSMassLow1;// | |
304 | TH2F *fMixedDphiULSMassLow2;// | |
305 | TH2F *fMixedDphiULSMassLow3;// | |
306 | TH2F *fMixedDphiULSMassLow4;// | |
307 | TH2F *fMixedDphiLSMassLow;// | |
308 | TH2F *fMixedDphiLSMassLow1;// | |
309 | TH2F *fMixedDphiLSMassLow2;// | |
310 | TH2F *fMixedDphiLSMassLow3;// | |
311 | TH2F *fMixedDphiLSMassLow4;// | |
312 | ||
313 | TH1F *fHadronPt;// | |
314 | TH1F *fCentralityPass; // ! QA histogram of events that pass centrality cut | |
315 | TH1F *fCentralityNoPass; //! QA histogram of events that do not pass centrality cut | |
316 | ||
317 | TH2F *fHadronDphi; //Hadron - had DPhi | |
318 | TH2F *fHadronDphi1; //Hadron - had DPhi | |
319 | TH2F *fHadronDphi2; //Hadron - had DPhi | |
320 | TH2F *fHadronDphi3; //Hadron - had DPhi | |
321 | TH2F *fHadronDphi4; //Hadron - had DPhi | |
322 | TH1F *fPiPt; //TPC nsig < 3.5 pt | |
323 | ||
324 | TH2F *fHadronDphiNoSS; //Hadron - had DPhi | |
325 | TH2F *fHadronDphiNoSS1; //Hadron - had DPhi | |
326 | TH2F *fHadronDphiNoSS2; //Hadron - had DPhi | |
327 | TH2F *fHadronDphiNoSS3; //Hadron - had DPhi | |
328 | TH2F *fHadronDphiNoSS4; //Hadron - had DPhi | |
329 | TH1F *fPiPtNoSS; //TPC nsig < 3.5 pt | |
330 | TH2F *fEovPWoSS;// | |
331 | TH2F *fEovPWSS;// | |
332 | TH2F *fEovPHadWoSS;// | |
333 | TH2F *fEovPHadWSS;// | |
334 | ||
335 | //Deta < 0.8 | |
336 | TH2F *fHadronDphiEta1; //Hadron - had DPhi | |
337 | TH2F *fHadronDphiEta11; //Hadron - had DPhi | |
338 | TH2F *fHadronDphiEta12; //Hadron - had DPhi | |
339 | TH2F *fHadronDphiEta13; //Hadron - had DPhi | |
340 | TH2F *fHadronDphiEta14; //Hadron - had DPhi | |
341 | TH2F *fHadronDphiNoSSEta1; //Hadron - had DPhi NoSS | |
342 | TH2F *fHadronDphiNoSSEta11; //Hadron - had DPhi NoSS | |
343 | TH2F *fHadronDphiNoSSEta12; //Hadron - had DPhi NoSS | |
344 | TH2F *fHadronDphiNoSSEta13; //Hadron - had DPhi NoSS | |
345 | TH2F *fHadronDphiNoSSEta14; //Hadron - had DPhi NoSS | |
346 | ||
347 | //Deta > 0.8 | |
348 | TH2F *fHadronDphiEta2; //Hadron - had DPhi | |
349 | TH2F *fHadronDphiEta21; //Hadron - had DPhi | |
350 | TH2F *fHadronDphiEta22; //Hadron - had DPhi | |
351 | TH2F *fHadronDphiEta23; //Hadron - had DPhi | |
352 | TH2F *fHadronDphiEta24; //Hadron - had DPhi | |
353 | TH2F *fHadronDphiNoSSEta2; //Hadron - had DPhi NoSS | |
354 | TH2F *fHadronDphiNoSSEta21; //Hadron - had DPhi NoSS | |
355 | TH2F *fHadronDphiNoSSEta22; //Hadron - had DPhi NoSS | |
356 | TH2F *fHadronDphiNoSSEta23; //Hadron - had DPhi NoSS | |
357 | TH2F *fHadronDphiNoSSEta24; //Hadron - had DPhi NoSS | |
358 | ||
359 | ||
360 | //THnSparse *fSparseElectron;//!Electron info | |
361 | //Double_t *fvalueElectron;//!Electron info | |
362 | ||
363 | AliAnalysisTaskElecHadronCorrel(const AliAnalysisTaskElecHadronCorrel&); // not implemented | |
364 | AliAnalysisTaskElecHadronCorrel& operator=(const AliAnalysisTaskElecHadronCorrel&); // not implemented | |
365 | ||
366 | ClassDef(AliAnalysisTaskElecHadronCorrel, 2); //!example of analysis | |
367 | }; | |
368 | ||
369 | class AliehDPhiBasicParticle : public AliVParticle | |
370 | { | |
371 | public: | |
372 | AliehDPhiBasicParticle(Float_t eta, Float_t phi, Float_t pt, Short_t charge) | |
373 | : fEta(eta), fPhi(phi), fpT(pt), fCharge(charge) | |
374 | { | |
375 | } | |
376 | ~AliehDPhiBasicParticle() {} | |
377 | ||
378 | // kinematics | |
379 | virtual Double_t Px() const { AliFatal("Not implemented"); return 0; } | |
380 | virtual Double_t Py() const { AliFatal("Not implemented"); return 0; } | |
381 | virtual Double_t Pz() const { AliFatal("Not implemented"); return 0; } | |
382 | virtual Double_t Pt() const { return fpT; } | |
383 | virtual Double_t P() const { AliFatal("Not implemented"); return 0; } | |
384 | virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; } | |
385 | ||
386 | virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; } | |
387 | virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; } | |
388 | virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; } | |
389 | virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; } | |
390 | ||
391 | virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0; } | |
392 | virtual Double_t Phi() const { return fPhi; } | |
393 | virtual Double_t Theta() const { AliFatal("Not implemented"); return 0; } | |
394 | ||
395 | ||
396 | virtual Double_t E() const { AliFatal("Not implemented"); return 0; } | |
397 | virtual Double_t M() const { AliFatal("Not implemented"); return 0; } | |
398 | ||
399 | virtual Double_t Eta() const { return fEta; } | |
400 | virtual Double_t Y() const { AliFatal("Not implemented"); return 0; } | |
401 | ||
402 | virtual Short_t Charge() const { return fCharge; } | |
403 | virtual Int_t GetLabel() const { AliFatal("Not implemented"); return 0; } | |
404 | // PID | |
405 | virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0; } | |
406 | virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; } | |
407 | ||
408 | private: | |
409 | Float_t fEta; // eta | |
410 | Float_t fPhi; // phi | |
411 | Float_t fpT; // pT | |
412 | Short_t fCharge; // charge | |
413 | ||
414 | ClassDef( AliehDPhiBasicParticle, 1); // class which contains only quantities requires for this analysis to reduce memory consumption for event mixing | |
415 | }; | |
416 | #endif | |
417 | ||
418 |