add task macro to go with the AliTaskConfigOCDB class
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0PbPb / AliAnalysisTaskV0ForRAA.h
CommitLineData
9c758b88 1//-----------------------------------------------------------------
2// AliAnalysisTaskV0ForRAA class
3// This task is for analysing Lambda and K0s pt spectra in PbPb and
4// pp as well as with MC. The flag for pp and MC must be set
5// accordingly, default is PbPb data.
6// It works with ESD files only.
7//-----------------------------------------------------------------
8
9#ifndef ALIANALYSISTASKV0FORRAA_H
10#define ALIANALYSISTASKV0FORRAA_H
11
692dbad9 12class TH1F;
13class TH2F;
9c758b88 14class Tlist;
15class AliESDv0;
692dbad9 16class AliESDtrack;
9c758b88 17class AliESDtrackCuts;
18class AliESDpid;
19class AliESDEvent;
20class AliMCEvent;
692dbad9 21class AliPIDResponse;
22
23#ifndef ALIANALYSISTASKSE_H
24#include "AliAnalysisTaskSE.h"
25#endif
26
9c758b88 27
28class AliAnalysisTaskV0ForRAA : public AliAnalysisTaskSE {
6cdc2a74 29 public:
9c758b88 30
6cdc2a74 31 AliAnalysisTaskV0ForRAA(const char *name="AliAnalysisTaskV0ForRAA");
32 virtual ~AliAnalysisTaskV0ForRAA();
9c758b88 33
34
6cdc2a74 35 virtual void UserCreateOutputObjects();
36 virtual void UserExec(Option_t *option);
37 virtual void Terminate(Option_t *);
38
39
40
41 //-- MC truth/reco --//
42 void SetMCMode(Bool_t mcmode) {fMCMode = mcmode; if(fMCMode) Printf("AliAnalysisTaskV0ForRAA::running mc mode: histos of MC reco");}
43 void SetMCTruthMode(Bool_t mcmode) {fMCTruthMode = mcmode; if(fMCTruthMode) Printf("AliAnalysisTaskV0ForRAA::running mc mode: histos of MC truth");}
44 void SelectInjected(Bool_t injected) {fSelectInjected = injected; if(fSelectInjected) Printf("AliAnalysisTaskV0ForRAA::only injected MC particles");}
45
46 //-- Centrality --//
47 // use centrality - if yes, which one
48 void SetUseCentrality(Int_t cent) {fUseCentrality = cent; Printf("AliAnalysisTaskV0ForRAA::centrality selected for detector %i (0=off, 1=VZERO, 2=SPD)",cent);}
49 // set range
50 void SetUseCentralityRange(Int_t range) {fUseCentralityRange = range;if(fUseCentrality) Printf("AliAnalysisTaskV0::centrality range %i",fUseCentralityRange);}
51 // centrality bin to be used
52 void SetUseCentralityBin(Int_t bin) {fUseCentralityBin = bin; if(fUseCentrality) Printf("AliAnalysisTaskV0ForRAA::centrality selected for bin %i",fUseCentralityBin); }
53
54
55 //-- event cuts --//
56 void SetPrimVertexZCut(Double_t vtxcut,Bool_t status) {fVertexZCut = vtxcut;fVtxStatus = status; Printf("AliAnalysisTaskV0ForRAA::SetPrimVertexZCut %3.2f",vtxcut);}
57 void SetAnapp(Bool_t anapp) {fAnapp = anapp ;if(fAnapp) Printf("AliAnalysisTaskV0ForRAA::analysing pp!!!");}
58 void SelectWithSDD(Bool_t sdd) {fSelSDD =sdd; if(sdd) Printf("AliAnalysisTaskV0ForRAA:: only events with SDD selected!");}
59
60 //-- track cuts --//
61 void SetESDTrackCuts(AliESDtrackCuts *esdcuts) {fESDTrackCuts = esdcuts;Printf("AliAnalysisTaskV0ForRAA::AliESDtrackCuts for V0s set");}
62 void SetESDTrackCutsCharged(AliESDtrackCuts *esdcuts) {fESDTrackCutsCharged = esdcuts;Printf("AliAnalysisTaskV0ForRAA::AliESDtrackCuts for charged particles set");}
63 void SetUseOnthefly(Bool_t useonthefly) {fOntheFly = useonthefly; if(!fOntheFly) Printf("AliAnalysisTaskV0ForRAA::offline V0s");}
64 void SetUsePID(Bool_t usepid,Double_t nsigma=100.0,Double_t pcut=100.0) {fUsePID = usepid;fNSigma = nsigma;fPPIDcut = pcut; if(fUsePID) Printf("AliAnalysisTaskV0ForRAA::PID! of %4.2f for p: %4.2f",fNSigma,pcut);}
65 void SetCutMoreNclsThanRows(Bool_t cut) {fMoreNclsThanRows=cut; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on more ncls than crossed rows");}
66 void SetCutMoreNclsThanFindable(Bool_t cut) {fMoreNclsThanFindable=cut; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on more ncls than ncls findable");}
67 void SetMaxChi2PerITSCluster(Double_t chi2) {fChi2PerClusterITS = chi2; Printf("AliAnalysisTaskV0ForRAA::max chi2 per ITS cluster %3.2f",chi2);}
68 void SetRapidityCutMother(Bool_t cut,Double_t val=5.0) {fRapCutV0 = cut; fRap = val; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on mother rapidity %2.2f",val);}
69 void SetMinPt(Double_t minPt=0.0) {fMinPt = minPt; if(minPt>0.0) Printf("AliAnalysisTaskV0ForRAA::cut on min pt %2.2f",minPt);}
70 /* void SetPtShift(const Double_t shiftVal) {
71 //user defined shift in charge/pt
72 if(shiftVal) { fShift=kTRUE; fDeltaInvP = shiftVal; Printf("AliAnalysisTaskV0::WARNING!!!!!!!!!!!!!! pt shift introduced!");}
73 }
74 */
75 void SetDCAV0ToVertexK0(Double_t dcaTovertex) {fDCAToVertexK0 = dcaTovertex; Printf("AliAnalysisTaskV0ForRAA::dca to vertex K0s %2.3f",dcaTovertex);}
76 void SetDCAV0ToVertexL(Double_t dcaTovertex) {fDCAToVertexL = dcaTovertex; Printf("AliAnalysisTaskV0ForRAA::dca to vertex L/AL %2.3f",dcaTovertex);}
77 void SetDCADaughtersL(Double_t dcaDaughters) {fDCADaughtersL = dcaDaughters; Printf("AliAnalysisTaskV0:ForRAA:dca daughters L %2.3f",dcaDaughters);}
78 void SetDCADaughtersAL(Double_t dcaDaughters) {fDCADaughtersAL = dcaDaughters; Printf("AliAnalysisTaskV0ForRAA::dca daughters AL %2.3f",dcaDaughters);}
79 void SetDCADaughtersK0(Double_t dcaDaughters) {fDCADaughtersK0 = dcaDaughters; Printf("AliAnalysisTaskV0ForRAA::dca daughters K0s %2.3f",dcaDaughters);}
80 void SetDCADaughtersLargeToVertex(Double_t dcaDaughtersVtx) {fDCADaughtersToVtxLarge = dcaDaughtersVtx; Printf("AliAnalysisTaskV0ForRAA::dca daughters to vertex large %2.3f",dcaDaughtersVtx);}
81 void SetDCADaughtersSmallToVertex(Double_t dcaDaughtersVtx) {fDCADaughtersToVtxSmall = dcaDaughtersVtx; Printf("AliAnalysisTaskV0ForRAA::dca daughters to vertex small %2.3f",dcaDaughtersVtx);}
82 void SetDecayRadiusXYMinMax(Double_t decMin,Double_t decMax){fDecayRadXYMin = decMin;fDecayRadXYMax = decMax; Printf("AliAnalysisTaskV0ForRAA::min xy decay radius %2.3f max %2.3f",decMin,decMax);}
83 void SetCosOfPointingAngleL(Double_t pointAng,Double_t ptMaxCut=100.0) {fCosPointAngL=pointAng;fCPAPtCutL = ptMaxCut;Printf("AliAnalysisTaskV0ForRAA::SetCosOfPointingAngleL %1.5f and pt max %2.2f",pointAng,ptMaxCut);}
84 void SetCosOfPointingAngleK(Double_t pointAng,Double_t ptMaxCut=100.0) {fCosPointAngK=pointAng;fCPAPtCutK0 = ptMaxCut; Printf("AliAnalysisTaskV0ForRAA::SetCosOfPointingAngleK %1.5f and pt max %2.2f",pointAng,ptMaxCut);}
85 void SetOpeningAngleCut(Double_t opang, Double_t maxpt) {fOpengAngleDaughters=opang; fOpAngPtCut=maxpt,Printf("AliAnalysisTaskV0::cut on opening angle %1.3f up to pt= %2.2f",opang,maxpt);}
86
87 void SetMaxDecayLength(Double_t decLength) {fDecayLengthMax = decLength; Printf("AliAnalysisTaskV0ForRAA::SetMaxDecayLength %2.3f",decLength);}
88 void SetMinDecayLength(Double_t decLength) {fDecayLengthMin = decLength; Printf("AliAnalysisTaskV0ForRAA::SetMinDecayLength %2.3f",decLength);}
89 void SetDCAXK0(Double_t dcaXK) {fDCAXK = dcaXK; Printf("AliAnalysisTaskV0ForRAA::SetDCAXK0 %2.3f",dcaXK);}
90 void SetDCAYK0(Double_t dcaYK) {fDCAYK = dcaYK; Printf("AliAnalysisTaskV0ForRAA::SetDCAYK0 %2.3f",dcaYK);}
91 void SetDCAXLambda(Double_t dcaXL) {fDCAXL = dcaXL; Printf("AliAnalysisTaskV0ForRAA::SetDCAXLambda %2.3f",dcaXL);}
92 void SetDCAYLambda(Double_t dcaYL) {fDCAXL = dcaYL; Printf("AliAnalysisTaskV0ForRAA::SetDCAYLambda %2.3f",dcaYL);}
93 void SetDCAZ(Double_t dcaZ) {fDCAZ = dcaZ; Printf("AliAnalysisTaskV0ForRAA::SetDCAZ %2.3f",dcaZ);}
94 void SetChi2CutKf(Bool_t chi2){ fChiCutKf = chi2; Printf("AliAnalysisTaskV0ForRAA::SetChi2CutKf %i",chi2);}
95 //Double_t chi2) {fChiCutKf = chi2; Printf("AliAnalysisTaskV0ForRAA::SetChi2CutKf %3.2f",chi2);}
96 void SetArmenterosCutAlpha(Double_t alfaMin) {fAlfaCut=alfaMin;Printf("AliAnalysisTaskV0ForRAA::SetArmenterosCut a=%1.3f",alfaMin);}
97 void SetArmenterosCutQt(Double_t ptmin,Double_t ptmax,Bool_t k0s,Bool_t la){fQtCut = ptmax;fQtCutPtLow=ptmin, fArmCutK0=k0s;fArmCutL=la;Printf("AliAnalysisTaskV0ForRAA::SetArmenterosCut ptmin = %3.2f ptmax = %3.2f. Is K0s? %i La? %i",ptmin,ptmax,k0s,la);}
98 void SetCtauCut(Double_t ctK0s, Double_t ctL,Double_t ptK0=100.0,Double_t ptL=100.0) {fCtauK0s = ctK0s*2.6842; fCtauL = ctL*7.89;fCtauPtCutK0=ptK0; fCtauPtCutL=ptL;
99 Printf("AliAnalysisTaskV0ForRAA::SetCtauCut ctK=%2.2f, ctL = %2.2f for ptK= %5.2f ptL=%5.2f",ctK0s,ctL,ptK0,ptL);}
100 void SetDoEtaOfMCDaughtersCut(Bool_t doCut,Double_t eta=5.0){fEtaCutMCDaughters =doCut; fEtaCutMCDaughtersVal=eta; Printf("AliAnalysisTaskV0ForRAA::eta cut on V0 (MC truth ? %i) daughters %1.3f !",doCut,eta);}
9c758b88 101
102
6cdc2a74 103 private:
9c758b88 104
6cdc2a74 105 //----------------------------functions --------------------------------------------//
9c758b88 106
6cdc2a74 107 void Process(); // process event
108 void V0RecoLoop(Int_t id0,Int_t id1,Int_t isSecd,Int_t what,Double_t ptV0MC,Int_t pdgMother,Double_t ptXiMother); // loop over reconstructed V0 (data or MC)
109 void V0MCTruthLoop(); // loop over MC truth V0s
110 Int_t CalculateCentralityBin(); // get the centrality bin from multiplicity
111 Bool_t GetMCTruthPartner(AliESDtrack *pos,AliESDtrack *neg,Int_t id0,Int_t id1); // find MC truth partner for reconstructed track
9c758b88 112
113
114
6cdc2a74 115 //----------------------------- objects ----------------------------------------------//
9c758b88 116
6cdc2a74 117 //event
118 AliESDEvent *fESD; //ESD event object
119 AliMCEvent *fMCev; //MC event object
9c758b88 120
6cdc2a74 121 //PID and track cuts
122 AliPIDResponse *fESDpid; // pid object
123 AliESDtrackCuts *fESDTrackCuts; //esd track cuts for daughters
124 AliESDtrackCuts *fESDTrackCutsCharged;//esd track cuts for all charged particles
9c758b88 125
6cdc2a74 126 TList *fOutputContainer; // output data container
9c758b88 127
6cdc2a74 128 //----------------------------histograms --------------------------------------------//
129 //-------------------event histos -------------------//
130
131 TH1F *fHistNEvents; // count number of events for each event cut
132 TH1F *fHistMuliplicity; // number of particles from centrality selection
133 TH1F *fHistMuliplicityRaw; // number of particles from centrality selection before processing
134 TH1F *fHistMultiplicityPrimary; // number of charged particles
135 TH1F *fHistESDVertexZ; // primary TPC vertex position z before cuts
136 TH1F *fHistPrimVtxZESD; // primary ESD vertex position z after cuts and processing
137 TH2F *fHistPrimVtxZESDVSNContributors; // count contributors to ESD vertex
138 TH1F *fHistNPrim; // number of contributors to the prim vertex
139
140 TH1F *fHistITSLayerHits; // pp 2.76 TeV analysis: check hist on div. ITS layer
141 TH1F *fHistOneHitWithSDD; // pp 2.76 TeV analysis: check hist on at least one ITS layer
142 TH1F *fHistPrimVtxZESDTPC; // primary TPC vertex position z after cuts and processing
143 TH1F *fHistPrimVtxZESDSPD; // primary SPD vertex position z after cuts and processing
144 TH2F *fHistPrimVtxZESDTPCVSNContributors; // count contributors to TPC vertex
145 TH2F *fHistPrimVtxZESDSPDVSNContributors; // count contributors to SPD vertex
146 TH1F *fHistCentBinRaw; // events per centralitybin before centrality selection
147 TH1F *fHistCentBin; // events per centralitybin
148 TH2F *fHistPrimVtxZESDVSNContributorsMC; // count contributors to ESD vertex MC
149 TH2F *fHistPrimVtxZESDTPCVSNContributorsMC; // count contributors to TPC vertex MC
150 TH2F *fHistPrimVtxZESDSPDVSNContributorsMC; // count contributors to SPD vertex MC
151 TH1F *fHistMCVertexZ; // primary MC vertex position z
152
153 //------------------------ single V0 histos --------------------------//
154 TH1F *fHistPiPiPDGCode; // PDG code of K0 mothers
155 TH1F *fHistPiPPDGCode; // PDG code of Lambda mothers
156 TH1F *fHistPiAPPDGCode; // PDG code of Lambda mothers
157
158 TH2F *fHistPiPCosPointAngXiVsPt; // cosine of pointing angle of xis vs pt
159 TH2F *fHistPiAPCosPointAngXiVsPt; // cosine of pointing angle of xis vs pt
160
161 //--------------------- V0 histos ------------------------------------//
162 TH2F *fHistV0RadiusZ[2]; // V0 decay radius z
163 TH2F *fHistV0RadiusZVSPt[2]; // V0 decay radius z vs pt
164 TH2F *fHistV0RadiusXY[2]; // V0 decay radius x vs y
165 TH2F *fHistV0RadiusXYVSY[2]; // V0 decay radius xy vs rapidity
9c758b88 166
6cdc2a74 167 TH2F *fHistArmenteros[2]; // armenteros
9c758b88 168
6cdc2a74 169 //-- K0 --//
170 TH1F *fHistPiPiMass[2]; // pi+pi- InvMass spectrum
171 TH2F *fHistPiPiMassVSPt[2]; // pi+pi- InvMass spectrum vs pt
172 TH2F *fHistPiPiMassVSPtMCTruth[2]; // pi+pi- InvMass spectrum vs pt MC truth
173 TH2F *fHistPiPiPtVSY[2]; // pi+pi- InvMass spectrum vs rapidity
174 TH2F *fHistPiPiDecayLengthVsPt[2]; // pi+pi- decay lenght vs pt
175 // TH2F *fHistPiPiMassVSAlpha[2]; // pi+pi- InvMass spectrum vs armenteros alpha
176 TH2F *fHistPiPiRadiusXY[2]; // pi+pi- opening angle vs mass
177 TH2F *fHistPiPiCosPointAng[2]; // pi+pi- cosine of pointing angle vs pt or dca to vertex
178 TH2F *fHistPiPiDCADaughterPosToPrimVtxVSMass[2];// dca of pos. K0s daughter to prim vtx vs mass
179 TH2F *fHistPiPiDecayLengthVsMass[2]; // pi+pi- decay lenght vs pt
180 //TH2F *fHistPiPiMassVSPtK0L[2]; // K0L InvMass vs pt distribution
181 TH2F *fHistPiPiDCADaughters[2]; // pi+pi- dca between daughters
182 // TH2F *fHistPiPiPtDaughters[2]; // pi+pi- daughters pt pos vs pt neg
183 TH2F *fHistPiPiDCAVSMass[2]; // pi+pi- dca to prim vtx vs mass
184 TH1F *fHistPiPiMonitorCuts[2]; // pi+pi- cut monitor
185
186 //-- lambda --//
187 TH1F *fHistPiPMass[2]; // p+pi- InvMass spectrum
188 TH2F *fHistPiPMassVSPt[2]; // p+pi- InvMass spectrum vs pt
189 TH2F *fHistPiPMassVSPtMCTruth[2]; // p+pi- InvMass spectrum vs pt MC truth
190 TH2F *fHistPiPPtVSY[2]; // p+pi- InvMass spectrum vs rapidity
191 TH2F *fHistPiPDecayLengthVsPt[2]; // p+pi- decay lenght vs pt
192 TH2F *fHistPiPRadiusXY[2]; // p+pi- opening angle vs mass
193 TH2F *fHistPiPCosPointAng[2]; // p+pi- cosine of pointing angle vs pt or dca to vertex
194 TH2F *fHistPiPDCADaughterPosToPrimVtxVSMass[2];// dca of pos. Lambda daughter to prim vtx vs mass
195
196 TH2F *fHistPiPDecayLengthVsMass[2]; // p+pi- decay lenght vs pt
197 TH2F *fHistPiPDCADaughters[2]; // p+pi- dca between daughters
198 //TH2F *fHistPiPPtDaughters[2]; // p+pi- daughters pt pos vs pt neg
199 TH2F *fHistPiPDCAVSMass[2]; // p+pi- dca to prim vtx vs mass
200 TH1F *fHistPiPMonitorCuts[2]; // p+pi- cut monitor
201 TH2F *fHistPiPMassVSPtSecSigma[2]; // InvMass distribution vs pt of secondary lambdas from sigma truth(0) reco(1)
202 TH2F *fHistPiPMassVSPtSecXi[2]; // InvMass distribution vs pt of secondary lambdas from xi MC truth(0) reco(1)
203 TH2F *fHistPiPMassVSYSecXi[2]; // InvMass distribution vs rapidity of secondary lambdas from xi MC truth(0) reco(1)
204 TH2F *fHistPiPXi0PtVSLambdaPt[2] ; // pt of xi0 vs pt lambda truth(0) reco(1)
205 TH2F *fHistPiPXiMinusPtVSLambdaPt[2]; // pt of ximinus vs pt lambda truth(0) reco(1)
9c758b88 206
9c758b88 207
6cdc2a74 208 //-- antilambda --//
209 TH1F *fHistPiAPMass[2]; // pi+p- InvMass spectrum
210 TH2F *fHistPiAPMassVSPt[2]; // pi+p- InvMass spectrum vs pt
211 TH2F *fHistPiAPMassVSPtMCTruth[2]; // pi+p- InvMass spectrum vs pt MC Truth
212 TH2F *fHistPiAPPtVSY[2]; // pi+p- InvMass spectrum vs rapidity
213 TH2F *fHistPiAPDecayLengthVsPt[2]; // pi+p- decay lenght vs pt
214 TH2F *fHistPiAPRadiusXY[2]; // pi+p- opening angle vs mass
215 TH2F *fHistPiAPCosPointAng[2]; // pi+p- cosine of pointing angle vs pt or dca to vertex
216 TH2F *fHistPiAPDCADaughterPosToPrimVtxVSMass[2];// dca of pos. Lambda daughter to prim vtx vs mass
217 TH2F *fHistPiAPDecayLengthVsMass[2]; // pi+p- decay lenght vs pt
218 TH2F *fHistPiAPDCADaughters[2]; // pi+p- dca between daughters
219 //TH2F *fHistPiAPPtDaughters[2]; // pi+p- daughters pt pos vs pt neg
220 TH2F *fHistPiAPDCAVSMass[2]; // pi+p- dca to prim vtx vs mass
221 TH1F *fHistPiAPMonitorCuts[2]; // pi+p- cut monitor
222 TH2F *fHistPiAPMassVSPtSecSigma[2]; // InvMass distribution vs pt of secondary alambdas from sigma truth(0) reco(1)
223 TH2F *fHistPiAPMassVSPtSecXi[2]; // InvMass distribution vs pt of secondary alambdas from xi MC truth(0) reco(1)
224 TH2F *fHistPiAPMassVSYSecXi[2]; // InvMass distribution vs rapidity of secondary alambdas from xi MC truth(0) reco(1)
225 TH2F *fHistPiAPXi0PtVSLambdaPt[2] ; // pt of xi0 vs pt alambda truth(0) reco(1)
226 TH2F *fHistPiAPXiMinusPtVSLambdaPt[2]; // pt of ximinus vs pt alambda truth(0) reco(1)
9c758b88 227
6cdc2a74 228 //-- others --//
229 //dEdx
230 TH2F *fHistDedxSecProt[2]; // dedx from proton cadidates vs pt
231 TH2F *fHistDedxSecAProt[2]; // dedx from antiproton candidates vs pt
232 TH2F *fHistDedxSecPiMinus[2]; // dedx from pi minus candidates vs pt
233 TH2F *fHistDedxSecPiPlus[2]; // dedx from pi plus candidates vs pt
234
235 //clusters
236 TH1F *fHistNclsITSPosK0[2]; // number of clusters from ITS of positive K0s daughters
237 TH1F *fHistNclsITSNegK0[2]; // number of clusters from ITS of negative K0s daughters
238 TH1F *fHistNclsTPCPosK0[2]; // number of clusters from TPC of positive K0s daughters
239 TH1F *fHistNclsTPCNegK0[2]; // number of clusters from TPC of negative K0s daughters
240 TH1F *fHistChi2PerNclsITSPosK0[2]; // chi^2 per number of clusters ITS of positive K0s daughters
241 TH1F *fHistChi2PerNclsITSNegK0[2]; // chi^2 per number of clusters ITS of negative K0s daughters
242 TH1F *fHistNclsITSPosL[2]; // number of clusters from ITS of positive lambda daughters
243 TH1F *fHistNclsITSNegL[2]; // number of clusters from ITS of negative lambda daughters
244 TH1F *fHistNclsTPCPosL[2]; // number of clusters from TPC of positive lambda daughters
245 TH1F *fHistNclsTPCNegL[2]; // number of clusters from TPC of negative lambda daughters
246 TH1F *fHistChi2PerNclsITSPosL[2]; // chi^2 per number of clusters ITS of positive lambda daughters
247 TH1F *fHistChi2PerNclsITSNegL[2]; // chi^2 per number of clusters ITS of negative lambda daughters
248 TH2F *fHistNclsITSPos[2]; // number of clusters from ITS of positive daughters vs pt dautghter
249 TH2F *fHistNclsITSNeg[2]; // number of clusters from ITS of negative daughters vs pt dautghter
250 TH2F *fHistNclsTPCPos[2]; // number of clusters from TPC of positive daughters vs number of finabale clutsters
251 TH2F *fHistNclsTPCNeg[2]; // number of clusters from TPC of negative daughters vs number of finabale clutsters
252 TH2F *fHistChi2PerNclsITSPos[2]; // chi^2 per number of clusters ITS of positive daughters vs pt of daughter
253 TH2F *fHistChi2PerNclsITSNeg[2]; // chi^2 per number of clusters ITS of negative daughters vs pt of daughter
254 TH2F *fHistNclsITS[2]; // number of clusters ITS pos vs neg daughters
255 TH2F *fHistNclsTPC[2]; // number of clusters TPC neg daughters vs number of crossed rows
256 TH2F *fHistNCRowsTPCPos[2]; // number of crossed rows TPC pos. vs pt of daughter
257 TH2F *fHistNCRowsTPCNeg[2]; // number of crossed rows TPC neg. vs pt of daughter
258
259 TH2F *fHistPiPiEtaDMC[2]; // eta of daughters vs pt K0s MC truth raw(0) after cuts(1)
260 TH2F *fHistPiPEtaDMC[2]; // eta of daughters vs pt lambda MC truth raw(0) after cuts(1)
261 TH2F *fHistPiPiEtaDReco[2]; // eta of daughters ESD track vs eta AliESDv0 or vs pt K0s raw(0) after cuts(1)
262 TH2F *fHistPiPEtaDReco[2]; // eta of daughters ESD track vs eta AliESDv0 or vs pt (a)lambda raw(0) after cuts(1)
263
264 /*
265 //user shift
266 TH1F *fHistUserPtShift;//monitor user defined charge/pt shift
267 */
9c758b88 268
269
270
6cdc2a74 271 //---------------------------------- Variables--------------------------------------------//
272
273 //--cut options --//
274 //MC only
275 Bool_t fMCMode; // run over MC general yes/no
276 Bool_t fMCTruthMode; // MC truth selection yes/no
277 Bool_t fSelectInjected; // for MC with injected signals, select only injected
278
279 // Calculate centrality
280 Int_t fUseCentrality; // use centrality (0=off(default),1=VZERO,2=SPD)
281 Int_t fUseCentralityBin; // centrality bin to be used
282 Int_t fUseCentralityRange; // use centrality (0=off(default),1=VZERO,2=SPD)
283
284 //pp analysis
285 Bool_t fAnapp; // flag for pp analysis
286 Bool_t fSelSDD; // select pp events with SDD (for pp 2.76TeV LHC11a)
287
288 //onthefly
289 Bool_t fOntheFly; // true if onfly finder shall be used
290
291 //vertex
292 Double_t fVertexZCut; // z vertex cut value
293 Bool_t fVtxStatus; // vertex cut on/off
294
295 //PID
296 Bool_t fUsePID; // use pid yes/no
297 Double_t fNSigma; // set nsigma value
298 Double_t fPPIDcut; // set max momentum for pid cut usage
299 Bool_t fMoreNclsThanRows; // cut on ncls>ncrossed rows yes/no
300 Bool_t fMoreNclsThanFindable; // cut on ncls>nfindable cls yes/no
301 Double_t fChi2PerClusterITS; // cut on chi2 per ITS cluster
9c758b88 302
6cdc2a74 303 //rapidity
304 Bool_t fRapCutV0; // use rapidity cut for V0 yes/no
305 Double_t fRap; // user defined value for rapidity cut
306
307 //eta and pt
308 Double_t fEtaCutMCDaughters; // eta cut for MC daughters on/off
309 Double_t fEtaCutMCDaughtersVal; // eta cut value for MC daughters
310 Double_t fMinPt; // pt min cut value
311
312 //armenteros
313 Double_t fAlfaCut; // set alpha armenteros cut value
314 Double_t fQtCut; // set ptmax for qt armenteros cut
315 Double_t fQtCutPtLow; // set ptmin for qt armenteros cut
316 Bool_t fArmCutK0; // set armenteros cut on/off for K0s
317 Bool_t fArmCutL; // set armenteros cut on/off for Lambda
318
319 //others
320 Double_t fDCAToVertexK0; // dca of V0 to vertex cut value K0s
321 Double_t fDCAToVertexL; // dca of V0 to vertex cut value L/AL
322 Double_t fDCAXK; // dca in x of K0s to vertex cut value
323 Double_t fDCAYK; // dca in y of K0s to vertex cut value
324 Double_t fDCAXL; // dca in x of Lambda to vertex cut value
325 Double_t fDCAYL; // dca in y of Lambda to vertex cut value
326 Double_t fDCAZ; // dca in z of V0 to vertex cut value
9c758b88 327
6cdc2a74 328 Double_t fDCADaughtersL; // dca between Lambda daughters cut value
329 Double_t fDCADaughtersAL; // dca between ALambda daughters cut value
330 Double_t fDCADaughtersK0; // dca between K0s daughters cut value
9c758b88 331
6cdc2a74 332 Double_t fDCADaughtersToVtxLarge;// dca large between V0 daughters and vertex cut value
333 Double_t fDCADaughtersToVtxSmall;// dca small between V0 daughters and vertex cut value
9c758b88 334
6cdc2a74 335 Double_t fDecayRadXYMin; // minmal decay radius in x-y cut value
336 Double_t fDecayRadXYMax; // maximal decay radius in x-y cut value
9c758b88 337
6cdc2a74 338 Double_t fCosPointAngL; // cosine of pointing angle cut value for Lambda and ALambda
339 Double_t fCosPointAngK; // cosine of pointing angle cut value for K0s
340 Double_t fCPAPtCutK0; // pt max for cosine of pointing angle cut K0s
341 Double_t fCPAPtCutL; // pt max for cosine of pointing angle cut Lambda
342 Double_t fOpengAngleDaughters; // cut on opening angle between V0 daughters
343 Double_t fOpAngPtCut; // max pt for using the opening angle between V0 daughters cut
5117e418 344
6cdc2a74 345 Double_t fDecayLengthMax; // maximal decay length in x-y-z cut value
346 Double_t fDecayLengthMin; // minimal decay length in x-y-z cut value
9c758b88 347
6cdc2a74 348 //ctau
349 Double_t fCtauK0s; // multiple of ctau cut value for K0s
350 Double_t fCtauL; // multiple of ctau cut value for Lambda
351 Double_t fCtauPtCutK0; // pt max for ctau cut usage for K0s
352 Double_t fCtauPtCutL; // pt max for ctau cut usage for Lambda
9c758b88 353
6cdc2a74 354 //KF particle chi cut
355 // Double_t fChiCutKf; //cut value of chi2 of AliKFParticle
356 Bool_t fChiCutKf; //cut value of chi2 of AliKFParticle
9c758b88 357
358
6cdc2a74 359 /*
360 // option for user defined charge/pt shift
361 Bool_t fShift;// shift yes/no
362 Double_t fDeltaInvP;//define shift value
363 */
9c758b88 364
365
6cdc2a74 366 AliAnalysisTaskV0ForRAA(const AliAnalysisTaskV0ForRAA&);
367 AliAnalysisTaskV0ForRAA&operator=(const AliAnalysisTaskV0ForRAA&);
9c758b88 368
6cdc2a74 369 ClassDef(AliAnalysisTaskV0ForRAA, 1);
9c758b88 370};
371#endif