Commit for Simone - Change ClassDef
[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
6c301331 12
692dbad9 13class TH1F;
14class TH2F;
6c301331 15//class TH3F;
aa3d4e29 16
9c758b88 17class Tlist;
aa3d4e29 18
9c758b88 19class AliESDv0;
692dbad9 20class AliESDtrack;
9c758b88 21class AliESDtrackCuts;
22class AliESDpid;
23class AliESDEvent;
24class AliMCEvent;
692dbad9 25class AliPIDResponse;
6c301331 26class AliStack;
27#include "THn.h"
692dbad9 28
29#ifndef ALIANALYSISTASKSE_H
30#include "AliAnalysisTaskSE.h"
31#endif
32
9c758b88 33
6c301331 34
9c758b88 35class AliAnalysisTaskV0ForRAA : public AliAnalysisTaskSE {
6cdc2a74 36 public:
6c301331 37
38 AliAnalysisTaskV0ForRAA();
76a4d7a7 39 AliAnalysisTaskV0ForRAA(const char *name);
6cdc2a74 40 virtual ~AliAnalysisTaskV0ForRAA();
9c758b88 41
6c301331 42
6cdc2a74 43 virtual void UserCreateOutputObjects();
44 virtual void UserExec(Option_t *option);
45 virtual void Terminate(Option_t *);
46
47
48
49 //-- MC truth/reco --//
11e769d9 50 void SetMCMode(Bool_t mcmode) {fMCMode = mcmode; if(fMCMode) Printf("AliAnalysisTaskV0ForRAA::running mc mode: histos of MC reco");}
51 void SetMCTruthMode(Bool_t mcmode) {fMCTruthMode = mcmode; if(fMCTruthMode) Printf("AliAnalysisTaskV0ForRAA::running mc mode: histos of MC truth");}
52 void SelectInjected(Bool_t injected) {fSelectInjected = injected;if(fSelectInjected) Printf("AliAnalysisTaskV0ForRAA::only injected MC particles");}
53 void SelectMBMotherMC(Bool_t mbmother) {fSelectMBMotherMC = mbmother;if(mbmother) Printf("AliAnalysisTaskV0ForRAA::only MB mother MC for sec lambdas selected");}
aa3d4e29 54 void SelectOnlyPosLabelMC(Bool_t poslabel) {fCheckNegLabelReco = poslabel;if(poslabel) Printf("AliAnalysisTaskV0ForRAA::Select only MC truth and reco with pos label reco");}
11e769d9 55 void SelectOnlyFoundRecoV0MC(Bool_t found) {fOnlyFoundRecoV0 = found; if(found) Printf("AliAnalysisTaskV0ForRAA::Select only MC truth with found reco V0");}
aa3d4e29 56
6cdc2a74 57
58 //-- Centrality --//
59 // use centrality - if yes, which one
11e769d9 60 void SetUseCentrality(Int_t cent) {fUseCentrality = cent; Printf("AliAnalysisTaskV0ForRAA::centrality selected for detector %i (0=off, 1=VZERO, 2=SPD)",cent);}
6cdc2a74 61 // set range
62 void SetUseCentralityRange(Int_t range) {fUseCentralityRange = range;if(fUseCentrality) Printf("AliAnalysisTaskV0::centrality range %i",fUseCentralityRange);}
63 // centrality bin to be used
11e769d9 64 void SetUseCentralityBin(Int_t bin) {fUseCentralityBin = bin; if(fUseCentrality) Printf("AliAnalysisTaskV0ForRAA::centrality selected for bin %i",fUseCentralityBin); }
6cdc2a74 65
66
67 //-- event cuts --//
68 void SetPrimVertexZCut(Double_t vtxcut,Bool_t status) {fVertexZCut = vtxcut;fVtxStatus = status; Printf("AliAnalysisTaskV0ForRAA::SetPrimVertexZCut %3.2f",vtxcut);}
69 void SetAnapp(Bool_t anapp) {fAnapp = anapp ;if(fAnapp) Printf("AliAnalysisTaskV0ForRAA::analysing pp!!!");}
5842a526 70 void SetRejectPileUpSPD(Bool_t rejectPU = kFALSE) {fRejectPileUpSPD = rejectPU;if(fRejectPileUpSPD) Printf("AliAnalysisTaskV0ForRAA::reject pileup events from SDP in pp");}
6cdc2a74 71 void SelectWithSDD(Bool_t sdd) {fSelSDD =sdd; if(sdd) Printf("AliAnalysisTaskV0ForRAA:: only events with SDD selected!");}
5842a526 72 void SelectWithNoSDD(Bool_t sdd) {fSelNoSDD =sdd; if(sdd) Printf("AliAnalysisTaskV0ForRAA:: only events with NO SDD selected!");}
6cdc2a74 73
74 //-- track cuts --//
11e769d9 75 void SetESDTrackCuts(Int_t ncr, Double_t chi2=4, Bool_t tpcrefit=kTRUE) {fNcr=ncr;fChi2cls=chi2,fTPCrefit=tpcrefit;Printf("AliAnalysisTaskV0ForRAA::AliESDtrackCuts for V0s set ncr %i, chi2 %1.2f, TPC refit %i",ncr,chi2,tpcrefit);}
76 void SetESDTrackCutsCharged(Int_t ncr, Double_t chi2=4, Bool_t tpcrefit=kTRUE) {fNcrCh=ncr;fChi2clsCh=chi2,fTPCrefitCh=tpcrefit;Printf("AliAnalysisTaskV0ForRAA::AliESDtrackCuts for charged particles setncr %i, chi2 %1.2f, TPC refit %i",ncr,chi2,tpcrefit);}
77 void SetESDTrackCutsLowPt(Int_t ncr, Double_t chi2=4, Bool_t tpcrefit=kTRUE) {fNcrLpt=ncr;fChi2clsLpt=chi2,fTPCrefitLpt=tpcrefit;Printf("AliAnalysisTaskV0ForRAA::AliESDtrackCuts for low pt particles set ncr %i, chi2 %1.2f, TPC refit %i",ncr,chi2,tpcrefit);}
6c301331 78
6cdc2a74 79 void SetUseOnthefly(Bool_t useonthefly) {fOntheFly = useonthefly; if(!fOntheFly) Printf("AliAnalysisTaskV0ForRAA::offline V0s");}
5842a526 80 void SetUsePID(Bool_t usepid,Double_t nsigma=100.0,Double_t pcut=100.0,Bool_t pidpion=kFALSE,Double_t nsigma2=100.0) {fUsePID = usepid;fNSigma = nsigma;fPPIDcut = pcut; fUsePIDPion = pidpion;fNSigma2 = nsigma2; if(fUsePID) Printf("AliAnalysisTaskV0ForRAA::proton PID! of %4.2f for p: %4.2f, also pion? %i nsig2=%4.2f",fNSigma,pcut,pidpion,fNSigma2);}
aa3d4e29 81 void SetCutMoreNclsThanRows(Bool_t cut) {fMoreNclsThanRows=cut; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on more ncls than crossed rows");}
6cdc2a74 82 void SetCutMoreNclsThanFindable(Bool_t cut) {fMoreNclsThanFindable=cut; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on more ncls than ncls findable");}
aa3d4e29 83 void SetCutMoreNclsThanFindableMax(Bool_t cut) {fMoreNclsThanFindableMax = cut; if(cut) Printf("AliAnalysisTaskV0ForRAA::cut on more ncls than ncls findable max");}
84
5842a526 85 void SetRatioFoundOverFindable(Double_t cut) {fRatioFoundOverFindable = cut; Printf("AliAnalysisTaskV0ForRAA::cut on found over finable clusters %f",cut);}
86 void SetRatioMaxCRowsOverFindable(Double_t cut) {fRatioMaxCRowsOverFindable = cut; Printf("AliAnalysisTaskV0ForRAA::cut on max crossed rows over finable clusters %f",cut);}
aa3d4e29 87
88 void SetLowPtTPCCutAliESDTrackCut(Double_t pt) {fPtTPCCut=pt;Printf("AliAnalysisTaskV0ForRAA::SetLowPtTPCCutAliESDTrackCut pt=%2.2f",pt);}
89
6cdc2a74 90 void SetMaxChi2PerITSCluster(Double_t chi2) {fChi2PerClusterITS = chi2; Printf("AliAnalysisTaskV0ForRAA::max chi2 per ITS cluster %3.2f",chi2);}
91 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);}
92 void SetMinPt(Double_t minPt=0.0) {fMinPt = minPt; if(minPt>0.0) Printf("AliAnalysisTaskV0ForRAA::cut on min pt %2.2f",minPt);}
93 /* void SetPtShift(const Double_t shiftVal) {
94 //user defined shift in charge/pt
95 if(shiftVal) { fShift=kTRUE; fDeltaInvP = shiftVal; Printf("AliAnalysisTaskV0::WARNING!!!!!!!!!!!!!! pt shift introduced!");}
96 }
97 */
11e769d9 98 void SetDCAV0ToVertexK0(Double_t dcaTovertex) {fDCAToVertexK0 = dcaTovertex; Printf("AliAnalysisTaskV0ForRAA::dca to vertex K0s %2.3f",dcaTovertex);}
99 void SetDCAV0ToVertexL(Double_t dcaTovertex) {fDCAToVertexL = dcaTovertex; Printf("AliAnalysisTaskV0ForRAA::dca to vertex L/AL %2.3f",dcaTovertex);}
100 void SetDCADaughtersL(Double_t dcaDaughters) {fDCADaughtersL = dcaDaughters; Printf("AliAnalysisTaskV0:ForRAA:dca daughters L %2.3f",dcaDaughters);}
6cdc2a74 101 void SetDCADaughtersAL(Double_t dcaDaughters) {fDCADaughtersAL = dcaDaughters; Printf("AliAnalysisTaskV0ForRAA::dca daughters AL %2.3f",dcaDaughters);}
102 void SetDCADaughtersK0(Double_t dcaDaughters) {fDCADaughtersK0 = dcaDaughters; Printf("AliAnalysisTaskV0ForRAA::dca daughters K0s %2.3f",dcaDaughters);}
103 void SetDCADaughtersLargeToVertex(Double_t dcaDaughtersVtx) {fDCADaughtersToVtxLarge = dcaDaughtersVtx; Printf("AliAnalysisTaskV0ForRAA::dca daughters to vertex large %2.3f",dcaDaughtersVtx);}
104 void SetDCADaughtersSmallToVertex(Double_t dcaDaughtersVtx) {fDCADaughtersToVtxSmall = dcaDaughtersVtx; Printf("AliAnalysisTaskV0ForRAA::dca daughters to vertex small %2.3f",dcaDaughtersVtx);}
6c301331 105 void SetDecayRadiusXYMinMax(Double_t decMin,Double_t decMax,Double_t pt=100000.0){fDecayRadXYMin = decMin;fDecayRadXYMax = decMax;fPtDecRadMin =pt;Printf("AliAnalysisTaskV0ForRAA::min xy decay radius %2.3f max %2.3f for max pt %2.2f",decMin,decMax,pt);}
11e769d9 106 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);}
107 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);}
108 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);}
6cdc2a74 109
110 void SetMaxDecayLength(Double_t decLength) {fDecayLengthMax = decLength; Printf("AliAnalysisTaskV0ForRAA::SetMaxDecayLength %2.3f",decLength);}
111 void SetMinDecayLength(Double_t decLength) {fDecayLengthMin = decLength; Printf("AliAnalysisTaskV0ForRAA::SetMinDecayLength %2.3f",decLength);}
112 void SetDCAXK0(Double_t dcaXK) {fDCAXK = dcaXK; Printf("AliAnalysisTaskV0ForRAA::SetDCAXK0 %2.3f",dcaXK);}
113 void SetDCAYK0(Double_t dcaYK) {fDCAYK = dcaYK; Printf("AliAnalysisTaskV0ForRAA::SetDCAYK0 %2.3f",dcaYK);}
114 void SetDCAXLambda(Double_t dcaXL) {fDCAXL = dcaXL; Printf("AliAnalysisTaskV0ForRAA::SetDCAXLambda %2.3f",dcaXL);}
115 void SetDCAYLambda(Double_t dcaYL) {fDCAXL = dcaYL; Printf("AliAnalysisTaskV0ForRAA::SetDCAYLambda %2.3f",dcaYL);}
11e769d9 116 void SetDCAZ(Double_t dcaZ) {fDCAZ = dcaZ; Printf("AliAnalysisTaskV0ForRAA::SetDCAZ %2.3f",dcaZ);}
6cdc2a74 117 void SetChi2CutKf(Bool_t chi2){ fChiCutKf = chi2; Printf("AliAnalysisTaskV0ForRAA::SetChi2CutKf %i",chi2);}
118 //Double_t chi2) {fChiCutKf = chi2; Printf("AliAnalysisTaskV0ForRAA::SetChi2CutKf %3.2f",chi2);}
11e769d9 119 void SetArmenterosCutAlpha(Double_t alfaMin) {fAlfaCut = alfaMin;Printf("AliAnalysisTaskV0ForRAA::SetArmenterosCut a=%1.3f",alfaMin);}
120 void SetArmenterosCutQt(Double_t ptmin,Double_t ptmax,Bool_t k0s,Bool_t la,Double_t slope=0.2,Double_t qtLinear=0.0){fQtCutPt = ptmax;fQtCutPtLow = ptmin, fArmQtSlope = slope,fArmCutK0 = k0s;fArmCutL = la;fQtCut = qtLinear;Printf("AliAnalysisTaskV0ForRAA::SetArmenterosCut ptmin = %3.2f ptmax = %3.2f. slope: %1.2f. Is K0s? %i La? %i, qt linear: %3.2f",ptmin,ptmax,slope,k0s,la,qtLinear);}
6c301331 121 void SetMinMassDiffLK0s(Double_t diffK,Double_t diffL) {fExcludeLambdaFromK0s = diffK;fExcludeK0sFromLambda = diffL; Printf("AliAnalysisTaskV0ForRAA::SetMaxMassDifferenceLK0s for K0s %1.3f K0s for L %1.3f",diffK,diffL);}
122 void SetMinMassDiffPhoton(Double_t diffK,Double_t diffL) {fExcludePhotonsFromK0s = diffK;fExcludePhotonsFromLambda = diffL; Printf("AliAnalysisTaskV0ForRAA::SetMaxMassDifferencePhoton for K0s %1.3f K0s for L %1.3f",diffK,diffL);}
aa3d4e29 123
11e769d9 124 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;
6cdc2a74 125 Printf("AliAnalysisTaskV0ForRAA::SetCtauCut ctK=%2.2f, ctL = %2.2f for ptK= %5.2f ptL=%5.2f",ctK0s,ctL,ptK0,ptL);}
11e769d9 126 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);}
aa3d4e29 127 // void SetEtaSignCut(Double_t etasign) {fEtaSignCut = etasign;Printf("AliAnalysisTaskV0ForRAA::eta cut sign on daughters %2.2f !",etasign);}
5842a526 128 void SetLowHighMassCut(Double_t lowK=0.25,Double_t highK=0.75,Double_t lowL=1.05,Double_t highL=1.25){fK0sLowMassCut = lowK; fK0sHighMassCut = highK; fLLowMassCut = lowL; fLHighMassCut = highL; Printf("AliAnalysisTaskV0ForRAA::SetLowHighMassCut K0s: low = %1.3f high = %1.3f Lambda: low = %1.3f high = %1.3f",lowK,highK,lowL,highL);}
129 void SetMinMaxNCLSITS(Int_t minP,Int_t maxP,Int_t minN,Int_t maxN,Bool_t switchCase=kFALSE,Double_t radmin=0.0000,Double_t radmax=10000.0){fMinNCLSITSPos = minP; fMaxNCLSITSPos = maxP;fMinNCLSITSNeg = minN; fMaxNCLSITSNeg = maxN;fSwitchCaseITSCls = switchCase;fDecRadCutITSMin=radmin;fDecRadCutITSMax=radmax;Printf("AliAnalysisTaskV0ForRAA::SetMinMaxNCLSITS for V0 daughters minPos %i, maxPos %i, minNeg %i, maxNeg %i switch case %i for 2D decay rad. min: %3.2f max: %3.2f",minP,maxP,minN,maxN,switchCase,radmin,radmax);}
9c758b88 130
5842a526 131 void SetTPCTrackCutsMI(Bool_t tlength=kFALSE, Bool_t crows=kFALSE, Bool_t ncls=kFALSE,Double_t lf1=1.0,Double_t lf2=0.85){fCutMITrackLength = tlength; fCutMICrossedR=crows; fCutMITPCncls=ncls; fCutMITrackLengthLengthF=lf1;fCutMICrossedRLengthF=lf2;Printf("AliAnalysisTaskV0ForRAA::SetTPCTrackCutsMI track length %i crossed rows %i ncls %i factor length %1.2f factor ncr %1.2f",fCutMITrackLength, fCutMICrossedR,fCutMITPCncls,lf1,lf2);}
132
11e769d9 133 void SetFillDetHistoAL(Bool_t fillAL = kFALSE) {fSetFillDetAL = fillAL; if(fillAL) Printf("AliAnalysisTaskV0ForRAA::SetFillDetHistoAL fill detetctor histos with AL instead L");}
134 void SetFillPt(Bool_t fillpt = kFALSE) {fSetPtDepHist = fillpt; if(fillpt) Printf("AliAnalysisTaskV0ForRAA::SetFillPt fill pt instead of mass");}
135 void SetMinDistTPCInner(Double_t dist = 1000000.0) {fDistanceTPCInner = dist; Printf("AliAnalysisTaskV0ForRAA::SetMinDistTPCInner set dist min to %2.2f",dist); }
5842a526 136
6c301331 137 void SetStopRecoLoop(Bool_t stop) {fStopLoop = stop; Printf("AliAnalysisTaskV0ForRAA::SetStopRecoLoop %i",stop);}
138
6cdc2a74 139 private:
9c758b88 140
6cdc2a74 141 //----------------------------functions --------------------------------------------//
9c758b88 142
5842a526 143 void Process(); // process event
aa3d4e29 144 void V0RecoLoop(Int_t id0,Int_t id1,Int_t isSecd,Int_t what,Double_t ptV0MC,Int_t pdgMother,Double_t ptXiMother,Double_t decaylengthMCV0); // loop over reconstructed V0 (data or MC)
5842a526 145 void V0MCTruthLoop(); // loop over MC truth V0s
146 Int_t CalculateCentralityBin(); // get the centrality bin from multiplicity
147 Bool_t GetMCTruthPartner(AliESDtrack *pos,AliESDtrack *neg,Int_t id0,Int_t id1);// find MC truth partner for reconstructed track
6c301331 148 Bool_t CheckMultipleV0Candidates(AliESDv0 *v0MIs,Int_t iV0MI,Int_t trackID[][2]);//check if V0 was already found
149 Int_t FindPDGCode(AliStack *stackRec,AliESDtrack *trackPos,AliESDtrack *trackNeg);
150
6cdc2a74 151 //----------------------------- objects ----------------------------------------------//
9c758b88 152
6cdc2a74 153 //event
5842a526 154 AliESDEvent *fESD; //ESD event object
155 AliMCEvent *fMCev; //MC event object
aa3d4e29 156
157
6cdc2a74 158 //PID and track cuts
5842a526 159 AliPIDResponse *fESDpid; //pid object
160 AliESDtrackCuts *fESDTrackCuts; //esd track cuts for daughters
161 AliESDtrackCuts *fESDTrackCutsCharged;//esd track cuts for all charged particles
162 AliESDtrackCuts *fESDTrackCutsLowPt; //esd track cuts for daughters at low pt
9c758b88 163
5842a526 164 TList *fOutputContainer; // output data container
9c758b88 165
6cdc2a74 166 //----------------------------histograms --------------------------------------------//
6c301331 167 THnF *fTHnFK0s;
168 THnF *fTHnFL;
169 THnF *fTHnFAL;
170
171 THnF *fTHnFK0sDauEta;
172 THnF *fTHnFLDauEta;
173 THnF *fTHnFALDauEta;
174 THnF *fTHnFK0sDauPhi;
175 THnF *fTHnFLDauPhi;
176 THnF *fTHnFALDauPhi;
5842a526 177 //-------------------event histos -------------------//
6cdc2a74 178 TH1F *fHistITSLayerHits; // pp 2.76 TeV analysis: check hist on div. ITS layer
179 TH1F *fHistOneHitWithSDD; // pp 2.76 TeV analysis: check hist on at least one ITS layer
aa3d4e29 180 TH1F *fHistNEvents; // count number of events for each event cut
181 TH2F *fHistPrimVtxZESDVSNContributors; // count contributors to ESD vertex
6cdc2a74 182 TH2F *fHistPrimVtxZESDTPCVSNContributors; // count contributors to TPC vertex
183 TH2F *fHistPrimVtxZESDSPDVSNContributors; // count contributors to SPD vertex
aa3d4e29 184
aa3d4e29 185 TH1F *fHistPrimVtxZESD; // primary ESD vertex position z after cuts and processing
186 TH1F *fHistPrimVtxZESDTPC; // primary TPC vertex position z after cuts and processing
187 TH1F *fHistPrimVtxZESDSPD; // primary SPD vertex position z after cuts and processing
6cdc2a74 188
aa3d4e29 189 TH1F *fHistESDVertexZ; // primary TPC vertex position z before cuts
5842a526 190
aa3d4e29 191 TH1F *fHistMuliplicity; // number of particles from centrality selection
192 TH1F *fHistMuliplicityRaw; // number of particles from centrality selection before processing
193 TH1F *fHistCentBinRaw; // events per centralitybin before centrality selection
194 TH1F *fHistCentBin; // events per centralitybin
195 TH1F *fHistMultiplicityPrimary; // number of charged particles
aa3d4e29 196 TH1F *fHistNPrim; // number of contributors to the prim vertex
6cdc2a74 197
5842a526 198 //------------------------ single V0 histos --------------------------//
6c301331 199 // TH3F *fHistPiPiPhiPosVsPtPosVsMass;//xxx
5842a526 200 // TH3F *fHistPiPPhiPosVsPtPosVsMass;//xxx
6c301331 201 //TH3F *fHistPiAPPhiPosVsPtPosVsMass;//xxx
5842a526 202 TH2F *fHistPiPiK0sVsLambdaMass; // K0s mass vs Lamba mass for all pt for K0s
203 TH2F *fHistPiPiK0sVsALambdaMass; // K0s mass vs ALamba mass for all pt for K0s
204 TH2F *fHistPiPK0sVsLambdaMass; // K0s mass vs Lamba mass for all pt for Lambda
205 TH2F *fHistPiAPK0sVsALambdaMass; // K0s mass vs ALamba mass for all pt for ALambda
206 TH2F *fHistPiPALambdaVsLambdaMass; // ALambda mass vs Lambda for Lambda
207 TH2F *fHistPiAPLambdaVsALambdaMass; // Lambda mass vs ALambda for ALambda
208
209 //----------------------- K0 ----------------------------------------//
210 TH1F *fHistPiPiMass; // pi+pi- InvMass spectrum
211 TH2F *fHistPiPiMassVSPt; // pi+pi- InvMass spectrum vs pt
212 TH2F *fHistPiPiMassVSPtMCTruth; // pi+pi- InvMass spectrum vs pt MC truth
213 TH2F *fHistPiPiMassVSY; // pi+pi- InvMass spectrum vs rapidity
214 TH2F *fHistPiPiPtVSY; // pi+pi- pt vs rapidity
215
216 // TH2F *fHistPiPiMassVSAlpha; // pi+pi- InvMass spectrum vs armenteros alpha
217 TH2F *fHistPiPiRadiusXY; // pi+pi- opening angle vs mass
218 TH2F *fHistPiPiCosPointAng; // pi+pi- cosine of pointing angle vs pt or dca to vertex
219 TH2F *fHistPiPiDCADaughterPosToPrimVtxVSMass; // dca of pos. K0s daughter to prim vtx vs mass
220 TH2F *fHistPiPiDecayLengthVsPt; // pi+pi- decay lenght vs pt
221 TH2F *fHistPiPiDecayLengthVsMass; // pi+pi- decay lenght vs pt
222 TH2F *fHistPiPiDecayLengthVsCtau; // pi+pi- decay lenght vs pt
6c301331 223
5842a526 224 //TH2F *fHistPiPiMassVSPtK0L; // K0L InvMass vs pt distribution
225 TH2F *fHistPiPiDCADaughters; // pi+pi- dca between daughters
226 // TH2F *fHistPiPiPtDaughters; // pi+pi- daughters pt pos vs pt neg
227 TH2F *fHistPiPiDCAVSMass; // pi+pi- dca to prim vtx vs mass
6c301331 228 // TH2F *fHistPiPiDCAZPos; // dca z component of pos K0s daughter
229 //TH2F *fHistPiPiDCAZNeg; // dca z component of neg K0s daughter
5842a526 230 TH2F *fHistPiPiTrackLengthPosVsMass; // track length of pos K0s daughter in TPC
231 TH2F *fHistPiPiTrackLengthNegVsMass; // track length of neg K0s daughter in TPC
232 TH1F *fHistPiPiMonitorCuts; // pi+pi- cut monitor
233 TH1F *fHistPiPiMonitorMCCuts; // pi+pi- cut monitor mc
234 TH2F *fHistPiPiDecayLengthResolution; // pi+pi- decay length resolution: mcreco vs mctruth
235 //detectors
236 TH2F *fHistNclsITSPosK0; // number of clusters from ITS of positive K0s daughters
237 TH2F *fHistNclsITSNegK0; // number of clusters from ITS of negative K0s daughters
238 TH2F *fHistNclsTPCPosK0; // number of clusters from TPC of positive K0s daughters
239 TH2F *fHistNclsTPCNegK0; // number of clusters from TPC of negative K0s daughters
240 TH2F *fHistChi2PerNclsITSPosK0; // chi^2 per number of clusters ITS of positive K0s daughters
241 TH2F *fHistChi2PerNclsITSNegK0; // chi^2 per number of clusters ITS of negative K0s daughters
242 TH2F *fHistNCRowsTPCPosK0; // no of crossed rows for K0s pos daughter
243 TH2F *fHistNCRowsTPCNegK0; // no of crossed rows for K0s neg daughter
244 TH2F *fHistRatioFoundOverFinableTPCK0Pos; // ratio of ncls findable over found TPC K0s daughters
245 TH2F *fHistRatioFoundOverFinableTPCK0Neg; // ratio of ncls findable over found TPC K0s daughters
246
247 //------------------------- MC only histos ---------------------------------------------------//
248 TH2F *fHistPrimVtxZESDVSNContributorsMC; // count contributors to ESD vertex MC
249 TH2F *fHistPrimVtxZESDTPCVSNContributorsMC; // count contributors to TPC vertex MC
250 TH2F *fHistPrimVtxZESDSPDVSNContributorsMC; // count contributors to SPD vertex MC
251 TH1F *fHistMCVertexZ; // primary MC vertex position z
aa3d4e29 252 TH1F *fHistPiPiPDGCode; // PDG code of K0 mothers
5842a526 253 TH1F *fHistPiPPDGCode; // PDG code of Lambda mothers
254 TH1F *fHistPiAPPDGCode; // PDG code of Lambda mothers
6c301331 255 /*
256 //-- BG of K0s
257 TH2F *fHistPiPiGA;
258 TH2F *fHistPiPiKch;
259 TH2F *fHistPiPiPhi;
260 TH2F *fHistPiPiL;
261 TH2F *fHistPiPiPi0;
262 TH2F *fHistPiPiPich;
263 TH2F *fHistPiPiRoh;
264 TH2F *fHistPiPiOmega;
265 TH2F *fHistPiPiKStar;
266 TH2F *fHistPiPiNoMother;
267 TH2F *fHistPiPiK0s;
268 TH2F *fHistPiPiK0L;
269 TH2F *fHistPiPiN;
270 TH2F *fHistPiPiSigma;
271 TH2F *fHistPiPiXi;
272 TH2F *fHistPiPiDelta;
273 TH2F *fHistPiPiB;
274 TH2F *fHistPiPiD;
275 TH2F *fHistPiPiEta;
276 //-- BG of Lambda
277 TH2F *fHistPiPGA;
278 TH2F *fHistPiPKch;
279 TH2F *fHistPiPK0s;
280 TH2F *fHistPiPPi0;
281 TH2F *fHistPiPPich;
282 TH2F *fHistPiPKStar;
283 TH2F *fHistPiPN;
284 TH2F *fHistPiPNoMother;
285 TH2F *fHistPiPL;
286 */
287 //others for (A)Lambda
5842a526 288 TH2F *fHistPiPCosPointAngXiVsPt; // cosine of pointing angle of xis vs pt
289 TH2F *fHistPiAPCosPointAngXiVsPt; // cosine of pointing angle of xis vs pt
290 TH2F *fHistPiPMassVSPtSecXiMCTruth;
291 TH2F *fHistPiPMassVSPtSecOmegaMCTruth;
292 TH2F *fHistPiAPMassVSPtSecXiMCTruth;
293 TH2F *fHistPiAPMassVSPtSecOmegaMCTruth;
294
295 //--------------------------------- histos with secondaries' histo------------------------------//
296 TH2F *fHistV0RadiusZ[2]; // V0 decay radius z
297 TH2F *fHistV0RadiusZVSPt[2]; // V0 decay radius z vs pt
298 TH2F *fHistV0RadiusXY[2]; // V0 decay radius x vs y
299 TH2F *fHistV0RadiusXYVSY[2]; // V0 decay radius xy vs rapidity
9c758b88 300
5842a526 301 TH2F *fHistArmenteros[2]; // armenteros
302
303 //------------------------------------- Lambda -------------------------------------------------//
aa3d4e29 304 TH1F *fHistPiPMass[2]; // p+pi- InvMass spectrum
aa3d4e29 305 TH2F *fHistPiPMassVSPt[2]; // p+pi- InvMass spectrum vs pt
306 TH2F *fHistPiPMassVSPtMCTruth[2]; // p+pi- InvMass spectrum vs pt MC truth
5842a526 307 TH2F *fHistPiPMassVSY[2]; // p+pi- InvMass spectrum vs rapidity
308 TH2F *fHistPiPPtVSY[2]; // p+pi- pt vs rapidity
aa3d4e29 309 TH2F *fHistPiPRadiusXY[2]; // p+pi- opening angle vs mass
310 TH2F *fHistPiPCosPointAng[2]; // p+pi- cosine of pointing angle vs pt or dca to vertex
311 TH2F *fHistPiPDCADaughterPosToPrimVtxVSMass[2]; // dca of pos. Lambda daughter to prim vtx vs mass
5842a526 312 TH2F *fHistPiPDCADaughterNegToPrimVtxVSMass[2]; // dca of neg. Lambda daughter to prim vtx vs mass
aa3d4e29 313 TH2F *fHistPiPDecayLengthVsPt[2]; // p+pi- decay lenght vs pt
314 TH2F *fHistPiPDecayLengthVsMass[2]; // p+pi- decay lenght vs pt
315 TH2F *fHistPiPDecayLengthVsCtau[2]; // p+pi- decay lenght vs pt
6c301331 316
aa3d4e29 317 TH2F *fHistPiPDCADaughters[2]; // p+pi- dca between daughters
5842a526 318 //TH2F *fHistPiPPtDaughters[2]; // p+pi- daughters pt pos vs pt neg
aa3d4e29 319 TH2F *fHistPiPDCAVSMass[2]; // p+pi- dca to prim vtx vs mass
320 TH1F *fHistPiPMonitorCuts[2]; // p+pi- cut monitor
321 TH1F *fHistPiPMonitorMCCuts[2]; // p+pi- cut monitor mc
322 TH2F *fHistPiPMassVSPtSecSigma[2]; // InvMass distribution vs pt of secondary lambdas from sigma truth(0) reco(1)
323 TH2F *fHistPiPMassVSPtSecXi[2]; // InvMass distribution vs pt of secondary lambdas from xi MC truth(0) reco(1)
324 TH2F *fHistPiPMassVSPtSecOmega[2]; // InvMass distribution vs pt of secondary lambdas from omega MC truth(0) reco(1)
325 TH2F *fHistPiPMassVSYSecXi[2]; // InvMass distribution vs rapidity of secondary lambdas from xi MC truth(0) reco(1)
326 TH2F *fHistPiPXi0PtVSLambdaPt[2] ; // pt of xi0 vs pt lambda truth(0) reco(1)
327 TH2F *fHistPiPXiMinusPtVSLambdaPt[2]; // pt of ximinus vs pt lambda truth(0) reco(1)
328 TH2F *fHistPiPOmegaPtVSLambdaPt[2]; // pt of omega plus vs pt alambda truth(0) reco(1)
5842a526 329 TH2F *fHistPiPDecayLengthResolution[2]; // Lambda decay length resolution MCreco vs MC truth
330 // TH2F *fHistPiPDCAZPos[2]; // dca z component of pos Lambda daughter
331 // TH2F *fHistPiPDCAZNeg[2]; // dca z component of neg Lambda daughter
332 TH2F *fHistPiPTrackLengthPosVsMass[2]; // track length of pos Lambda daughter in TPC
333 TH2F *fHistPiPTrackLengthNegVsMass[2]; // track length of neg Lambda daughter in TPC
aa3d4e29 334
5842a526 335 //---------------------------------------- Antilambda --------------------------------------------------------------//
6cdc2a74 336 TH1F *fHistPiAPMass[2]; // pi+p- InvMass spectrum
337 TH2F *fHistPiAPMassVSPt[2]; // pi+p- InvMass spectrum vs pt
338 TH2F *fHistPiAPMassVSPtMCTruth[2]; // pi+p- InvMass spectrum vs pt MC Truth
5842a526 339 TH2F *fHistPiAPMassVSY[2]; // pi+p- InvMass spectrum vs rapidity
340 TH2F *fHistPiAPPtVSY[2]; // pi+p- pt vs rapidity
6cdc2a74 341 TH2F *fHistPiAPRadiusXY[2]; // pi+p- opening angle vs mass
342 TH2F *fHistPiAPCosPointAng[2]; // pi+p- cosine of pointing angle vs pt or dca to vertex
5842a526 343 TH2F *fHistPiAPDCADaughterPosToPrimVtxVSMass[2];// dca of pos ALambda daughter to prim vtx vs mass
344 TH2F *fHistPiAPDCADaughterNegToPrimVtxVSMass[2];// dca of neg ALambda daughter to prim vtx vs mass
aa3d4e29 345 TH2F *fHistPiAPDecayLengthVsPt[2]; // pi+p- decay lenght vs pt
6cdc2a74 346 TH2F *fHistPiAPDecayLengthVsMass[2]; // pi+p- decay lenght vs pt
aa3d4e29 347 TH2F *fHistPiAPDecayLengthVsCtau[2]; // pi+p- decay lenght vs pt
6c301331 348
6cdc2a74 349 TH2F *fHistPiAPDCADaughters[2]; // pi+p- dca between daughters
5842a526 350 // TH2F *fHistPiAPPtDaughters[2]; // pi+p- daughters pt pos vs pt neg
6cdc2a74 351 TH2F *fHistPiAPDCAVSMass[2]; // pi+p- dca to prim vtx vs mass
352 TH1F *fHistPiAPMonitorCuts[2]; // pi+p- cut monitor
aa3d4e29 353 TH1F *fHistPiAPMonitorMCCuts[2]; // pi+p- cut monitor mc
6cdc2a74 354 TH2F *fHistPiAPMassVSPtSecSigma[2]; // InvMass distribution vs pt of secondary alambdas from sigma truth(0) reco(1)
355 TH2F *fHistPiAPMassVSPtSecXi[2]; // InvMass distribution vs pt of secondary alambdas from xi MC truth(0) reco(1)
aa3d4e29 356 TH2F *fHistPiAPMassVSPtSecOmega[2]; // InvMass distribution vs pt of secondary alambdas from omega MC truth(0) reco(1)
6cdc2a74 357 TH2F *fHistPiAPMassVSYSecXi[2]; // InvMass distribution vs rapidity of secondary alambdas from xi MC truth(0) reco(1)
358 TH2F *fHistPiAPXi0PtVSLambdaPt[2] ; // pt of xi0 vs pt alambda truth(0) reco(1)
359 TH2F *fHistPiAPXiMinusPtVSLambdaPt[2]; // pt of ximinus vs pt alambda truth(0) reco(1)
aa3d4e29 360 TH2F *fHistPiAPOmegaPtVSLambdaPt[2]; // pt of omega plus vs pt alambda truth(0) reco(1)
5842a526 361 TH2F *fHistPiAPDecayLengthResolution[2]; // ALambda decay length resolution MCreco vs MC truth
362 // TH2F *fHistPiAPDCAZPos[2]; // dca z component of pos ALambda daughter
363 //TH2F *fHistPiAPDCAZNeg[2]; // dca z component of neg ALambda daughter
364 TH2F *fHistPiAPTrackLengthPosVsMass[2]; // track length of pos ALambda daughter in TPC
365 TH2F *fHistPiAPTrackLengthNegVsMass[2]; // track length of neg ALambda daughter in TPC
aa3d4e29 366
5842a526 367
368 //-------------------------------------------------------- others --------------------------------------------------//
6cdc2a74 369 //dEdx
370 TH2F *fHistDedxSecProt[2]; // dedx from proton cadidates vs pt
371 TH2F *fHistDedxSecAProt[2]; // dedx from antiproton candidates vs pt
372 TH2F *fHistDedxSecPiMinus[2]; // dedx from pi minus candidates vs pt
373 TH2F *fHistDedxSecPiPlus[2]; // dedx from pi plus candidates vs pt
aa3d4e29 374 TH2F *fHistDedxProt[2]; // dedx from proton cadidates vs pt before pidcut
375 TH2F *fHistDedxAProt[2]; // dedx from antiproton candidates vs pt before pidcut
376 TH2F *fHistDedxPiMinus[2]; // dedx from pi minus candidates vs pt before pidcut
377 TH2F *fHistDedxPiPlus[2]; // dedx from pi plus candidates vs pt before pidcut
378
5842a526 379 //clusters
6cdc2a74 380 TH2F *fHistNclsITS[2]; // number of clusters ITS pos vs neg daughters
381 TH2F *fHistNclsTPC[2]; // number of clusters TPC neg daughters vs number of crossed rows
5842a526 382 TH2F *fHistNclsITSPosL[2]; // number of clusters from ITS of positive lambda daughters
383 TH2F *fHistNclsITSNegL[2]; // number of clusters from ITS of negative lambda daughters
384 TH2F *fHistNclsTPCPosL[2]; // number of clusters from TPC of positive lambda daughters
385 TH2F *fHistNclsTPCNegL[2]; // number of clusters from TPC of negative lambda daughters
386 TH2F *fHistChi2PerNclsITSPosL[2]; // chi^2 per number of clusters ITS of positive lambda daughters
387 TH2F *fHistChi2PerNclsITSNegL[2]; // chi^2 per number of clusters ITS of negative lambda daughters
388 TH2F *fHistNCRowsTPCPosL[2]; // number of crossed rows for Lambda pos daughter
389 TH2F *fHistNCRowsTPCNegL[2]; // number of crossed rows for Lambda neg daughter
390 TH2F *fHistRatioFoundOverFinableTPCLPos[2]; // ratio of ncls findable over found TPC L daughters
391 TH2F *fHistRatioFoundOverFinableTPCLNeg[2]; // ratio of ncls findable over found TPC L daughters
6cdc2a74 392 TH2F *fHistPiPiEtaDMC[2]; // eta of daughters vs pt K0s MC truth raw(0) after cuts(1)
393 TH2F *fHistPiPEtaDMC[2]; // eta of daughters vs pt lambda MC truth raw(0) after cuts(1)
394 TH2F *fHistPiPiEtaDReco[2]; // eta of daughters ESD track vs eta AliESDv0 or vs pt K0s raw(0) after cuts(1)
395 TH2F *fHistPiPEtaDReco[2]; // eta of daughters ESD track vs eta AliESDv0 or vs pt (a)lambda raw(0) after cuts(1)
396
397 /*
398 //user shift
399 TH1F *fHistUserPtShift;//monitor user defined charge/pt shift
400 */
9c758b88 401
402
403
6cdc2a74 404 //---------------------------------- Variables--------------------------------------------//
405
406 //--cut options --//
407 //MC only
aa3d4e29 408 Bool_t fMCMode; // run over MC general yes/no
409 Bool_t fMCTruthMode; // MC truth selection yes/no
410 Bool_t fSelectInjected; // for MC with injected signals, select only injected
411 Bool_t fSelectMBMotherMC; // for MC with injected signals, select only MB MC mother for sec. Lambdas
412 Bool_t fCheckNegLabelReco; // reject MC truth and reco for neg labels in reco
413 Bool_t fOnlyFoundRecoV0; // reject MC truth if reco V0 not found
6cdc2a74 414
415 // Calculate centrality
aa3d4e29 416 Int_t fUseCentrality; // use centrality (0=off(default),1=VZERO,2=SPD)
417 Int_t fUseCentralityBin; // centrality bin to be used
418 Int_t fUseCentralityRange; // use centrality (0=off(default),1=VZERO,2=SPD)
6cdc2a74 419
420 //pp analysis
aa3d4e29 421 Bool_t fAnapp; // flag for pp analysis
5842a526 422 Bool_t fRejectPileUpSPD; // reject pileup events from SPD
aa3d4e29 423 Bool_t fSelSDD; // select pp events with SDD (for pp 2.76TeV LHC11a)
424 Bool_t fSelNoSDD; // select pp events with no SDD (for pp 2.76TeV LHC11a)
6cdc2a74 425 //onthefly
aa3d4e29 426 Bool_t fOntheFly; // true if onfly finder shall be used
6cdc2a74 427
428 //vertex
aa3d4e29 429 Double_t fVertexZCut; // z vertex cut value
430 Bool_t fVtxStatus; // vertex cut on/off
6cdc2a74 431
11e769d9 432 //esdtrackcuts
433 Int_t fNcr; // esd track cuts: number of crossed rows TPC for V0 daughters
434 Double_t fChi2cls; // esd track cuts: chi2 per cluster TPC for V0 daughters
435 Bool_t fTPCrefit; // esd track cuts: tpc refit for V0 daughters
436 Int_t fNcrCh; // esd track cuts: number of crossed rows TPC for charged
437 Double_t fChi2clsCh; // esd track cuts: chi2 per cluster TPC for charged
438 Bool_t fTPCrefitCh; // esd track cuts: tpc refit for charged
439 Int_t fNcrLpt; // esd track cuts: number of crossed rows TPC for low pt
440 Double_t fChi2clsLpt; // esd track cuts: chi2 per cluster TPC for low pt
441 Bool_t fTPCrefitLpt; // esd track cuts: tpc refit for low pt
442
6cdc2a74 443 //PID
5842a526 444 Bool_t fUsePID; // use proton pid yes/no
445 Bool_t fUsePIDPion; // use pion pid yes/no
aa3d4e29 446 Double_t fNSigma; // set nsigma value
5842a526 447 Double_t fNSigma2; // set nsigma 2 value
aa3d4e29 448 Double_t fPPIDcut; // set max momentum for pid cut usage
449 Double_t fPtTPCCut; // low pt limit cut for TPC cluster cuts from AliESDtrackCuts
450 Bool_t fMoreNclsThanRows; // cut on ncls>ncrossed rows yes/no
451 Bool_t fMoreNclsThanFindable; // cut on ncls>nfindable cls yes/no
452 Bool_t fMoreNclsThanFindableMax; // cut on ncls>nfindable max cls yes/no
453 Double_t fRatioFoundOverFindable; // cut on found over findable clusters TPC
454 Double_t fRatioMaxCRowsOverFindable;// cut on crossed rows over finable max
455 Double_t fChi2PerClusterITS; // cut on chi2 per ITS cluster
11e769d9 456 Double_t fDistanceTPCInner; // cut on distance of daughters at TPC entrance
5842a526 457 Int_t fMinNCLSITSPos; // min ncls ITS of pos daugter cut
458 Int_t fMinNCLSITSNeg; // min ncls ITS of neg daugter cut
459 Int_t fMaxNCLSITSPos; // max ncls ITS of pos daugter cut
460 Int_t fMaxNCLSITSNeg; // max ncls ITS of neg daugter cut
461 Bool_t fSwitchCaseITSCls; // apply pos and neg ITS cls cluster cut with
462 // or for both daughters for at least one of the daughters shall have ...
463 Bool_t fCutMITrackLength; // cut on geom track length in TPC as Marian Ivanov sugg.
464 Bool_t fCutMICrossedR; // cut on crossed rows in TPC as Marian Ivanov sugg.
465 Bool_t fCutMITPCncls; // cut on ncls in TPC as Marian Ivanov sugg.
466 Double_t fCutMITrackLengthLengthF; // cut on track length in TPC as Marian Ivanov sugg. length factor
467 Double_t fCutMICrossedRLengthF; // cut on crossed rows in TPC as Marian Ivanov sugg. length factor
468
6cdc2a74 469 //rapidity
aa3d4e29 470 Bool_t fRapCutV0; // use rapidity cut for V0 yes/no
471 Double_t fRap; // user defined value for rapidity cut
6cdc2a74 472
473 //eta and pt
aa3d4e29 474 Double_t fEtaCutMCDaughters; // eta cut for MC daughters on/off
475 Double_t fEtaCutMCDaughtersVal; // eta cut value for MC daughters
476 // Double_t fEtaSignCut; // eta cutsign daughters
477 Double_t fMinPt; // pt min cut value
6cdc2a74 478
479 //armenteros
aa3d4e29 480 Double_t fAlfaCut; // set alpha armenteros cut value
481 Double_t fQtCut; // set ptmax for qt armenteros cut
5842a526 482 Double_t fQtCutPt; // set ptmax for qt armenteros cut
aa3d4e29 483 Double_t fQtCutPtLow; // set ptmin for qt armenteros cut
484 Bool_t fArmCutK0; // set armenteros cut on/off for K0s
485 Bool_t fArmCutL; // set armenteros cut on/off for Lambda
486 Double_t fArmQtSlope; // slope for armenteros K0s cut: qt = alpha*slope
6cdc2a74 487 //others
aa3d4e29 488 Double_t fExcludeLambdaFromK0s; // exlude Lambda mass from K0s throuh mass difference below this value
489 Double_t fExcludeK0sFromLambda; // exlude K0s mass from Lambda throuh mass difference below this value
6c301331 490 Double_t fExcludePhotonsFromK0s; // exlude photons from K0s throuh mass difference below this value
491 Double_t fExcludePhotonsFromLambda; // exlude photons from K0s throuh mass difference below this value
aa3d4e29 492 Double_t fDCAToVertexK0; // dca of V0 to vertex cut value K0s
493 Double_t fDCAToVertexL; // dca of V0 to vertex cut value L/AL
494 Double_t fDCAXK; // dca in x of K0s to vertex cut value
495 Double_t fDCAYK; // dca in y of K0s to vertex cut value
496 Double_t fDCAXL; // dca in x of Lambda to vertex cut value
497 Double_t fDCAYL; // dca in y of Lambda to vertex cut value
498 Double_t fDCAZ; // dca in z of V0 to vertex cut value
9c758b88 499
aa3d4e29 500 Double_t fDCADaughtersL; // dca between Lambda daughters cut value
501 Double_t fDCADaughtersAL; // dca between ALambda daughters cut value
502 Double_t fDCADaughtersK0; // dca between K0s daughters cut value
9c758b88 503
aa3d4e29 504 Double_t fDCADaughtersToVtxLarge; // dca large between V0 daughters and vertex cut value
505 Double_t fDCADaughtersToVtxSmall; // dca small between V0 daughters and vertex cut value
9c758b88 506
aa3d4e29 507 Double_t fDecayRadXYMin; // minmal decay radius in x-y cut value
508 Double_t fDecayRadXYMax; // maximal decay radius in x-y cut value
6c301331 509 Double_t fPtDecRadMin; // pt cut for max pt of radius cut usage
aa3d4e29 510 Double_t fCosPointAngL; // cosine of pointing angle cut value for Lambda and ALambda
511 Double_t fCosPointAngK; // cosine of pointing angle cut value for K0s
512 Double_t fCPAPtCutK0; // pt max for cosine of pointing angle cut K0s
513 Double_t fCPAPtCutL; // pt max for cosine of pointing angle cut Lambda
514 Double_t fOpengAngleDaughters; // cut on opening angle between V0 daughters
515 Double_t fOpAngPtCut; // max pt for using the opening angle between V0 daughters cut
5117e418 516
aa3d4e29 517 Double_t fDecayLengthMax; // maximal decay length in x-y-z cut value
518 Double_t fDecayLengthMin; // minimal decay length in x-y-z cut value
9c758b88 519
5842a526 520 Double_t fDecRadCutITSMin; // radius min for ITS cluster cut
521 Double_t fDecRadCutITSMax; // radius max for ITS cluster cut
522
6cdc2a74 523 //ctau
aa3d4e29 524 Double_t fCtauK0s; // multiple of ctau cut value for K0s
525 Double_t fCtauL; // multiple of ctau cut value for Lambda
526 Double_t fCtauPtCutK0; // pt max for ctau cut usage for K0s
527 Double_t fCtauPtCutL; // pt max for ctau cut usage for Lambda
9c758b88 528
6cdc2a74 529 //KF particle chi cut
5842a526 530 // Double_t fChiCutKf; //cut value of chi2 of AliKFParticle
531 Bool_t fChiCutKf; //cut value of chi2 of AliKFParticle
9c758b88 532
5842a526 533 Double_t fK0sLowMassCut; //lower cut on K0s mass
534 Double_t fK0sHighMassCut; //higher cut on K0s mass
535
536 Double_t fLLowMassCut; //lower cut on Lambda mass
537 Double_t fLHighMassCut; //higher cut on lambda mass
538
539
540 Bool_t fSetFillDetAL; // fill det histo with AL instead of Lambda
541 Bool_t fSetPtDepHist; // fill pt instead of mass
6c301331 542
543 Bool_t fStopLoop; // set stop reco loop to reject multiple times found V0s
544
6cdc2a74 545 /*
546 // option for user defined charge/pt shift
547 Bool_t fShift;// shift yes/no
548 Double_t fDeltaInvP;//define shift value
549 */
9c758b88 550
551
6cdc2a74 552 AliAnalysisTaskV0ForRAA(const AliAnalysisTaskV0ForRAA&);
553 AliAnalysisTaskV0ForRAA&operator=(const AliAnalysisTaskV0ForRAA&);
9c758b88 554
67492605 555 ClassDef(AliAnalysisTaskV0ForRAA, 1);
9c758b88 556};
557#endif