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