]>
Commit | Line | Data |
---|---|---|
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 | 13 | class TH1F; |
14 | class TH2F; | |
6c301331 | 15 | //class TH3F; |
aa3d4e29 | 16 | |
9c758b88 | 17 | class Tlist; |
aa3d4e29 | 18 | |
9c758b88 | 19 | class AliESDv0; |
692dbad9 | 20 | class AliESDtrack; |
9c758b88 | 21 | class AliESDtrackCuts; |
22 | class AliESDpid; | |
23 | class AliESDEvent; | |
24 | class AliMCEvent; | |
692dbad9 | 25 | class AliPIDResponse; |
6c301331 | 26 | class AliStack; |
27 | #include "THn.h" | |
692dbad9 | 28 | |
29 | #ifndef ALIANALYSISTASKSE_H | |
30 | #include "AliAnalysisTaskSE.h" | |
31 | #endif | |
32 | ||
9c758b88 | 33 | |
6c301331 | 34 | |
9c758b88 | 35 | class 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 |