#include "TChain.h"
#include "TNtuple.h"
#include "TList.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TDatabasePDG.h"
#include "TF1.h"
#include "AliAnalysisManager.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliAODVertex.h"
#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
#include "AliAnalysisTaskDielectronReadAODBranch.h"
#include "AliDielectronPair.h"
#include "AliDielectronMC.h"
ClassImp(AliAnalysisTaskDielectronReadAODBranch)
AliAnalysisTaskDielectronReadAODBranch::AliAnalysisTaskDielectronReadAODBranch():
AliAnalysisTaskSE(),
fOutput(0),
fNtupleJPSI(0),
fNentries(0),
fInvMass(0),
fInvMassNoCuts(0),
fpsproperSignal(0),
fpsproperSidebands(0),
fpsproperAll(0),
fpsproperUnder(0),
fpsproperUpper(0),
fLxyVsPtleg1(0),
fLxyVsPtleg2(0),
fLxyVsPt(0),
fMeeVsPt(0),
fMeeVsLxy(0),
fprimvtxZ(0),
fsecvtxZ(0),
fprimvtxX(0),
fsecvtxX(0),
fprimvtxY(0),
fsecvtxY(0),
fPt(0),
fPtLeg1(0),
fPtLeg2(0),
fdEdxP(0),
fHasMC(0),
fobj(0),
fobjMC(0),
fPtCut(1.),
fSpdFirstRequired(kFALSE),
fClsTPC(90),
fPairType(1),
fPtJpsi(1.3),
fInvMassSignalLimits(0),
fInvMassSideBandsLimits(0),
fSecondary(0)
{
}
AliAnalysisTaskDielectronReadAODBranch::AliAnalysisTaskDielectronReadAODBranch(const char *name):
AliAnalysisTaskSE(name),
fOutput(0),
fNtupleJPSI(0),
fNentries(0),
fInvMass(0),
fInvMassNoCuts(0),
fpsproperSignal(0),
fpsproperSidebands(0),
fpsproperAll(0),
fpsproperUnder(0),
fpsproperUpper(0),
fLxyVsPtleg1(0),
fLxyVsPtleg2(0),
fLxyVsPt(0),
fMeeVsPt(0),
fMeeVsLxy(0),
fprimvtxZ(0),
fsecvtxZ(0),
fprimvtxX(0),
fsecvtxX(0),
fprimvtxY(0),
fsecvtxY(0),
fPt(0),
fPtLeg1(0),
fPtLeg2(0),
fdEdxP(0),
fHasMC(0),
fobj(0),
fobjMC(0),
fPtCut(1.),
fSpdFirstRequired(kFALSE),
fClsTPC(90),
fPairType(1),
fPtJpsi(1.3),
fInvMassSignalLimits(0),
fInvMassSideBandsLimits(0),
fSecondary(0)
{
DefineInput(0,TChain::Class());
DefineOutput(1,TList::Class());
fInvMassSignalLimits = new Double_t[2];
fInvMassSignalLimits[0] = 0.; fInvMassSignalLimits[1] = 0.;
fInvMassSideBandsLimits = new Double_t[2];
fInvMassSideBandsLimits[0] = 0.; fInvMassSideBandsLimits[1] = 0.;
}
AliAnalysisTaskDielectronReadAODBranch::~AliAnalysisTaskDielectronReadAODBranch()
{
if(fOutput) delete fOutput;
if(fobj) delete fobj;
if(fobjMC) delete fobjMC;
}
void AliAnalysisTaskDielectronReadAODBranch::Init()
{
if(fDebug > 1) printf("AnalysisTaskReadAOD::Init() \n");
return;
}
void AliAnalysisTaskDielectronReadAODBranch::UserCreateOutputObjects()
{
if(fDebug > 1) printf("AnalysisTaskReadAOD::UserCreateOutputObjects() \n");
fOutput = new TList();
fOutput->SetOwner();
fInvMass = new TH1F("fInvMass","fInvMass",300,2.0,2.0+300*.04);
fInvMassNoCuts = new TH1F("fInvMass_no_cuts","fInvMass_no_cuts",125,0,125*0.04);
fNentries = new TH1F("numberOfevent","numbOfEvent",1,-0.5,0.5);
fpsproperSignal = new TH1F("psproper_decay_length",Form("psproper_decay_length_distrib(AODcuts+#clustTPC>%d, pT(leg)>%fGeV, pT(J/#psi)>%fGeV/c, %f < M < %f);X [#mu m];Entries/40#mu m",fClsTPC,fPtCut,fPtJpsi,fInvMassSignalLimits[0],fInvMassSignalLimits[1]),150,-3000.,3000.);
fpsproperSidebands = new TH1F("psproper_decay_length_sidebands",Form("psproper_decay_length_distrib_sidebands(AODcuts+#clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c,M> %f && M < %f ); X [#mu m]; Entries/40#mu m",fClsTPC,fPtCut,fPtJpsi,fInvMassSideBandsLimits[1],fInvMassSideBandsLimits[0]),150,-3000.,3000.);
fpsproperAll = new TH1F("psproper_decay_length_all",Form("psproper_decay_length_distrib_all(AODcuts+#clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c);X [#mu m];Entries/15#mu m",fClsTPC,fPtCut,fPtJpsi),400,-3000.,3000.);
fpsproperUnder = new TH1F("psproper_decay_length_under",Form("psproper_decay_length_distrib_under(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c);X [#mu m];Entries/15#mu m",fClsTPC,fPtCut,fPtJpsi),400,-3000.,3000.);
fpsproperUpper = new TH1F("psproper_decay_length_upper",Form("psproper_decay_length_distrib_upper(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c);X [#mu m];Entries/15#mu m",fClsTPC,fPtCut,fPtJpsi),400,-3000.,3000.);
fLxyVsPtleg1 = new TH2F("Lxy_vs_Pt_leg1",Form("Lxy_vs_Pt_leg1_distrib(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c,%f<M<%f);p_{T}[GeV/c]; X",fClsTPC,fPtCut,fPtJpsi,fInvMassSignalLimits[0],fInvMassSignalLimits[1]), 700, 0., 7.,400, -3000.,3000.);
fLxyVsPtleg2 = new TH2F("Lxy_vs_Pt_leg2",Form("Lxy_vs_Pt_leg2_distrib(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c,%f<M<%f);p_{T}[GeV/c]; X",fClsTPC,fPtCut,fPtJpsi,fInvMassSignalLimits[0],fInvMassSignalLimits[1]), 700, 0., 7.,400, -3000.,3000.);
fLxyVsPt = new TH2F("Lxy_vs_Pt_jpsi",Form("Lxy_vs_Pt_jpsi_distrib(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c,%f<M<%f); p_{T}[GeV/c]; X",fClsTPC,fPtCut,fPtJpsi,fInvMassSignalLimits[0],fInvMassSignalLimits[1]), 700, 0., 7.,400, -3000.,3000.);
fMeeVsPt = new TH2F("Mee_vs_Pt_jpsi",Form("Mee_vs_Pt_jpsi_distrib(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV,pT(J/#psi)>%f GeV/c,%f<M<%f); p_{T}[GeV/c]; M_{ee}",fClsTPC,fPtCut,fPtJpsi,fInvMassSignalLimits[0],fInvMassSignalLimits[1]), 700, 0., 7.,200, 1.99,4.1);
fMeeVsLxy = new TH2F("Mee_vs_Lxy_jpsi",Form("Mee_vs_Lxy_jpsi_distrib(AODcuts+#clustTPC>%d,pT(e+e-)>%f GeV),pT(J/#psi)>%f GeV/c; X; M_{ee}",fClsTPC,fPtCut,fPtJpsi), 400, -3000, 3000.,200, 1.99,4.1);
fprimvtxZ = new TH1F("prim_vtx_Z",Form("prim_vtx_Z_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV, pT(J/#psi)>%f); Z[cm]; Entries/20 mm",fClsTPC,fPtCut,fPtJpsi),1000,-10.,10.);
fsecvtxZ = new TH1F("sec_vtx_Z",Form("sec_vtx_Z_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV, pT(J/#psi)>%f); Z[cm]; Entries/20 mm",fClsTPC,fPtCut,fPtJpsi),1000,-10.,10.);
fprimvtxX = new TH1F("prim_vtx_X",Form("prim_vtx_X_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f); X[cm]; Entries/mm",fClsTPC,fPtCut,fPtJpsi),1000,-0.5,0.5);
fsecvtxX = new TH1F("sec_vtx_X",Form("sec_vtx_X_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f); X[cm]; Entries/20 mm",fClsTPC,fPtCut,fPtJpsi),100,-1.,1.);
fprimvtxY = new TH1F("prim_vtx_Y",Form("prim_vtx_Y_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f); Y[cm]; Entries/mm",fClsTPC,fPtCut,fPtJpsi),1000,-0.5,0.5);
fsecvtxY = new TH1F("sec_vtx_Y",Form("sec_vtx_Y_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV,pT(J/#psi)>%f); Y[cm]; Entries/20 mm",fClsTPC,fPtCut,fPtJpsi),100,-1.,1.);
fPt = new TH1F("Pt(J/psi)",Form("Pt_Jpsi_distrib(AODcuts + #clustTPC>%d, pT(e+e-)>%f GeV, pT(J/#psi)>%f); p_{T}(J/#psi)[GeV/c]; Entries/25 MeV",fClsTPC,fPtCut,fPtJpsi),400,0.,10.);
fPtLeg1 = new TH1F("Pt_leg1",Form("Pt_leg1_distrib(AODcuts + #clustTPC>%d, pT(e+e-) > %f GeV, pT(J/#psi)>%f); p_{T}[GeV/c]; Entries/25 MeV",fClsTPC,fPtCut,fPtJpsi),400,0.,10.);
fPtLeg2 = new TH1F("Pt_leg2",Form("Pt_leg2_distrib(AODcuts + #clustTPC>%d, pT(e+e-) > %f GeV, pT(J/#psi)>%f); p_{T}[GeV/c]; Entries/25 MeV",fClsTPC,fPtCut,fPtJpsi),400,0.,10.);
fdEdxP = new TH2F("dE/dx_vs_Ptpc",Form("dE/dx_vs_Ptpc(AODcuts + #clustTPC>%d, pT(e+e-) > %f GeV, pT(J/#psi)>%f)",fClsTPC,fPtCut,fPtJpsi),400,0.2,20.,200,0.,200.);
fNtupleJPSI = new TNtuple("fNtupleJPSI","J/#psi pseudo-proper decay time & invariant mass","Xdecaytime:Mass");
fOutput->Add(fNentries);
fOutput->Add(fInvMass);
fOutput->Add(fInvMassNoCuts);
fOutput->Add(fpsproperSignal);
fOutput->Add(fpsproperSidebands);
fOutput->Add(fpsproperAll);
fOutput->Add(fpsproperUnder);
fOutput->Add(fpsproperUpper);
fOutput->Add(fLxyVsPtleg1);
fOutput->Add(fLxyVsPtleg2);
fOutput->Add(fLxyVsPt);
fOutput->Add(fMeeVsPt);
fOutput->Add(fMeeVsLxy);
fOutput->Add(fprimvtxZ);
fOutput->Add(fsecvtxZ);
fOutput->Add(fprimvtxX);
fOutput->Add(fsecvtxX);
fOutput->Add(fprimvtxY);
fOutput->Add(fsecvtxY);
fOutput->Add(fPt);
fOutput->Add(fPtLeg1);
fOutput->Add(fPtLeg2);
fOutput->Add(fNtupleJPSI);
fOutput->Add(fdEdxP);
return;
}
void AliAnalysisTaskDielectronReadAODBranch::UserExec(Option_t *)
{
AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
if (!aod) return;
Double_t vtxPrim[3] = {0.,0.,0.};
AliAODVertex* primvtx = aod->GetPrimaryVertex();
vtxPrim[0] = primvtx->GetX();
vtxPrim[1] = primvtx->GetY();
vtxPrim[2] = primvtx->GetZ();
AliAODHandler* aodHandler = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
TTree *aodTree = aodHandler->GetTree();
if(!fobj) aodTree->SetBranchAddress("dielectrons",&fobj);
if(fHasMC){ aodTree->SetBranchAddress("mcparticles",&fobjMC);
if(!fobjMC) printf("AliAnalysisTaskDielectronReadAODBranch::UserExec: MC particles branch not found!\n"); }
fNentries->Fill(0);
aodTree->GetEvent(Entry());
if(fobj) {
TObjArray *objArr = (TObjArray*)fobj->UncheckedAt(fPairType);
for(int j=0;j<objArr->GetEntriesFast();j++)
{
AliDielectronPair *pairObj = (AliDielectronPair*)objArr->UncheckedAt(j);
fInvMassNoCuts->Fill(pairObj->M());
Double_t vtxSec[3] = {0.,0.,0.};
fprimvtxX->Fill(vtxPrim[0]);
fprimvtxY->Fill(vtxPrim[1]);
fprimvtxZ->Fill(vtxPrim[2]);
pairObj->XvYvZv(vtxSec);
fsecvtxX->Fill(vtxSec[0]);
fsecvtxY->Fill(vtxSec[1]);
fsecvtxZ->Fill(vtxSec[2]);
Double_t lxy = ((vtxSec[0]-vtxPrim[0])*(pairObj->Px()) + (vtxSec[1]-vtxPrim[1])*(pairObj->Py()))/pairObj->Pt();
Double_t psProperDecayLength = lxy*(TDatabasePDG::Instance()->GetParticle(443)->Mass())/pairObj->Pt();
AliAODTrack *trk = (AliAODTrack*)pairObj->GetFirstDaughterP();
AliAODTrack *trk1 = (AliAODTrack*)pairObj->GetSecondDaughterP();
if(!trk || !trk1) {printf("ERROR: daughter tracks not available\n"); continue;}
if(fHasMC && ((AliDielectronMC::Instance()->IsJpsiPrimary(pairObj))!=fSecondary)) continue;
AliAODPid *pid = trk->GetDetPid();
AliAODPid *pid1 = trk1->GetDetPid();
if(!pid || !pid1){
if(fDebug>1) printf("No AliAODPid found\n");
continue;
}
if((trk->Pt()<fPtCut) || (trk1->Pt()<fPtCut)) continue;
if((pairObj->Pt())<fPtJpsi) continue;
if(fSpdFirstRequired)
{
if((!trk->HasPointOnITSLayer(0)) || (!trk1->HasPointOnITSLayer(0))) continue;
}
if((trk->GetTPCNcls()) <= fClsTPC || (trk1->GetTPCNcls()) <= fClsTPC) continue;
if(trk->Charge()==-1){
fPtLeg1->Fill(trk->Pt());
} else {fPtLeg2->Fill(trk->Pt());}
if(trk1->Charge()==-1){
fPtLeg1->Fill(trk1->Pt());
} else {fPtLeg2->Fill(trk1->Pt());}
fdEdxP->Fill(pid->GetTPCmomentum(),pid->GetTPCsignal());
fdEdxP->Fill(pid1->GetTPCmomentum(),pid1->GetTPCsignal());
fInvMass->Fill(pairObj->M());
fPt->Fill(pairObj->Pt());
fMeeVsLxy->Fill(10000*psProperDecayLength,pairObj->M());
fMeeVsPt->Fill(pairObj->Pt(),pairObj->M());
fpsproperAll->Fill(10000*psProperDecayLength);
if((pairObj->M())<fInvMassSignalLimits[1] && (pairObj->M())>fInvMassSignalLimits[0]){
fpsproperSignal->Fill(10000*psProperDecayLength);
fLxyVsPt->Fill(pairObj->Pt(),10000*psProperDecayLength);
fLxyVsPtleg1->Fill(trk->Pt(),10000*psProperDecayLength);
fLxyVsPtleg2->Fill(trk1->Pt(),10000*psProperDecayLength);
fNtupleJPSI->Fill(10000*psProperDecayLength,pairObj->M());
}
if((pairObj->M())> fInvMassSideBandsLimits[1] || (pairObj->M())< fInvMassSideBandsLimits[0])
fpsproperSidebands->Fill(10000*psProperDecayLength);
if(pairObj->M()< fInvMassSideBandsLimits[0]) fpsproperUnder->Fill(10000*psProperDecayLength);
if(pairObj->M()> fInvMassSideBandsLimits[1]) fpsproperUpper->Fill(10000*psProperDecayLength);
}
}
PostData(1,fOutput);
return;
}
void AliAnalysisTaskDielectronReadAODBranch::Terminate(Option_t *)
{
if(fDebug > 1) printf("AliAnalysisTaskDielectronReadAODBranch::Terminate() \n");
return;
}
AliAnalysisTaskDielectronReadAODBranch.cxx:1 AliAnalysisTaskDielectronReadAODBranch.cxx:2 AliAnalysisTaskDielectronReadAODBranch.cxx:3 AliAnalysisTaskDielectronReadAODBranch.cxx:4 AliAnalysisTaskDielectronReadAODBranch.cxx:5 AliAnalysisTaskDielectronReadAODBranch.cxx:6 AliAnalysisTaskDielectronReadAODBranch.cxx:7 AliAnalysisTaskDielectronReadAODBranch.cxx:8 AliAnalysisTaskDielectronReadAODBranch.cxx:9 AliAnalysisTaskDielectronReadAODBranch.cxx:10 AliAnalysisTaskDielectronReadAODBranch.cxx:11 AliAnalysisTaskDielectronReadAODBranch.cxx:12 AliAnalysisTaskDielectronReadAODBranch.cxx:13 AliAnalysisTaskDielectronReadAODBranch.cxx:14 AliAnalysisTaskDielectronReadAODBranch.cxx:15 AliAnalysisTaskDielectronReadAODBranch.cxx:16 AliAnalysisTaskDielectronReadAODBranch.cxx:17 AliAnalysisTaskDielectronReadAODBranch.cxx:18 AliAnalysisTaskDielectronReadAODBranch.cxx:19 AliAnalysisTaskDielectronReadAODBranch.cxx:20 AliAnalysisTaskDielectronReadAODBranch.cxx:21 AliAnalysisTaskDielectronReadAODBranch.cxx:22 AliAnalysisTaskDielectronReadAODBranch.cxx:23 AliAnalysisTaskDielectronReadAODBranch.cxx:24 AliAnalysisTaskDielectronReadAODBranch.cxx:25 AliAnalysisTaskDielectronReadAODBranch.cxx:26 AliAnalysisTaskDielectronReadAODBranch.cxx:27 AliAnalysisTaskDielectronReadAODBranch.cxx:28 AliAnalysisTaskDielectronReadAODBranch.cxx:29 AliAnalysisTaskDielectronReadAODBranch.cxx:30 AliAnalysisTaskDielectronReadAODBranch.cxx:31 AliAnalysisTaskDielectronReadAODBranch.cxx:32 AliAnalysisTaskDielectronReadAODBranch.cxx:33 AliAnalysisTaskDielectronReadAODBranch.cxx:34 AliAnalysisTaskDielectronReadAODBranch.cxx:35 AliAnalysisTaskDielectronReadAODBranch.cxx:36 AliAnalysisTaskDielectronReadAODBranch.cxx:37 AliAnalysisTaskDielectronReadAODBranch.cxx:38 AliAnalysisTaskDielectronReadAODBranch.cxx:39 AliAnalysisTaskDielectronReadAODBranch.cxx:40 AliAnalysisTaskDielectronReadAODBranch.cxx:41 AliAnalysisTaskDielectronReadAODBranch.cxx:42 AliAnalysisTaskDielectronReadAODBranch.cxx:43 AliAnalysisTaskDielectronReadAODBranch.cxx:44 AliAnalysisTaskDielectronReadAODBranch.cxx:45 AliAnalysisTaskDielectronReadAODBranch.cxx:46 AliAnalysisTaskDielectronReadAODBranch.cxx:47 AliAnalysisTaskDielectronReadAODBranch.cxx:48 AliAnalysisTaskDielectronReadAODBranch.cxx:49 AliAnalysisTaskDielectronReadAODBranch.cxx:50 AliAnalysisTaskDielectronReadAODBranch.cxx:51 AliAnalysisTaskDielectronReadAODBranch.cxx:52 AliAnalysisTaskDielectronReadAODBranch.cxx:53 AliAnalysisTaskDielectronReadAODBranch.cxx:54 AliAnalysisTaskDielectronReadAODBranch.cxx:55 AliAnalysisTaskDielectronReadAODBranch.cxx:56 AliAnalysisTaskDielectronReadAODBranch.cxx:57 AliAnalysisTaskDielectronReadAODBranch.cxx:58 AliAnalysisTaskDielectronReadAODBranch.cxx:59 AliAnalysisTaskDielectronReadAODBranch.cxx:60 AliAnalysisTaskDielectronReadAODBranch.cxx:61 AliAnalysisTaskDielectronReadAODBranch.cxx:62 AliAnalysisTaskDielectronReadAODBranch.cxx:63 AliAnalysisTaskDielectronReadAODBranch.cxx:64 AliAnalysisTaskDielectronReadAODBranch.cxx:65 AliAnalysisTaskDielectronReadAODBranch.cxx:66 AliAnalysisTaskDielectronReadAODBranch.cxx:67 AliAnalysisTaskDielectronReadAODBranch.cxx:68 AliAnalysisTaskDielectronReadAODBranch.cxx:69 AliAnalysisTaskDielectronReadAODBranch.cxx:70 AliAnalysisTaskDielectronReadAODBranch.cxx:71 AliAnalysisTaskDielectronReadAODBranch.cxx:72 AliAnalysisTaskDielectronReadAODBranch.cxx:73 AliAnalysisTaskDielectronReadAODBranch.cxx:74 AliAnalysisTaskDielectronReadAODBranch.cxx:75 AliAnalysisTaskDielectronReadAODBranch.cxx:76 AliAnalysisTaskDielectronReadAODBranch.cxx:77 AliAnalysisTaskDielectronReadAODBranch.cxx:78 AliAnalysisTaskDielectronReadAODBranch.cxx:79 AliAnalysisTaskDielectronReadAODBranch.cxx:80 AliAnalysisTaskDielectronReadAODBranch.cxx:81 AliAnalysisTaskDielectronReadAODBranch.cxx:82 AliAnalysisTaskDielectronReadAODBranch.cxx:83 AliAnalysisTaskDielectronReadAODBranch.cxx:84 AliAnalysisTaskDielectronReadAODBranch.cxx:85 AliAnalysisTaskDielectronReadAODBranch.cxx:86 AliAnalysisTaskDielectronReadAODBranch.cxx:87 AliAnalysisTaskDielectronReadAODBranch.cxx:88 AliAnalysisTaskDielectronReadAODBranch.cxx:89 AliAnalysisTaskDielectronReadAODBranch.cxx:90 AliAnalysisTaskDielectronReadAODBranch.cxx:91 AliAnalysisTaskDielectronReadAODBranch.cxx:92 AliAnalysisTaskDielectronReadAODBranch.cxx:93 AliAnalysisTaskDielectronReadAODBranch.cxx:94 AliAnalysisTaskDielectronReadAODBranch.cxx:95 AliAnalysisTaskDielectronReadAODBranch.cxx:96 AliAnalysisTaskDielectronReadAODBranch.cxx:97 AliAnalysisTaskDielectronReadAODBranch.cxx:98 AliAnalysisTaskDielectronReadAODBranch.cxx:99 AliAnalysisTaskDielectronReadAODBranch.cxx:100 AliAnalysisTaskDielectronReadAODBranch.cxx:101 AliAnalysisTaskDielectronReadAODBranch.cxx:102 AliAnalysisTaskDielectronReadAODBranch.cxx:103 AliAnalysisTaskDielectronReadAODBranch.cxx:104 AliAnalysisTaskDielectronReadAODBranch.cxx:105 AliAnalysisTaskDielectronReadAODBranch.cxx:106 AliAnalysisTaskDielectronReadAODBranch.cxx:107 AliAnalysisTaskDielectronReadAODBranch.cxx:108 AliAnalysisTaskDielectronReadAODBranch.cxx:109 AliAnalysisTaskDielectronReadAODBranch.cxx:110 AliAnalysisTaskDielectronReadAODBranch.cxx:111 AliAnalysisTaskDielectronReadAODBranch.cxx:112 AliAnalysisTaskDielectronReadAODBranch.cxx:113 AliAnalysisTaskDielectronReadAODBranch.cxx:114 AliAnalysisTaskDielectronReadAODBranch.cxx:115 AliAnalysisTaskDielectronReadAODBranch.cxx:116 AliAnalysisTaskDielectronReadAODBranch.cxx:117 AliAnalysisTaskDielectronReadAODBranch.cxx:118 AliAnalysisTaskDielectronReadAODBranch.cxx:119 AliAnalysisTaskDielectronReadAODBranch.cxx:120 AliAnalysisTaskDielectronReadAODBranch.cxx:121 AliAnalysisTaskDielectronReadAODBranch.cxx:122 AliAnalysisTaskDielectronReadAODBranch.cxx:123 AliAnalysisTaskDielectronReadAODBranch.cxx:124 AliAnalysisTaskDielectronReadAODBranch.cxx:125 AliAnalysisTaskDielectronReadAODBranch.cxx:126 AliAnalysisTaskDielectronReadAODBranch.cxx:127 AliAnalysisTaskDielectronReadAODBranch.cxx:128 AliAnalysisTaskDielectronReadAODBranch.cxx:129 AliAnalysisTaskDielectronReadAODBranch.cxx:130 AliAnalysisTaskDielectronReadAODBranch.cxx:131 AliAnalysisTaskDielectronReadAODBranch.cxx:132 AliAnalysisTaskDielectronReadAODBranch.cxx:133 AliAnalysisTaskDielectronReadAODBranch.cxx:134 AliAnalysisTaskDielectronReadAODBranch.cxx:135 AliAnalysisTaskDielectronReadAODBranch.cxx:136 AliAnalysisTaskDielectronReadAODBranch.cxx:137 AliAnalysisTaskDielectronReadAODBranch.cxx:138 AliAnalysisTaskDielectronReadAODBranch.cxx:139 AliAnalysisTaskDielectronReadAODBranch.cxx:140 AliAnalysisTaskDielectronReadAODBranch.cxx:141 AliAnalysisTaskDielectronReadAODBranch.cxx:142 AliAnalysisTaskDielectronReadAODBranch.cxx:143 AliAnalysisTaskDielectronReadAODBranch.cxx:144 AliAnalysisTaskDielectronReadAODBranch.cxx:145 AliAnalysisTaskDielectronReadAODBranch.cxx:146 AliAnalysisTaskDielectronReadAODBranch.cxx:147 AliAnalysisTaskDielectronReadAODBranch.cxx:148 AliAnalysisTaskDielectronReadAODBranch.cxx:149 AliAnalysisTaskDielectronReadAODBranch.cxx:150 AliAnalysisTaskDielectronReadAODBranch.cxx:151 AliAnalysisTaskDielectronReadAODBranch.cxx:152 AliAnalysisTaskDielectronReadAODBranch.cxx:153 AliAnalysisTaskDielectronReadAODBranch.cxx:154 AliAnalysisTaskDielectronReadAODBranch.cxx:155 AliAnalysisTaskDielectronReadAODBranch.cxx:156 AliAnalysisTaskDielectronReadAODBranch.cxx:157 AliAnalysisTaskDielectronReadAODBranch.cxx:158 AliAnalysisTaskDielectronReadAODBranch.cxx:159 AliAnalysisTaskDielectronReadAODBranch.cxx:160 AliAnalysisTaskDielectronReadAODBranch.cxx:161 AliAnalysisTaskDielectronReadAODBranch.cxx:162 AliAnalysisTaskDielectronReadAODBranch.cxx:163 AliAnalysisTaskDielectronReadAODBranch.cxx:164 AliAnalysisTaskDielectronReadAODBranch.cxx:165 AliAnalysisTaskDielectronReadAODBranch.cxx:166 AliAnalysisTaskDielectronReadAODBranch.cxx:167 AliAnalysisTaskDielectronReadAODBranch.cxx:168 AliAnalysisTaskDielectronReadAODBranch.cxx:169 AliAnalysisTaskDielectronReadAODBranch.cxx:170 AliAnalysisTaskDielectronReadAODBranch.cxx:171 AliAnalysisTaskDielectronReadAODBranch.cxx:172 AliAnalysisTaskDielectronReadAODBranch.cxx:173 AliAnalysisTaskDielectronReadAODBranch.cxx:174 AliAnalysisTaskDielectronReadAODBranch.cxx:175 AliAnalysisTaskDielectronReadAODBranch.cxx:176 AliAnalysisTaskDielectronReadAODBranch.cxx:177 AliAnalysisTaskDielectronReadAODBranch.cxx:178 AliAnalysisTaskDielectronReadAODBranch.cxx:179 AliAnalysisTaskDielectronReadAODBranch.cxx:180 AliAnalysisTaskDielectronReadAODBranch.cxx:181 AliAnalysisTaskDielectronReadAODBranch.cxx:182 AliAnalysisTaskDielectronReadAODBranch.cxx:183 AliAnalysisTaskDielectronReadAODBranch.cxx:184 AliAnalysisTaskDielectronReadAODBranch.cxx:185 AliAnalysisTaskDielectronReadAODBranch.cxx:186 AliAnalysisTaskDielectronReadAODBranch.cxx:187 AliAnalysisTaskDielectronReadAODBranch.cxx:188 AliAnalysisTaskDielectronReadAODBranch.cxx:189 AliAnalysisTaskDielectronReadAODBranch.cxx:190 AliAnalysisTaskDielectronReadAODBranch.cxx:191 AliAnalysisTaskDielectronReadAODBranch.cxx:192 AliAnalysisTaskDielectronReadAODBranch.cxx:193 AliAnalysisTaskDielectronReadAODBranch.cxx:194 AliAnalysisTaskDielectronReadAODBranch.cxx:195 AliAnalysisTaskDielectronReadAODBranch.cxx:196 AliAnalysisTaskDielectronReadAODBranch.cxx:197 AliAnalysisTaskDielectronReadAODBranch.cxx:198 AliAnalysisTaskDielectronReadAODBranch.cxx:199 AliAnalysisTaskDielectronReadAODBranch.cxx:200 AliAnalysisTaskDielectronReadAODBranch.cxx:201 AliAnalysisTaskDielectronReadAODBranch.cxx:202 AliAnalysisTaskDielectronReadAODBranch.cxx:203 AliAnalysisTaskDielectronReadAODBranch.cxx:204 AliAnalysisTaskDielectronReadAODBranch.cxx:205 AliAnalysisTaskDielectronReadAODBranch.cxx:206 AliAnalysisTaskDielectronReadAODBranch.cxx:207 AliAnalysisTaskDielectronReadAODBranch.cxx:208 AliAnalysisTaskDielectronReadAODBranch.cxx:209 AliAnalysisTaskDielectronReadAODBranch.cxx:210 AliAnalysisTaskDielectronReadAODBranch.cxx:211 AliAnalysisTaskDielectronReadAODBranch.cxx:212 AliAnalysisTaskDielectronReadAODBranch.cxx:213 AliAnalysisTaskDielectronReadAODBranch.cxx:214 AliAnalysisTaskDielectronReadAODBranch.cxx:215 AliAnalysisTaskDielectronReadAODBranch.cxx:216 AliAnalysisTaskDielectronReadAODBranch.cxx:217 AliAnalysisTaskDielectronReadAODBranch.cxx:218 AliAnalysisTaskDielectronReadAODBranch.cxx:219 AliAnalysisTaskDielectronReadAODBranch.cxx:220 AliAnalysisTaskDielectronReadAODBranch.cxx:221 AliAnalysisTaskDielectronReadAODBranch.cxx:222 AliAnalysisTaskDielectronReadAODBranch.cxx:223 AliAnalysisTaskDielectronReadAODBranch.cxx:224 AliAnalysisTaskDielectronReadAODBranch.cxx:225 AliAnalysisTaskDielectronReadAODBranch.cxx:226 AliAnalysisTaskDielectronReadAODBranch.cxx:227 AliAnalysisTaskDielectronReadAODBranch.cxx:228 AliAnalysisTaskDielectronReadAODBranch.cxx:229 AliAnalysisTaskDielectronReadAODBranch.cxx:230 AliAnalysisTaskDielectronReadAODBranch.cxx:231 AliAnalysisTaskDielectronReadAODBranch.cxx:232 AliAnalysisTaskDielectronReadAODBranch.cxx:233 AliAnalysisTaskDielectronReadAODBranch.cxx:234 AliAnalysisTaskDielectronReadAODBranch.cxx:235 AliAnalysisTaskDielectronReadAODBranch.cxx:236 AliAnalysisTaskDielectronReadAODBranch.cxx:237 AliAnalysisTaskDielectronReadAODBranch.cxx:238 AliAnalysisTaskDielectronReadAODBranch.cxx:239 AliAnalysisTaskDielectronReadAODBranch.cxx:240 AliAnalysisTaskDielectronReadAODBranch.cxx:241 AliAnalysisTaskDielectronReadAODBranch.cxx:242 AliAnalysisTaskDielectronReadAODBranch.cxx:243 AliAnalysisTaskDielectronReadAODBranch.cxx:244 AliAnalysisTaskDielectronReadAODBranch.cxx:245 AliAnalysisTaskDielectronReadAODBranch.cxx:246 AliAnalysisTaskDielectronReadAODBranch.cxx:247 AliAnalysisTaskDielectronReadAODBranch.cxx:248 AliAnalysisTaskDielectronReadAODBranch.cxx:249 AliAnalysisTaskDielectronReadAODBranch.cxx:250 AliAnalysisTaskDielectronReadAODBranch.cxx:251 AliAnalysisTaskDielectronReadAODBranch.cxx:252 AliAnalysisTaskDielectronReadAODBranch.cxx:253 AliAnalysisTaskDielectronReadAODBranch.cxx:254 AliAnalysisTaskDielectronReadAODBranch.cxx:255 AliAnalysisTaskDielectronReadAODBranch.cxx:256 AliAnalysisTaskDielectronReadAODBranch.cxx:257 AliAnalysisTaskDielectronReadAODBranch.cxx:258 AliAnalysisTaskDielectronReadAODBranch.cxx:259 AliAnalysisTaskDielectronReadAODBranch.cxx:260 AliAnalysisTaskDielectronReadAODBranch.cxx:261 AliAnalysisTaskDielectronReadAODBranch.cxx:262 AliAnalysisTaskDielectronReadAODBranch.cxx:263 AliAnalysisTaskDielectronReadAODBranch.cxx:264 AliAnalysisTaskDielectronReadAODBranch.cxx:265 AliAnalysisTaskDielectronReadAODBranch.cxx:266 AliAnalysisTaskDielectronReadAODBranch.cxx:267 AliAnalysisTaskDielectronReadAODBranch.cxx:268 AliAnalysisTaskDielectronReadAODBranch.cxx:269 AliAnalysisTaskDielectronReadAODBranch.cxx:270 AliAnalysisTaskDielectronReadAODBranch.cxx:271 AliAnalysisTaskDielectronReadAODBranch.cxx:272 AliAnalysisTaskDielectronReadAODBranch.cxx:273 AliAnalysisTaskDielectronReadAODBranch.cxx:274 AliAnalysisTaskDielectronReadAODBranch.cxx:275 AliAnalysisTaskDielectronReadAODBranch.cxx:276 AliAnalysisTaskDielectronReadAODBranch.cxx:277 AliAnalysisTaskDielectronReadAODBranch.cxx:278 AliAnalysisTaskDielectronReadAODBranch.cxx:279 AliAnalysisTaskDielectronReadAODBranch.cxx:280 AliAnalysisTaskDielectronReadAODBranch.cxx:281 AliAnalysisTaskDielectronReadAODBranch.cxx:282 AliAnalysisTaskDielectronReadAODBranch.cxx:283 AliAnalysisTaskDielectronReadAODBranch.cxx:284 AliAnalysisTaskDielectronReadAODBranch.cxx:285 AliAnalysisTaskDielectronReadAODBranch.cxx:286 AliAnalysisTaskDielectronReadAODBranch.cxx:287 AliAnalysisTaskDielectronReadAODBranch.cxx:288 AliAnalysisTaskDielectronReadAODBranch.cxx:289 AliAnalysisTaskDielectronReadAODBranch.cxx:290 AliAnalysisTaskDielectronReadAODBranch.cxx:291 AliAnalysisTaskDielectronReadAODBranch.cxx:292 AliAnalysisTaskDielectronReadAODBranch.cxx:293 AliAnalysisTaskDielectronReadAODBranch.cxx:294 AliAnalysisTaskDielectronReadAODBranch.cxx:295 AliAnalysisTaskDielectronReadAODBranch.cxx:296 AliAnalysisTaskDielectronReadAODBranch.cxx:297 AliAnalysisTaskDielectronReadAODBranch.cxx:298 AliAnalysisTaskDielectronReadAODBranch.cxx:299 AliAnalysisTaskDielectronReadAODBranch.cxx:300 AliAnalysisTaskDielectronReadAODBranch.cxx:301 AliAnalysisTaskDielectronReadAODBranch.cxx:302 AliAnalysisTaskDielectronReadAODBranch.cxx:303 AliAnalysisTaskDielectronReadAODBranch.cxx:304 AliAnalysisTaskDielectronReadAODBranch.cxx:305 AliAnalysisTaskDielectronReadAODBranch.cxx:306 AliAnalysisTaskDielectronReadAODBranch.cxx:307 AliAnalysisTaskDielectronReadAODBranch.cxx:308 AliAnalysisTaskDielectronReadAODBranch.cxx:309 AliAnalysisTaskDielectronReadAODBranch.cxx:310 AliAnalysisTaskDielectronReadAODBranch.cxx:311 AliAnalysisTaskDielectronReadAODBranch.cxx:312 AliAnalysisTaskDielectronReadAODBranch.cxx:313 AliAnalysisTaskDielectronReadAODBranch.cxx:314 AliAnalysisTaskDielectronReadAODBranch.cxx:315 AliAnalysisTaskDielectronReadAODBranch.cxx:316 AliAnalysisTaskDielectronReadAODBranch.cxx:317 AliAnalysisTaskDielectronReadAODBranch.cxx:318 AliAnalysisTaskDielectronReadAODBranch.cxx:319 AliAnalysisTaskDielectronReadAODBranch.cxx:320 AliAnalysisTaskDielectronReadAODBranch.cxx:321 AliAnalysisTaskDielectronReadAODBranch.cxx:322 AliAnalysisTaskDielectronReadAODBranch.cxx:323 AliAnalysisTaskDielectronReadAODBranch.cxx:324 AliAnalysisTaskDielectronReadAODBranch.cxx:325 AliAnalysisTaskDielectronReadAODBranch.cxx:326 AliAnalysisTaskDielectronReadAODBranch.cxx:327 AliAnalysisTaskDielectronReadAODBranch.cxx:328 AliAnalysisTaskDielectronReadAODBranch.cxx:329 AliAnalysisTaskDielectronReadAODBranch.cxx:330 AliAnalysisTaskDielectronReadAODBranch.cxx:331 AliAnalysisTaskDielectronReadAODBranch.cxx:332 AliAnalysisTaskDielectronReadAODBranch.cxx:333 AliAnalysisTaskDielectronReadAODBranch.cxx:334 AliAnalysisTaskDielectronReadAODBranch.cxx:335 AliAnalysisTaskDielectronReadAODBranch.cxx:336 AliAnalysisTaskDielectronReadAODBranch.cxx:337 AliAnalysisTaskDielectronReadAODBranch.cxx:338 AliAnalysisTaskDielectronReadAODBranch.cxx:339