-\r
-\r
- // Create the outputs containers\r
-\r
- OpenFile(1) ; \r
- const Int_t nPtBins=52 ;\r
- Double_t ptBins[nPtBins+1] ;\r
- for(Int_t i=0;i<=20;i++)ptBins[i]=0.1*i ; //0-2 GeV: 0.1 GeV/bin\r
- for(Int_t i=21;i<=30;i++)ptBins[i]=2.+0.2*(i-20) ; //2-4 GeV: 0.2 GeV/bin \r
- for(Int_t i=31;i<=38;i++)ptBins[i]=4.+0.5*(i-30) ; //4-8 GeV: 0.5 GeV/bin \r
- for(Int_t i=39;i<=42;i++)ptBins[i]=8.+1.0*(i-38) ; //8-12 GeV: 1. GeV/bin \r
- for(Int_t i=43;i<=52;i++)ptBins[i]=12.+2.0*(i-42) ; //12-30 GeV: 2. GeV/bin \r
-\r
-\r
- //Reconstructed spectra\r
- fhRecAll = new TH1D("fhRecAll","Spectrum of all reconstructed particles", nPtBins, ptBins ) ;\r
- fhRecAllArea1 = new TH1D("fhRecAllArea1","Spectrum of rec particles in Fid. Area 1", nPtBins, ptBins ) ;\r
- fhRecAllArea2 = new TH1D("fhRecAllArea2","Spectrum of rec particles in Fid. Area 2", nPtBins, ptBins ) ;\r
- fhRecAllArea3 = new TH1D("fhRecAllArea3","Spectrum of rec particles in Fid. Area 3", nPtBins, ptBins ) ;\r
-\r
- //Sort registered particles spectra according MC information\r
- fhRecPhoton = new TH1D("fhRecPhoton","Spectrum of rec. with primary==22 and no PID criteria", nPtBins, ptBins ) ;\r
- fhRecOther = new TH1D("fhRecOther"," Spectrum of rec. with primary!=22 and no PID criteria", nPtBins, ptBins ) ;\r
- fhRecPhotonPID[0]= new TH1D("fhRecPhotonPID0","Spectrum of rec. with primary==22 and PID=0", nPtBins, ptBins ) ;\r
- fhRecPhotonPID[1]= new TH1D("fhRecPhotonPID1","Spectrum of rec. with primary==22 and PID=1", nPtBins, ptBins ) ;\r
- fhRecPhotonPID[2]= new TH1D("fhRecPhotonPID2","Spectrum of rec. with primary==22 and PID=2", nPtBins, ptBins ) ;\r
- fhRecPhotonPID[3]= new TH1D("fhRecPhotonPID3","Spectrum of rec. with primary==22 and PID=3", nPtBins, ptBins ) ;\r
- fhRecOtherPID[0]= new TH1D("fhRecOtherPID0","Spectrum of rec. with primary!=22 and PID=0", nPtBins, ptBins ) ;\r
- fhRecOtherPID[1]= new TH1D("fhRecOtherPID1","Spectrum of rec. with primary!=22 and PID=1", nPtBins, ptBins ) ;\r
- fhRecOtherPID[2]= new TH1D("fhRecOtherPID2","Spectrum of rec. with primary!=22 and PID=2", nPtBins, ptBins ) ;\r
- fhRecOtherPID[3]= new TH1D("fhRecOtherPID3","Spectrum of rec. with primary!=22 and PID=3", nPtBins, ptBins ) ;\r
- fhRecPhotPi0 = new TH1D("fhRecPhotPi0","Spectrum of rec. photons from pi0 decays", nPtBins, ptBins ) ;\r
- fhRecPhotEta = new TH1D("fhRecPhotEta","Spectrum of rec. photons from eta decays", nPtBins, ptBins ) ;\r
- fhRecPhotOmega = new TH1D("fhRecPhotOmega","Spectrum of rec. photons from omega decays", nPtBins, ptBins ) ;\r
- fhRecPhotEtapr = new TH1D("fhRecPhotEtapr","Spectrum of rec. photons from eta prime decays", nPtBins, ptBins ) ;\r
- fhRecPhotConv = new TH1D("fhRecPhotConv"," Spectrum of rec. photons from conversion", nPtBins, ptBins ) ;\r
- fhRecPhotHadron = new TH1D("fhRecPhotHadron","Spectrum of rec. photons from hadron-matter interactions", nPtBins, ptBins ) ;\r
- fhRecPhotDirect = new TH1D("fhRecPhotDirect","Spectrum of rec. photons direct or no primary", nPtBins, ptBins ) ;\r
- fhRecPhotOther = new TH1D("fhRecPhotOther","Spectrum of rec. photons from other hadron decays", nPtBins, ptBins ) ;\r
-\r
- //MC tagging: reasons of partner loss etc.\r
- fhDecWMCPartner = new TH1D("fhDecWMCPartner","pi0 decay photon which partner should be registered according to MC", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerNotPhoton = new TH1D("fhDecWMissedPartnerNotPhoton","Decay photon with missed non-photon partner", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerAll = new TH1D("fhDecWMissedPartnerAll","Decay photons with partner missed due to some reason", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerEmin = new TH1D("fhDecWMissedPartnerEmin","Decay photons with partner missed due to low energy", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerConv = new TH1D("fhDecWMissedPartnerConv","Decay photons with partner missed due to conversion", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerStack= new TH1D("fhDecWMissedPartnerStack","Decay photons with partner not in Stack", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerGeom0 = new TH1D("fhDecWMissedPartnerGeom0","Decay photons with partner missed due geometry", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerGeom1 = new TH1D("fhDecWMissedPartnerGeom1","Decay photons with partner missed due geometry Fid. area. 1", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerGeom2 = new TH1D("fhDecWMissedPartnerGeom2","Decay photons with partner missed due geometry Fid. area. 2", nPtBins, ptBins ) ;\r
- fhDecWMissedPartnerGeom3 = new TH1D("fhDecWMissedPartnerGeom3","Decay photons with partner missed due geometry Fid. area. 3", nPtBins, ptBins ) ;\r
-\r
- //MC tagging: Decay partners spectra\r
- fhPartnerMCReg = new TH1D("fhPartnerMCReg","Spectrum of decay partners which should be registered (MC)", nPtBins, ptBins ) ;\r
- fhPartnerMissedEmin = new TH1D("fhPartnerMissedEmin","Spectrum of decay partners lost due to Emin cut", nPtBins, ptBins ) ;\r
- fhPartnerMissedConv = new TH1D("fhPartnerMissedConv","Spectrum of decay partners lost due to conversion", nPtBins, ptBins ) ;\r
- fhPartnerMissedGeo = new TH1D("fhPartnerMissedGeo","Spectrum of decay partners lost due to acceptance", nPtBins, ptBins ) ;\r
-\r
- //Tagging\r
- fhTaggedAll = new TH1D("fhTaggedAll","Spectrum of all tagged photons", nPtBins, ptBins ) ;\r
- fhTaggedArea1 = new TH1D("fhTaggedArea1","Spectrum of all tagged photons Fid. area1", nPtBins, ptBins ) ;\r
- fhTaggedArea2 = new TH1D("fhTaggedArea2","Spectrum of all tagged photons Fid. area2", nPtBins, ptBins ) ;\r
- fhTaggedArea3 = new TH1D("fhTaggedArea3","Spectrum of all tagged photons Fid. area3", nPtBins, ptBins ) ;\r
- fhTaggedPID[0] = new TH1D("fhTaggedPID0","Spectrum of tagged photons for PID=0", nPtBins, ptBins ) ;\r
- fhTaggedPID[1] = new TH1D("fhTaggedPID1","Spectrum of tagged photons for PID=1", nPtBins, ptBins ) ;\r
- fhTaggedPID[2] = new TH1D("fhTaggedPID2","Spectrum of tagged photons for PID=2", nPtBins, ptBins ) ;\r
- fhTaggedPID[3] = new TH1D("fhTaggedPID3","Spectrum of tagged photons for PID=3", nPtBins, ptBins ) ;\r
- fhTaggedMult = new TH1D("fhTaggedMult","Spectrum of multiply tagged photons", nPtBins, ptBins ) ;\r
-\r
- //Tagging: use MC information if available\r
- fhTaggedMCTrue = new TH1D("fhTaggedMCTrue","Spectrum of correctly tagged pi0 decay photons", nPtBins, ptBins ) ;\r
- fhMCMissedTagging = new TH1D("fhMCMissedTagging","Spectrum of pi0 decay photons missed tagging due to wrong pair mass", nPtBins, ptBins ) ;\r
- fhMCFakeTagged = new TH1D("fhMCFakeTagged","Spectrum of photons wrongly tagged according to MC", nPtBins, ptBins ) ;\r
-\r
- //Invariant mass distributions for fake corrections\r
- const Int_t nmass=1000 ;\r
- Double_t masses[nmass+1] ;\r
- for(Int_t i=0;i<=nmass;i++)masses[i]=0.001*i ;\r
- fhInvMassReal = new TH2D("fhInvMassReal","Two-photon inv. mass vs first photon pt",nmass,masses,nPtBins, ptBins ) ;\r
- fhInvMassMixed = new TH2D("fhInvMassMixed","Two-photon inv. mass vs first photon pt",nmass,masses,nPtBins, ptBins ) ;\r
- fhMCMissedTaggingMass= new TH2D("fhMCMissedTaggingMass","Inv mass of pairs missed tagging",nmass,masses,nPtBins, ptBins ) ;\r
-\r
- //Conversion and annihilation radius distributions\r
- fhConversionRadius = new TH1D("fhConversionRadius","Radis of photon production (conversion)",100,0.,500.) ;\r
- fhInteractionRadius = new TH1D("fhInteractionRadius","Radis of photon production (hadron interaction)",100,0.,500.);\r
-\r
- fhEvents = new TH1D("hEvents", "Number of Events processed", 1, 0, 1);\r
-\r
-// create output container\r
- \r
- fOutputList = new TList() ;\r
- fEventList = new TList() ; \r
- fOutputList->SetName(GetName()) ; \r
-\r
- fOutputList->AddAt(fhRecAll, 0) ;\r
- fOutputList->AddAt(fhRecAllArea1, 1) ;\r
- fOutputList->AddAt(fhRecAllArea2, 2) ;\r
- fOutputList->AddAt(fhRecAllArea3, 3) ;\r
-\r
- fOutputList->AddAt(fhRecPhoton, 4) ;\r
- fOutputList->AddAt(fhRecOther, 5) ;\r
- fOutputList->AddAt(fhRecPhotonPID[0], 6) ;\r
- fOutputList->AddAt(fhRecPhotonPID[1], 7) ;\r
- fOutputList->AddAt(fhRecPhotonPID[2], 8) ;\r
- fOutputList->AddAt(fhRecPhotonPID[3], 9) ;\r
- fOutputList->AddAt(fhRecOtherPID[0], 10) ;\r
- fOutputList->AddAt(fhRecOtherPID[1], 11) ;\r
- fOutputList->AddAt(fhRecOtherPID[2], 12) ;\r
- fOutputList->AddAt(fhRecOtherPID[3], 13) ;\r
- fOutputList->AddAt(fhRecPhotPi0, 14) ;\r
- fOutputList->AddAt(fhRecPhotEta, 15) ;\r
- fOutputList->AddAt(fhRecPhotOmega, 16) ;\r
- fOutputList->AddAt(fhRecPhotEtapr, 17) ;\r
- fOutputList->AddAt(fhRecPhotConv, 18) ;\r
- fOutputList->AddAt(fhRecPhotHadron, 19) ;\r
- fOutputList->AddAt(fhRecPhotDirect, 20) ;\r
- fOutputList->AddAt(fhRecPhotOther, 21) ;\r
-\r
- fOutputList->AddAt(fhDecWMCPartner, 22) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerNotPhoton, 23) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerAll, 24) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerEmin, 25) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerConv, 26) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerStack, 27) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerGeom0, 28) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerGeom1, 29) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerGeom2, 30) ;\r
- fOutputList->AddAt(fhDecWMissedPartnerGeom3, 31) ;\r
-\r
- fOutputList->AddAt(fhPartnerMCReg, 32) ;\r
- fOutputList->AddAt(fhPartnerMissedEmin, 33) ;\r
- fOutputList->AddAt(fhPartnerMissedConv, 34) ;\r
- fOutputList->AddAt(fhPartnerMissedGeo, 35) ;\r
-\r
- fOutputList->AddAt(fhTaggedAll, 36) ;\r
- fOutputList->AddAt(fhTaggedArea1, 37) ;\r
- fOutputList->AddAt(fhTaggedArea2, 38) ;\r
- fOutputList->AddAt(fhTaggedArea3, 39) ;\r
- fOutputList->AddAt(fhTaggedPID[0], 40) ;\r
- fOutputList->AddAt(fhTaggedPID[1], 41) ;\r
- fOutputList->AddAt(fhTaggedPID[2], 42) ;\r
- fOutputList->AddAt(fhTaggedPID[3], 43) ;\r
- fOutputList->AddAt(fhTaggedMult, 44) ;\r
-\r
- fOutputList->AddAt(fhTaggedMCTrue, 45) ;\r
- fOutputList->AddAt(fhMCMissedTagging, 46) ;\r
- fOutputList->AddAt(fhMCFakeTagged, 47) ;\r
-\r
- fOutputList->AddAt(fhInvMassReal, 48) ;\r
- fOutputList->AddAt(fhInvMassMixed, 49) ;\r
- fOutputList->AddAt(fhMCMissedTaggingMass, 50) ;\r
-\r
- fOutputList->AddAt(fhConversionRadius, 51) ;\r
- fOutputList->AddAt(fhInteractionRadius, 52) ;\r
-\r
- fOutputList->AddAt(fhEvents, 53) ;\r
-\r
-}\r
-\r
-//______________________________________________________________________________\r
-void AliAnalysisTaskTaggedPhotons::UserExec(Option_t *) \r
-{\r
+
+
+ // Create the outputs containers
+
+ OpenFile(1) ;
+ const Int_t nPtBins=52 ;
+ Double_t ptBins[nPtBins+1] ;
+ for(Int_t i=0;i<=20;i++)ptBins[i]=0.1*i ; //0-2 GeV: 0.1 GeV/bin
+ for(Int_t i=21;i<=30;i++)ptBins[i]=2.+0.2*(i-20) ; //2-4 GeV: 0.2 GeV/bin
+ for(Int_t i=31;i<=38;i++)ptBins[i]=4.+0.5*(i-30) ; //4-8 GeV: 0.5 GeV/bin
+ for(Int_t i=39;i<=42;i++)ptBins[i]=8.+1.0*(i-38) ; //8-12 GeV: 1. GeV/bin
+ for(Int_t i=43;i<=52;i++)ptBins[i]=12.+2.0*(i-42) ; //12-30 GeV: 2. GeV/bin
+
+
+ //Reconstructed spectra
+ fhRecAll = new TH1D("fhRecAll","Spectrum of all reconstructed particles", nPtBins, ptBins ) ;
+ fhRecAllArea1 = new TH1D("fhRecAllArea1","Spectrum of rec particles in Fid. Area 1", nPtBins, ptBins ) ;
+ fhRecAllArea2 = new TH1D("fhRecAllArea2","Spectrum of rec particles in Fid. Area 2", nPtBins, ptBins ) ;
+ fhRecAllArea3 = new TH1D("fhRecAllArea3","Spectrum of rec particles in Fid. Area 3", nPtBins, ptBins ) ;
+
+ //Sort registered particles spectra according MC information
+ fhRecPhoton = new TH1D("fhRecPhoton","Spectrum of rec. with primary==22 and no PID criteria", nPtBins, ptBins ) ;
+ fhRecOther = new TH1D("fhRecOther"," Spectrum of rec. with primary!=22 and no PID criteria", nPtBins, ptBins ) ;
+ fhRecPhotonPID[0]= new TH1D("fhRecPhotonPID0","Spectrum of rec. with primary==22 and PID=0", nPtBins, ptBins ) ;
+ fhRecPhotonPID[1]= new TH1D("fhRecPhotonPID1","Spectrum of rec. with primary==22 and PID=1", nPtBins, ptBins ) ;
+ fhRecPhotonPID[2]= new TH1D("fhRecPhotonPID2","Spectrum of rec. with primary==22 and PID=2", nPtBins, ptBins ) ;
+ fhRecPhotonPID[3]= new TH1D("fhRecPhotonPID3","Spectrum of rec. with primary==22 and PID=3", nPtBins, ptBins ) ;
+ fhRecOtherPID[0]= new TH1D("fhRecOtherPID0","Spectrum of rec. with primary!=22 and PID=0", nPtBins, ptBins ) ;
+ fhRecOtherPID[1]= new TH1D("fhRecOtherPID1","Spectrum of rec. with primary!=22 and PID=1", nPtBins, ptBins ) ;
+ fhRecOtherPID[2]= new TH1D("fhRecOtherPID2","Spectrum of rec. with primary!=22 and PID=2", nPtBins, ptBins ) ;
+ fhRecOtherPID[3]= new TH1D("fhRecOtherPID3","Spectrum of rec. with primary!=22 and PID=3", nPtBins, ptBins ) ;
+ fhRecPhotPi0 = new TH1D("fhRecPhotPi0","Spectrum of rec. photons from pi0 decays", nPtBins, ptBins ) ;
+ fhRecPhotEta = new TH1D("fhRecPhotEta","Spectrum of rec. photons from eta decays", nPtBins, ptBins ) ;
+ fhRecPhotOmega = new TH1D("fhRecPhotOmega","Spectrum of rec. photons from omega decays", nPtBins, ptBins ) ;
+ fhRecPhotEtapr = new TH1D("fhRecPhotEtapr","Spectrum of rec. photons from eta prime decays", nPtBins, ptBins ) ;
+ fhRecPhotConv = new TH1D("fhRecPhotConv"," Spectrum of rec. photons from conversion", nPtBins, ptBins ) ;
+ fhRecPhotHadron = new TH1D("fhRecPhotHadron","Spectrum of rec. photons from hadron-matter interactions", nPtBins, ptBins ) ;
+ fhRecPhotDirect = new TH1D("fhRecPhotDirect","Spectrum of rec. photons direct or no primary", nPtBins, ptBins ) ;
+ fhRecPhotOther = new TH1D("fhRecPhotOther","Spectrum of rec. photons from other hadron decays", nPtBins, ptBins ) ;
+
+ //MC tagging: reasons of partner loss etc.
+ fhDecWMCPartner = new TH1D("fhDecWMCPartner","pi0 decay photon which partner should be registered according to MC", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerNotPhoton = new TH1D("fhDecWMissedPartnerNotPhoton","Decay photon with missed non-photon partner", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerAll = new TH1D("fhDecWMissedPartnerAll","Decay photons with partner missed due to some reason", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerEmin = new TH1D("fhDecWMissedPartnerEmin","Decay photons with partner missed due to low energy", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerConv = new TH1D("fhDecWMissedPartnerConv","Decay photons with partner missed due to conversion", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerStack= new TH1D("fhDecWMissedPartnerStack","Decay photons with partner not in Stack", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerGeom0 = new TH1D("fhDecWMissedPartnerGeom0","Decay photons with partner missed due geometry", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerGeom1 = new TH1D("fhDecWMissedPartnerGeom1","Decay photons with partner missed due geometry Fid. area. 1", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerGeom2 = new TH1D("fhDecWMissedPartnerGeom2","Decay photons with partner missed due geometry Fid. area. 2", nPtBins, ptBins ) ;
+ fhDecWMissedPartnerGeom3 = new TH1D("fhDecWMissedPartnerGeom3","Decay photons with partner missed due geometry Fid. area. 3", nPtBins, ptBins ) ;
+
+ //MC tagging: Decay partners spectra
+ fhPartnerMCReg = new TH1D("fhPartnerMCReg","Spectrum of decay partners which should be registered (MC)", nPtBins, ptBins ) ;
+ fhPartnerMissedEmin = new TH1D("fhPartnerMissedEmin","Spectrum of decay partners lost due to Emin cut", nPtBins, ptBins ) ;
+ fhPartnerMissedConv = new TH1D("fhPartnerMissedConv","Spectrum of decay partners lost due to conversion", nPtBins, ptBins ) ;
+ fhPartnerMissedGeo = new TH1D("fhPartnerMissedGeo","Spectrum of decay partners lost due to acceptance", nPtBins, ptBins ) ;
+
+ //Tagging
+ fhTaggedAll = new TH1D("fhTaggedAll","Spectrum of all tagged photons", nPtBins, ptBins ) ;
+ fhTaggedArea1 = new TH1D("fhTaggedArea1","Spectrum of all tagged photons Fid. area1", nPtBins, ptBins ) ;
+ fhTaggedArea2 = new TH1D("fhTaggedArea2","Spectrum of all tagged photons Fid. area2", nPtBins, ptBins ) ;
+ fhTaggedArea3 = new TH1D("fhTaggedArea3","Spectrum of all tagged photons Fid. area3", nPtBins, ptBins ) ;
+ fhTaggedPID[0] = new TH1D("fhTaggedPID0","Spectrum of tagged photons for PID=0", nPtBins, ptBins ) ;
+ fhTaggedPID[1] = new TH1D("fhTaggedPID1","Spectrum of tagged photons for PID=1", nPtBins, ptBins ) ;
+ fhTaggedPID[2] = new TH1D("fhTaggedPID2","Spectrum of tagged photons for PID=2", nPtBins, ptBins ) ;
+ fhTaggedPID[3] = new TH1D("fhTaggedPID3","Spectrum of tagged photons for PID=3", nPtBins, ptBins ) ;
+ fhTaggedMult = new TH1D("fhTaggedMult","Spectrum of multiply tagged photons", nPtBins, ptBins ) ;
+
+ //Tagging: use MC information if available
+ fhTaggedMCTrue = new TH1D("fhTaggedMCTrue","Spectrum of correctly tagged pi0 decay photons", nPtBins, ptBins ) ;
+ fhMCMissedTagging = new TH1D("fhMCMissedTagging","Spectrum of pi0 decay photons missed tagging due to wrong pair mass", nPtBins, ptBins ) ;
+ fhMCFakeTagged = new TH1D("fhMCFakeTagged","Spectrum of photons wrongly tagged according to MC", nPtBins, ptBins ) ;
+
+ //Invariant mass distributions for fake corrections
+ const Int_t nmass=1000 ;
+ Double_t masses[nmass+1] ;
+ for(Int_t i=0;i<=nmass;i++)masses[i]=0.001*i ;
+ fhInvMassReal = new TH2D("fhInvMassReal","Two-photon inv. mass vs first photon pt",nmass,masses,nPtBins, ptBins ) ;
+ fhInvMassMixed = new TH2D("fhInvMassMixed","Two-photon inv. mass vs first photon pt",nmass,masses,nPtBins, ptBins ) ;
+ fhMCMissedTaggingMass= new TH2D("fhMCMissedTaggingMass","Inv mass of pairs missed tagging",nmass,masses,nPtBins, ptBins ) ;
+
+ //Conversion and annihilation radius distributions
+ fhConversionRadius = new TH1D("fhConversionRadius","Radis of photon production (conversion)",100,0.,500.) ;
+ fhInteractionRadius = new TH1D("fhInteractionRadius","Radis of photon production (hadron interaction)",100,0.,500.);
+
+ fhEvents = new TH1D("hEvents", "Number of Events processed", 1, 0, 1);
+
+// create output container
+
+ fOutputList = new TList() ;
+ fEventList = new TList() ;
+ fOutputList->SetName(GetName()) ;
+
+ fOutputList->AddAt(fhRecAll, 0) ;
+ fOutputList->AddAt(fhRecAllArea1, 1) ;
+ fOutputList->AddAt(fhRecAllArea2, 2) ;
+ fOutputList->AddAt(fhRecAllArea3, 3) ;
+
+ fOutputList->AddAt(fhRecPhoton, 4) ;
+ fOutputList->AddAt(fhRecOther, 5) ;
+ fOutputList->AddAt(fhRecPhotonPID[0], 6) ;
+ fOutputList->AddAt(fhRecPhotonPID[1], 7) ;
+ fOutputList->AddAt(fhRecPhotonPID[2], 8) ;
+ fOutputList->AddAt(fhRecPhotonPID[3], 9) ;
+ fOutputList->AddAt(fhRecOtherPID[0], 10) ;
+ fOutputList->AddAt(fhRecOtherPID[1], 11) ;
+ fOutputList->AddAt(fhRecOtherPID[2], 12) ;
+ fOutputList->AddAt(fhRecOtherPID[3], 13) ;
+ fOutputList->AddAt(fhRecPhotPi0, 14) ;
+ fOutputList->AddAt(fhRecPhotEta, 15) ;
+ fOutputList->AddAt(fhRecPhotOmega, 16) ;
+ fOutputList->AddAt(fhRecPhotEtapr, 17) ;
+ fOutputList->AddAt(fhRecPhotConv, 18) ;
+ fOutputList->AddAt(fhRecPhotHadron, 19) ;
+ fOutputList->AddAt(fhRecPhotDirect, 20) ;
+ fOutputList->AddAt(fhRecPhotOther, 21) ;
+
+ fOutputList->AddAt(fhDecWMCPartner, 22) ;
+ fOutputList->AddAt(fhDecWMissedPartnerNotPhoton, 23) ;
+ fOutputList->AddAt(fhDecWMissedPartnerAll, 24) ;
+ fOutputList->AddAt(fhDecWMissedPartnerEmin, 25) ;
+ fOutputList->AddAt(fhDecWMissedPartnerConv, 26) ;
+ fOutputList->AddAt(fhDecWMissedPartnerStack, 27) ;
+ fOutputList->AddAt(fhDecWMissedPartnerGeom0, 28) ;
+ fOutputList->AddAt(fhDecWMissedPartnerGeom1, 29) ;
+ fOutputList->AddAt(fhDecWMissedPartnerGeom2, 30) ;
+ fOutputList->AddAt(fhDecWMissedPartnerGeom3, 31) ;
+
+ fOutputList->AddAt(fhPartnerMCReg, 32) ;
+ fOutputList->AddAt(fhPartnerMissedEmin, 33) ;
+ fOutputList->AddAt(fhPartnerMissedConv, 34) ;
+ fOutputList->AddAt(fhPartnerMissedGeo, 35) ;
+
+ fOutputList->AddAt(fhTaggedAll, 36) ;
+ fOutputList->AddAt(fhTaggedArea1, 37) ;
+ fOutputList->AddAt(fhTaggedArea2, 38) ;
+ fOutputList->AddAt(fhTaggedArea3, 39) ;
+ fOutputList->AddAt(fhTaggedPID[0], 40) ;
+ fOutputList->AddAt(fhTaggedPID[1], 41) ;
+ fOutputList->AddAt(fhTaggedPID[2], 42) ;
+ fOutputList->AddAt(fhTaggedPID[3], 43) ;
+ fOutputList->AddAt(fhTaggedMult, 44) ;
+
+ fOutputList->AddAt(fhTaggedMCTrue, 45) ;
+ fOutputList->AddAt(fhMCMissedTagging, 46) ;
+ fOutputList->AddAt(fhMCFakeTagged, 47) ;
+
+ fOutputList->AddAt(fhInvMassReal, 48) ;
+ fOutputList->AddAt(fhInvMassMixed, 49) ;
+ fOutputList->AddAt(fhMCMissedTaggingMass, 50) ;
+
+ fOutputList->AddAt(fhConversionRadius, 51) ;
+ fOutputList->AddAt(fhInteractionRadius, 52) ;
+
+ fOutputList->AddAt(fhEvents, 53) ;
+
+}
+
+//______________________________________________________________________________
+void AliAnalysisTaskTaggedPhotons::UserExec(Option_t *)
+{