#ifndef ALILEADINGV0CORRELATION
#define ALILEADINGV0CORRELATION
#include "AliAnalysisTask.h"
#include "TString.h"
#include "AliVParticle.h"
#include "AliLog.h"
#include "AliPID.h"
#include "THnSparse.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
class TList;
class AliAODEvent;
class AliEventPoolManager;
class AliVParticle;
class AliPIDResponse;
class AliPID;
class AliAODv0;
class AliAnalyseLeadingTrackUE;
#ifndef ALIANALYSISTASKSEH
#include "AliAnalysisTaskSE.h"
#endif
class AliLeadingV0Correlation : public AliAnalysisTaskSE {
public:
AliLeadingV0Correlation();
AliLeadingV0Correlation(const char *name);
virtual ~AliLeadingV0Correlation();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void SetMaxNEventsInPool(Int_t events){fPoolMaxNEvents=events;}
void SetMinNTracksInPool(Int_t tracks){fPoolMinNTracks=tracks;}
void SetMinEventsToMix(Int_t events){fMinEventsToMix=events;}
void SetPoolPVzBinLimits(Int_t Nzvtxbins,const Double_t *ZvtxBins){
fNzVtxBins = Nzvtxbins;
for(int ix = 0;ix<fNzVtxBins+1;ix++){fZvtxBins[ix] = ZvtxBins[ix];}
}
void SetPoolCentBinLimits(Int_t Ncentbins,const Double_t *CentBins){
fNCentBins = Ncentbins;
for(int ix = 0;ix<fNCentBins+1;ix++){fCentBins[ix] = CentBins[ix];}
}
void SetCollidingSystem(TString system){fcollidingSys = system;}
void SetPrimeryVertexCut(Double_t pvzcut){fpvzcut = pvzcut;}
void SetFilterBit(UInt_t filterBit){fFilterBit = filterBit;}
void SetMCAnalysis(Bool_t aAnalysisMC){fAnalysisMC=aAnalysisMC;}
void SetCase(Int_t aCase){fCase=aCase;}
void SetRemoveAutoCorr(Bool_t aRemoveAutoCorr){fRemoveAutoCorr=aRemoveAutoCorr;}
void SetCutRap(Double_t aRapidityCut){fRapidityCut=aRapidityCut;}
void SetV0Radius(Double_t aV0radius){fV0radius=aV0radius;}
void SetV0PostoPVz(Double_t aV0PostoPVz){fV0PostoPVz=aV0PostoPVz;}
void SetV0NegtoPVz(Double_t aV0NegtoPVz){fV0NegtoPVz=aV0NegtoPVz;}
void SetDCAV0Daughters(Double_t aDCAV0Daughters){fDCAV0Daughters=aDCAV0Daughters;}
void SetCPAK0(Double_t aCPAK0){fCPAK0=aCPAK0;}
void SetCPALam(Double_t aCPALam){fCPALam=aCPALam;}
void SetRejectLamK0(Double_t aRejectLamK0){fRejectLamK0=aRejectLamK0;}
void SetRejectK0Lam(Double_t aRejectK0Lam){fRejectK0Lam=aRejectK0Lam;}
void SetSigmaPID(Double_t aSigmaPID){fSigmaPID=aSigmaPID;}
void SetCTK0(Double_t aCutCTK0){fCutCTK0=aCutCTK0;}
void SetCTLa(Double_t aCutCTLa){fCutCTLa=aCutCTLa;}
void SetMassCutK0(Double_t aMassCutK0){fMassCutK0=aMassCutK0;}
void SetMassCutLa(Double_t aMassCutLambda){fMassCutLa=aMassCutLambda;}
void SetTrigLow(Double_t aTriglow){fTriglow=aTriglow;}
void SetTrigHigh(Double_t aTrighigh){fTrighigh=aTrighigh;}
void SetTPCClusters(Double_t aTPCClusters){fTPCClusters=aTPCClusters;}
void SetTPCFinables(Double_t aTPCfindratio){fTPCfindratio=aTPCfindratio;}
private:
AliLeadingV0Correlation(const AliLeadingV0Correlation &det);
AliLeadingV0Correlation& operator=(const AliLeadingV0Correlation &det);
Bool_t IsAcseptedDaughterTrack(const AliAODTrack *itrack);
Bool_t IsAcseptedV0(const AliAODv0* aodV0, const AliAODTrack* myTrackPos, const AliAODTrack* myTrackNeg);
Bool_t IsAcseptedK0(Double_t v0rad,
Double_t dcaptp,
Double_t dcantp,
Double_t dcav0d,
Double_t cpa,
Double_t massLa,
Double_t massALa);
Bool_t IsAcseptedLA(Double_t v0rad,
Double_t dcaptp,
Double_t dcantp,
Double_t dcav0d,
Double_t cpa,
Double_t massK0);
Bool_t IsK0InvMass(const Double_t mass)const;
Bool_t IsLambdaInvMass(const Double_t mass) const;
Double_t RangePhi(Double_t DPhi);
Bool_t IsTrackFromV0(AliAODTrack* track);
void FillCorrelationSibling(Double_t MultipOrCent,
TObjArray*triggerArray,TObjArray*selectedV0Array,
TH3F*triggerHist,THnSparse*associateHist);
void FillCorrelationMixing(Double_t MultipOrCentMix,Double_t pvxMix,
Double_t poolmax,Double_t poolmin,
TObjArray*triggerArray,TObjArray*selectedV0Array,
TH1F*triggerHist,THnSparse*associateHist);
AliAODEvent * fAODEvent;
AliEventPoolManager * fPoolMgr;
AliPIDResponse * fPIDResponse;
AliAnalyseLeadingTrackUE * fAnalyseUE;
Int_t fPoolMaxNEvents;
Int_t fPoolMinNTracks;
Int_t fMinEventsToMix;
Int_t fNzVtxBins;
Double_t fZvtxBins[100];
Int_t fNCentBins;
Double_t fCentBins[100];
TString fcollidingSys;
Double_t fpvzcut;
Double_t fTrackEtaCut;
UInt_t fFilterBit;
Bool_t fAnalysisMC;
Int_t fCase;
Bool_t fRemoveAutoCorr;
Double_t fRapidityCut;
Double_t fV0radius;
Double_t fV0PostoPVz;
Double_t fV0NegtoPVz;
Double_t fDCAV0Daughters;
Double_t fCPAK0;
Double_t fCPALam;
Double_t fRejectLamK0;
Double_t fRejectK0Lam;
Double_t fSigmaPID;
Double_t fCutCTK0;
Double_t fCutCTLa;
Double_t fMassCutK0;
Double_t fMassCutLa;
Double_t fTriglow;
Double_t fTrighigh;
Double_t fTPCClusters;
Double_t fTPCfindratio;
Bool_t fUseChargeHadrons;
Double_t fPtMin;
TList * fOutputList;
TH2F *fHist_Mult_B4_Trg_Sel;
TH2F *fHist_Mult_Af_Trg_Sel;
TH2F *fHist_Mult_PVz_Cut;
TH2F *fHist_Mult_SPD_PVz;
TH2F *fHist_Mult_SPD_PVz_Pileup;
TH1F *fHistPVx;
TH1F *fHistPVy;
TH1F *fHistPVz;
TH1F *fHistPVxAnalysis;
TH1F *fHistPVyAnalysis;
TH1F *fHistPVzAnalysis;
TH2F *fHistEventViceGen;
TH2F *fHistEventViceReconst;
TH2F *fHistMCGenK0;
TH2F *fHistMCGenLAM;
TH2F *fHistMCGenALAM;
TH2F *fHistMCGenLAMXIPLS;
TH2F *fHistMCGenLAMXI;
THnSparse *fHistReconstK0;
THnSparse *fHistReconstLA;
THnSparse *fHistReconstALA;
THnSparse *fHistMCAssoK0;
THnSparse *fHistMCAssoLA;
THnSparse *fHistMCAssoALA;
THnSparse *fHistMCAssoLAXI;
THnSparse *fHistMCAssoALAXiPlus;
THnSparse *fHistReconstSib;
THnSparse *fHistReconstMix;
THnSparse *fHistReconstSibGEN;
THnSparse *fHistReconstMixGEN;
THnSparse *fHistReconstSibASO;
THnSparse *fHistReconstMixASO;
THnSparse *fHistReconstSibFEED;
THnSparse *fHistReconstMixFEED;
TH3F *fHistTriggerSib;
TH1F *fHistTriggerMix;
TH3F *fHistTriggerSibGEN;
TH1F *fHistTriggerMixGEN;
TH3F *fHistTriggerSibASO;
TH1F *fHistTriggerMixASO;
ClassDef(AliLeadingV0Correlation, 1);
};
class V0Correlationparticle : public AliVParticle
{
public:
V0Correlationparticle(Float_t eta,
Float_t phi,
Float_t pt,
Short_t candidate,
Double_t dcapostoP,
Double_t dcanegtoP):
fEta(eta),
fPhi(phi),
fpT(pt),
fCandidate(candidate),
fdcapostoP(dcapostoP),
fdcanegtoP(dcanegtoP)
{
}
virtual ~V0Correlationparticle(){}
virtual Double_t Px() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Py() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Pz() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Pt() const { return fpT;}
virtual Double_t P() const { AliFatal("Not implemented"); return 0;}
virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0;}
virtual Double_t Xv() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Yv() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Zv() const { AliFatal("Not implemented"); return 0;}
virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0;}
virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Phi() const { return fPhi;}
virtual Double_t Theta() const { AliFatal("Not implemented"); return 0;}
virtual Double_t E() const { AliFatal("Not implemented"); return 0;}
virtual Double_t M() const { AliFatal("Not implemented"); return 0;}
virtual Double_t Eta() const { return fEta;}
virtual Double_t Y() const { AliFatal("Not implemented"); return 0;}
virtual Short_t Charge() const { AliFatal("Not implemented"); return 0;}
virtual Int_t GetLabel() const { AliFatal("Not implemented"); return 0;}
virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0;}
virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0;}
virtual Short_t WhichCandidate() const { return fCandidate;}
virtual Double_t DCAPostoP() const { return fdcapostoP;}
virtual Double_t DCANegtoP() const { return fdcanegtoP;}
private:
Float_t fEta;
Float_t fPhi;
Float_t fpT;
Short_t fCandidate;
Double_t fdcapostoP;
Double_t fdcanegtoP;
ClassDef( V0Correlationparticle, 1);
};
#endif
AliLeadingV0Correlation.h:1 AliLeadingV0Correlation.h:2 AliLeadingV0Correlation.h:3 AliLeadingV0Correlation.h:4 AliLeadingV0Correlation.h:5 AliLeadingV0Correlation.h:6 AliLeadingV0Correlation.h:7 AliLeadingV0Correlation.h:8 AliLeadingV0Correlation.h:9 AliLeadingV0Correlation.h:10 AliLeadingV0Correlation.h:11 AliLeadingV0Correlation.h:12 AliLeadingV0Correlation.h:13 AliLeadingV0Correlation.h:14 AliLeadingV0Correlation.h:15 AliLeadingV0Correlation.h:16 AliLeadingV0Correlation.h:17 AliLeadingV0Correlation.h:18 AliLeadingV0Correlation.h:19 AliLeadingV0Correlation.h:20 AliLeadingV0Correlation.h:21 AliLeadingV0Correlation.h:22 AliLeadingV0Correlation.h:23 AliLeadingV0Correlation.h:24 AliLeadingV0Correlation.h:25 AliLeadingV0Correlation.h:26 AliLeadingV0Correlation.h:27 AliLeadingV0Correlation.h:28 AliLeadingV0Correlation.h:29 AliLeadingV0Correlation.h:30 AliLeadingV0Correlation.h:31 AliLeadingV0Correlation.h:32 AliLeadingV0Correlation.h:33 AliLeadingV0Correlation.h:34 AliLeadingV0Correlation.h:35 AliLeadingV0Correlation.h:36 AliLeadingV0Correlation.h:37 AliLeadingV0Correlation.h:38 AliLeadingV0Correlation.h:39 AliLeadingV0Correlation.h:40 AliLeadingV0Correlation.h:41 AliLeadingV0Correlation.h:42 AliLeadingV0Correlation.h:43 AliLeadingV0Correlation.h:44 AliLeadingV0Correlation.h:45 AliLeadingV0Correlation.h:46 AliLeadingV0Correlation.h:47 AliLeadingV0Correlation.h:48 AliLeadingV0Correlation.h:49 AliLeadingV0Correlation.h:50 AliLeadingV0Correlation.h:51 AliLeadingV0Correlation.h:52 AliLeadingV0Correlation.h:53 AliLeadingV0Correlation.h:54 AliLeadingV0Correlation.h:55 AliLeadingV0Correlation.h:56 AliLeadingV0Correlation.h:57 AliLeadingV0Correlation.h:58 AliLeadingV0Correlation.h:59 AliLeadingV0Correlation.h:60 AliLeadingV0Correlation.h:61 AliLeadingV0Correlation.h:62 AliLeadingV0Correlation.h:63 AliLeadingV0Correlation.h:64 AliLeadingV0Correlation.h:65 AliLeadingV0Correlation.h:66 AliLeadingV0Correlation.h:67 AliLeadingV0Correlation.h:68 AliLeadingV0Correlation.h:69 AliLeadingV0Correlation.h:70 AliLeadingV0Correlation.h:71 AliLeadingV0Correlation.h:72 AliLeadingV0Correlation.h:73 AliLeadingV0Correlation.h:74 AliLeadingV0Correlation.h:75 AliLeadingV0Correlation.h:76 AliLeadingV0Correlation.h:77 AliLeadingV0Correlation.h:78 AliLeadingV0Correlation.h:79 AliLeadingV0Correlation.h:80 AliLeadingV0Correlation.h:81 AliLeadingV0Correlation.h:82 AliLeadingV0Correlation.h:83 AliLeadingV0Correlation.h:84 AliLeadingV0Correlation.h:85 AliLeadingV0Correlation.h:86 AliLeadingV0Correlation.h:87 AliLeadingV0Correlation.h:88 AliLeadingV0Correlation.h:89 AliLeadingV0Correlation.h:90 AliLeadingV0Correlation.h:91 AliLeadingV0Correlation.h:92 AliLeadingV0Correlation.h:93 AliLeadingV0Correlation.h:94 AliLeadingV0Correlation.h:95 AliLeadingV0Correlation.h:96 AliLeadingV0Correlation.h:97 AliLeadingV0Correlation.h:98 AliLeadingV0Correlation.h:99 AliLeadingV0Correlation.h:100 AliLeadingV0Correlation.h:101 AliLeadingV0Correlation.h:102 AliLeadingV0Correlation.h:103 AliLeadingV0Correlation.h:104 AliLeadingV0Correlation.h:105 AliLeadingV0Correlation.h:106 AliLeadingV0Correlation.h:107 AliLeadingV0Correlation.h:108 AliLeadingV0Correlation.h:109 AliLeadingV0Correlation.h:110 AliLeadingV0Correlation.h:111 AliLeadingV0Correlation.h:112 AliLeadingV0Correlation.h:113 AliLeadingV0Correlation.h:114 AliLeadingV0Correlation.h:115 AliLeadingV0Correlation.h:116 AliLeadingV0Correlation.h:117 AliLeadingV0Correlation.h:118 AliLeadingV0Correlation.h:119 AliLeadingV0Correlation.h:120 AliLeadingV0Correlation.h:121 AliLeadingV0Correlation.h:122 AliLeadingV0Correlation.h:123 AliLeadingV0Correlation.h:124 AliLeadingV0Correlation.h:125 AliLeadingV0Correlation.h:126 AliLeadingV0Correlation.h:127 AliLeadingV0Correlation.h:128 AliLeadingV0Correlation.h:129 AliLeadingV0Correlation.h:130 AliLeadingV0Correlation.h:131 AliLeadingV0Correlation.h:132 AliLeadingV0Correlation.h:133 AliLeadingV0Correlation.h:134 AliLeadingV0Correlation.h:135 AliLeadingV0Correlation.h:136 AliLeadingV0Correlation.h:137 AliLeadingV0Correlation.h:138 AliLeadingV0Correlation.h:139 AliLeadingV0Correlation.h:140 AliLeadingV0Correlation.h:141 AliLeadingV0Correlation.h:142 AliLeadingV0Correlation.h:143 AliLeadingV0Correlation.h:144 AliLeadingV0Correlation.h:145 AliLeadingV0Correlation.h:146 AliLeadingV0Correlation.h:147 AliLeadingV0Correlation.h:148 AliLeadingV0Correlation.h:149 AliLeadingV0Correlation.h:150 AliLeadingV0Correlation.h:151 AliLeadingV0Correlation.h:152 AliLeadingV0Correlation.h:153 AliLeadingV0Correlation.h:154 AliLeadingV0Correlation.h:155 AliLeadingV0Correlation.h:156 AliLeadingV0Correlation.h:157 AliLeadingV0Correlation.h:158 AliLeadingV0Correlation.h:159 AliLeadingV0Correlation.h:160 AliLeadingV0Correlation.h:161 AliLeadingV0Correlation.h:162 AliLeadingV0Correlation.h:163 AliLeadingV0Correlation.h:164 AliLeadingV0Correlation.h:165 AliLeadingV0Correlation.h:166 AliLeadingV0Correlation.h:167 AliLeadingV0Correlation.h:168 AliLeadingV0Correlation.h:169 AliLeadingV0Correlation.h:170 AliLeadingV0Correlation.h:171 AliLeadingV0Correlation.h:172 AliLeadingV0Correlation.h:173 AliLeadingV0Correlation.h:174 AliLeadingV0Correlation.h:175 AliLeadingV0Correlation.h:176 AliLeadingV0Correlation.h:177 AliLeadingV0Correlation.h:178 AliLeadingV0Correlation.h:179 AliLeadingV0Correlation.h:180 AliLeadingV0Correlation.h:181 AliLeadingV0Correlation.h:182 AliLeadingV0Correlation.h:183 AliLeadingV0Correlation.h:184 AliLeadingV0Correlation.h:185 AliLeadingV0Correlation.h:186 AliLeadingV0Correlation.h:187 AliLeadingV0Correlation.h:188 AliLeadingV0Correlation.h:189 AliLeadingV0Correlation.h:190 AliLeadingV0Correlation.h:191 AliLeadingV0Correlation.h:192 AliLeadingV0Correlation.h:193 AliLeadingV0Correlation.h:194 AliLeadingV0Correlation.h:195 AliLeadingV0Correlation.h:196 AliLeadingV0Correlation.h:197 AliLeadingV0Correlation.h:198 AliLeadingV0Correlation.h:199 AliLeadingV0Correlation.h:200 AliLeadingV0Correlation.h:201 AliLeadingV0Correlation.h:202 AliLeadingV0Correlation.h:203 AliLeadingV0Correlation.h:204 AliLeadingV0Correlation.h:205 AliLeadingV0Correlation.h:206 AliLeadingV0Correlation.h:207 AliLeadingV0Correlation.h:208 AliLeadingV0Correlation.h:209 AliLeadingV0Correlation.h:210 AliLeadingV0Correlation.h:211 AliLeadingV0Correlation.h:212 AliLeadingV0Correlation.h:213 AliLeadingV0Correlation.h:214 AliLeadingV0Correlation.h:215 AliLeadingV0Correlation.h:216 AliLeadingV0Correlation.h:217 AliLeadingV0Correlation.h:218 AliLeadingV0Correlation.h:219 AliLeadingV0Correlation.h:220 AliLeadingV0Correlation.h:221 AliLeadingV0Correlation.h:222 AliLeadingV0Correlation.h:223 AliLeadingV0Correlation.h:224 AliLeadingV0Correlation.h:225 AliLeadingV0Correlation.h:226 AliLeadingV0Correlation.h:227 AliLeadingV0Correlation.h:228 AliLeadingV0Correlation.h:229 AliLeadingV0Correlation.h:230 AliLeadingV0Correlation.h:231 AliLeadingV0Correlation.h:232 AliLeadingV0Correlation.h:233 AliLeadingV0Correlation.h:234 AliLeadingV0Correlation.h:235 AliLeadingV0Correlation.h:236 AliLeadingV0Correlation.h:237 AliLeadingV0Correlation.h:238 AliLeadingV0Correlation.h:239 AliLeadingV0Correlation.h:240 AliLeadingV0Correlation.h:241 AliLeadingV0Correlation.h:242 AliLeadingV0Correlation.h:243 AliLeadingV0Correlation.h:244 AliLeadingV0Correlation.h:245 AliLeadingV0Correlation.h:246 AliLeadingV0Correlation.h:247 AliLeadingV0Correlation.h:248 AliLeadingV0Correlation.h:249 AliLeadingV0Correlation.h:250 AliLeadingV0Correlation.h:251 AliLeadingV0Correlation.h:252 AliLeadingV0Correlation.h:253 AliLeadingV0Correlation.h:254 AliLeadingV0Correlation.h:255 AliLeadingV0Correlation.h:256 AliLeadingV0Correlation.h:257 AliLeadingV0Correlation.h:258 AliLeadingV0Correlation.h:259 AliLeadingV0Correlation.h:260 AliLeadingV0Correlation.h:261 AliLeadingV0Correlation.h:262 AliLeadingV0Correlation.h:263 AliLeadingV0Correlation.h:264 AliLeadingV0Correlation.h:265 AliLeadingV0Correlation.h:266 AliLeadingV0Correlation.h:267