19 #include <TClonesArray.h> 20 #include <TObjString.h> 21 #include "TDatabasePDG.h" 26 #include "AliMCEvent.h" 30 #include "AliVCluster.h" 31 #include "AliVParticle.h" 42 fRemoveConvertedPair(kFALSE),
43 fAddConvertedPairsToAOD(kFALSE),
44 fFillClusterConvDistHisto(kFALSE),
45 fMassCut(0), fMassCutTight(0),
46 fConvAsymCut(1.), fConvDEtaCut(2.),
47 fConvDPhiMinCut(-1.), fConvDPhiMaxCut(7.),
48 fMomentum(), fProdVertex(),
51 fhConvDeltaEta(0), fhConvDeltaPhi(0), fhConvDeltaEtaPhi(0),
52 fhConvAsym(0), fhConvPt(0),
53 fhConvDistEta(0), fhConvDistPhi(0), fhConvDistEn(0), fhConvDistMass(0),
54 fhConvDistEtaCutEta(0), fhConvDistPhiCutEta(0), fhConvDistEnCutEta(0), fhConvDistMassCutEta(0),
55 fhConvDistEtaCutMass(0), fhConvDistPhiCutMass(0), fhConvDistEnCutMass(0),
56 fhConvDistEtaCutAsy(0), fhConvDistPhiCutAsy(0), fhConvDistEnCutAsy(0), fhConvDistMassCutAsy(0),
57 fhConvDistEtaCutAll(0), fhConvDistPhiCutAll(0), fhConvDistEnCutAll(0),
60 fhPtConversionTagged(0), fhPtAntiNeutronTagged(0),
61 fhPtAntiProtonTagged(0), fhPtUnknownTagged(0),
63 fhConvDeltaEtaMCConversion(0), fhConvDeltaPhiMCConversion(0), fhConvDeltaEtaPhiMCConversion(0),
64 fhConvAsymMCConversion(0), fhConvPtMCConversion(0),
66 fhConvM02MCConversion(0),
68 fhConvDeltaEtaMCAntiNeutron(0), fhConvDeltaPhiMCAntiNeutron(0), fhConvDeltaEtaPhiMCAntiNeutron(0),
69 fhConvAsymMCAntiNeutron(0), fhConvPtMCAntiNeutron(0),
71 fhConvM02MCAntiNeutron(0),
72 fhConvDeltaEtaMCAntiProton(0), fhConvDeltaPhiMCAntiProton(0), fhConvDeltaEtaPhiMCAntiProton(0),
73 fhConvAsymMCAntiProton(0), fhConvPtMCAntiProton(0),
75 fhConvM02MCAntiProton(0),
76 fhConvDeltaEtaMCString(0), fhConvDeltaPhiMCString(0), fhConvDeltaEtaPhiMCString(0),
77 fhConvAsymMCString(0), fhConvPtMCString(0),
80 fhConvDistMCConversion(0), fhConvDistMCConversionCuts(0)
84 for(
Int_t ibin = 0; ibin < 6; ibin++)
100 const Int_t buffersize = 255;
101 char onePar[buffersize] ;
103 snprintf(onePar,buffersize,
"--- AliAnaPhotonConvInCalo---:") ;
105 snprintf(onePar,buffersize,
"Conversion pair mass cut = %1.2f and tight mass cut = %1.2f; ",
fMassCut,
fMassCutTight);
107 snprintf(onePar,buffersize,
"Conversion Selection: fConvAsymCut %1.2f, fConvDEtaCut %1.2f fConvDPhiCut (%1.2f,%1.2f); ",
113 return new TObjString(parList) ;
123 outputContainer->SetName(
"PhotonConvInCaloHistos") ;
133 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
135 fhPtPhotonConv =
new TH1F(
"hPtPhotonConv",
"Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
140 Float_t ebin[] = {0.3,0.4,0.5,0.6,0.75,1,2};
142 for(
Int_t iebin = 0; iebin < 6; iebin++)
145 (Form(
"hEtaPhiPhotonConv_ebin%d",iebin),Form(
"pair #eta vs #phi, %2.2f<#it{E}<%2.2f GeV/#it{c}",ebin[iebin],ebin[iebin+1]),
146 netabins,etamin,etamax,nphibins,phimin,phimax);
152 (Form(
"hEtaPhiPhotonConvPaired_ebin%d",iebin),Form(
"cluster #eta vs #phi, %2.2f<#it{E}<%2.2f GeV/#it{c}",ebin[iebin],ebin[iebin+1]),
153 netabins,etamin,etamax,nphibins,phimin,phimax);
160 (
"hConvDeltaEta",
"#Delta #eta of selected conversion pairs",100,0,
fMassCut,netabins*2,-0.5,0.5);
166 (
"hConvDeltaPhi",
"#Delta #phi of selected conversion pairs",100,0,
fMassCut,nphibins*2,-0.5,0.5);
172 (
"hConvDeltaEtaPhi",
"#Delta #eta vs #Delta #phi of selected conversion pairs",netabins,-0.5,0.5,nphibins,-0.5,0.5);
178 (
"hConvAsym",
"Asymmetry of selected conversion pairs",100,0,
fMassCut,100,0,1);
180 fhConvAsym->SetXTitle(
"Pair Mass (GeV/#it{c}^{2})");
184 (
"hConvPt",
"#it{p}_{T} of selected conversion pairs",100,0,
fMassCut,100,0.,10.);
185 fhConvPt->SetYTitle(
"Pair #it{p}_{T} (GeV/#it{c})");
186 fhConvPt->SetXTitle(
"Pair #it{M} (GeV/#it{c}^{2})");
203 (
"hConvDistEta",
"distance to conversion vertex",netabins,etamin,etamax,ndist,mindist,maxdist);
209 (
"hConvDistPhi",
"distance to conversion vertex",nphibins,phimin,phimax,ndist,mindist,maxdist);
215 (
"hConvDistEn",
"distance to conversion vertex",nptbins,ptmin,ptmax,ndist,mindist,maxdist);
221 (
"hConvDistMass",
"distance to conversion vertex",100,0,
fMassCut,ndist,mindist,maxdist);
227 (
"hConvDistEtaCutEta",Form(
"distance to conversion vertex, #Delta #eta < %2.2f",
fConvDEtaCut),netabins,etamin,etamax,ndist,mindist,maxdist);
233 (
"hConvDistPhiCutEta",Form(
"distance to conversion vertex, #Delta #eta < %2.2f",
fConvDEtaCut),nphibins,phimin,phimax,ndist,mindist,maxdist);
239 (
"hConvDistEnCutEta",Form(
"distance to conversion vertex, #Delta #eta < %2.2f",
fConvDEtaCut),nptbins,ptmin,ptmax,ndist,mindist,maxdist);
245 (
"hConvDistMassCutEta",Form(
"distance to conversion vertex, #Delta #eta < %2.2f",
fConvDEtaCut),100,0,
fMassCut,ndist,mindist,maxdist);
251 (
"hConvDistEtaCutMass",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}",
fMassCutTight),netabins,etamin,etamax,ndist,mindist,maxdist);
257 (
"hConvDistPhiCutMass",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}",
fMassCutTight),nphibins,phimin,phimax,ndist,mindist,maxdist);
263 (
"hConvDistEnCutMass",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}",
fMassCutTight),nptbins,ptmin,ptmax,ndist,mindist,maxdist);
269 (
"hConvDistEtaCutAsy",Form(
"distance to conversion vertex, #it{A} < %2.2f",
fConvAsymCut),netabins,etamin,etamax,ndist,mindist,maxdist);
275 (
"hConvDistPhiCutAsy",Form(
"distance to conversion vertex, #it{A} < %2.2f",
fConvAsymCut),nphibins,phimin,phimax,ndist,mindist,maxdist);
281 (
"hConvDistEnCutAsy",Form(
"distance to conversion vertex, #it{A} < %2.2f",
fConvAsymCut),nptbins,ptmin,ptmax,ndist,mindist,maxdist);
287 (
"hConvDistMassCutAsy",Form(
"distance to conversion vertex, #it{A} < %2.2f",
fConvDEtaCut),100,0,
fMassCut,ndist,mindist,maxdist);
293 (
"hConvDistEtaCutAll",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}, #Delta #eta < %2.2f, #it{A} < %2.2f",
300 (
"hConvDistPhiCutAll",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}, #Delta #eta < %2.2f, #it{A} < %2.2f",
307 (
"hConvDistEnCutAll",Form(
"distance to conversion vertex, #it{M} < %0.2f MeV/#it{c}^{2}, #Delta #eta < %2.2f, #it{A} < %2.2f",
316 fhPtConversionTagged =
new TH1F(
"hPtMCConversionTagged",
"Number of converted #gamma over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
321 fhPtAntiNeutronTagged =
new TH1F(
"hPtMCAntiNeutronTagged",
"Number of AntiNeutron id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
326 fhPtAntiProtonTagged =
new TH1F(
"hPtMCAntiProtonTagged",
"Number of AntiProton id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
331 fhPtUnknownTagged =
new TH1F(
"hPtMCUnknownTagged",
"Number of Unknown id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
339 (
"hConvDistMCConversion",
"calculated conversion distance vs real vertes for MC conversion",ndist,mindist,maxdist,ndist,mindist,maxdist);
345 (
"hConvDistMCConversionCuts",
346 Form(
"calculated conversion distance vs real vertes for MC conversion, #Delta #eta < %2.2f, #it{M} < 10 MeV/#it{c}^{2}, #it{A} < %2.2f",
348 ndist,mindist,maxdist,ndist,mindist,maxdist);
355 (
"hConvDeltaEtaMCConversion",
"#Delta #eta of selected conversion pairs from real conversions",100,0,
fMassCut,netabins,-0.5,0.5);
361 (
"hConvDeltaPhiMCConversion",
"#Delta #phi of selected conversion pairs from real conversions",100,0,
fMassCut,nphibins,-0.5,0.5);
367 (
"hConvDeltaEtaPhiMCConversion",
"#Delta #eta vs #Delta #phi of selected conversion pairs, from real conversions",netabins,-0.5,0.5,nphibins,-0.5,0.5);
373 (
"hConvAsymMCConversion",
"Asymmetry of selected conversion pairs from real conversions",100,0,
fMassCut,100,0,1);
379 (
"hConvPtMCConversion",
"#it{p}_{T} of selected conversion pairs from real conversions",100,0,
fMassCut,nptbins,ptmin,ptmax);
384 for(
Int_t iR = 0; iR < 6; iR++)
387 (Form(
"hConvPtMCConversion_R%d",iR),
388 Form(
"#it{p}_{T} of selected conversion pairs from real conversions in %s",region[iR].
Data()),
389 100,0,
fMassCut,nptbins,ptmin,ptmax);
402 (
"hConvM02MCConversion",
"#it{p}_{T} of selected conversion pairs from real conversion",100,0.,1.,100,0.,1.);
408 (
"hConvDeltaEtaMCAntiNeutron",
"#Delta #eta of selected conversion pairs from anti-neutrons",100,0,
fMassCut,netabins,-0.5,0.5);
414 (
"hConvDeltaPhiMCAntiNeutron",
"#Delta #phi of selected conversion pairs from anti-neutrons",100,0,
fMassCut,nphibins,-0.5,0.5);
420 (
"hConvDeltaEtaPhiMCAntiNeutron",
"#Delta #eta vs #Delta #phi of selected conversion pairs from anti-neutrons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
426 (
"hConvAsymMCAntiNeutron",
"Asymmetry of selected conversion pairs from anti-neutrons",100,0,
fMassCut,100,0,1);
432 (
"hConvPtMCAntiNeutron",
"#it{p}_{T} of selected conversion pairs from anti-neutrons",100,0,
fMassCut,nptbins,ptmin,ptmax);
444 (
"hConvM02MCAntiNeutron",
"#it{p}_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
450 (
"hConvDeltaEtaMCAntiProton",
"#Delta #eta of selected conversion pairs from anti-protons",100,0,
fMassCut,netabins,-0.5,0.5);
456 (
"hConvDeltaPhiMCAntiProton",
"#Delta #phi of selected conversion pairs from anti-protons",100,0,
fMassCut,nphibins,-0.5,0.5);
462 (
"hConvDeltaEtaPhiMCAntiProton",
"#Delta #eta vs #Delta #phi of selected conversion pairs from anti-protons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
468 (
"hConvAsymMCAntiProton",
"Asymmetry of selected conversion pairs from anti-protons",100,0,
fMassCut,100,0,1);
474 (
"hConvPtMCAntiProton",
"#it{p}_{T} of selected conversion pairs from anti-protons",100,0,
fMassCut,nptbins,ptmin,ptmax);
486 (
"hConvM02MCAntiProton",
"#it{p}_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
492 (
"hConvDeltaEtaMCString",
"#Delta #eta of selected conversion pairs from string",100,0,
fMassCut,netabins,-0.5,0.5);
498 (
"hConvDeltaPhiMCString",
"#Delta #phi of selected conversion pairs from string",100,0,
fMassCut,nphibins,-0.5,0.5);
504 (
"hConvDeltaEtaPhiMCString",
"#Delta #eta vs #Delta #phi of selected conversion pairs from string",netabins,-0.5,0.5,nphibins,-0.5,0.5);
510 (
"hConvAsymMCString",
"Asymmetry of selected conversion pairs from string",100,0,
fMassCut,100,0,1);
516 (
"hConvPtMCString",
"#it{p}_{T} of selected conversion pairs from string",100,0,
fMassCut,nptbins,ptmin,ptmax);
528 (
"hConvM02MCString",
"#it{p}_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
534 return outputContainer ;
562 AliDebug(1,Form(
"AOD branch entries %d", naod));
566 for (
Int_t i = 0; i < naod; i++) indexConverted[i] = kFALSE;
568 for(
Int_t iaod = 0; iaod < naod ; iaod++)
579 for(
Int_t jaod = iaod + 1 ; jaod < naod ; jaod++)
603 if(phi < 0) phi +=TMath::TwoPi();
605 if(phi2 < 0) phi2+=TMath::TwoPi();
608 Float_t asymmetry = TMath::Abs(calo->
E()-calo2->
E())/(calo->
E()+calo2->
E());
642 AliVCluster *cluster1 =
FindCluster(clusters,calo ->GetCaloLabel(0),iclus);
646 cluster1->GetPosition(pos1);
648 cluster2->GetPosition(pos2);
649 Float_t clustDist = TMath::Sqrt((pos1[0]-pos2[0])*(pos1[0]-pos2[0])+
650 (pos1[1]-pos2[1])*(pos1[1]-pos2[1])+
651 (pos1[2]-pos2[2])*(pos1[2]-pos2[2]));
653 Float_t convDist = TMath::Sqrt(calo ->E()*clustDist*0.01/0.15) * 100.;
654 Float_t convDist2 = TMath::Sqrt(calo2->
E()*clustDist*0.01/0.15) * 100.;
656 AliDebug(2,Form(
"Pair with mass %2.3f < %2.3f, %1.2f < dPhi %2.2f < %2.2f, dEta %f < %2.2f, asymmetry %2.2f< %2.2f; \n" 657 " cluster1 id %d, e %2.3f SM %d, eta %2.3f, phi %2.3f ; \n" 658 " cluster2 id %d, e %2.3f, SM %d, eta %2.3f, phi %2.3f \n",
786 if ( prodR < 75. ) convR = 0;
787 else if ( prodR < 275. ) convR = 1;
788 else if ( prodR < 375. ) convR = 2;
789 else if ( prodR < 400. ) convR = 3;
790 else if ( prodR < 430. ) convR = 4;
832 if( ancPDG < 22 && ancLabel > 7 && (ancStatus == 11 || ancStatus == 12) )
854 indexConverted[iaod] = kTRUE;
855 indexConverted[jaod] = kTRUE;
858 Float_t ebin[] = {0.3,0.4,0.5,0.6,0.75,1,2};
862 for(
Int_t iebin = 0; iebin < 6; iebin++)
864 if( calo ->Pt() > ebin[iebin] && calo ->Pt() <= ebin[iebin+1] ) bin1 = iebin ;
865 if( calo2->
Pt() > ebin[iebin] && calo2->
Pt() <= ebin[iebin+1] ) bin2 = iebin ;
866 if( ptConvPair > ebin[iebin] && ptConvPair <= ebin[iebin+1] ) bin12 = iebin ;
883 AliDebug(1,Form(
"*** bad label ***: label %d", label));
887 if ( label >=
GetMC()->GetNumberOfTracks() )
889 AliDebug(1,Form(
"*** large label ***: label %d, n tracks %d", label,
GetMC()->GetNumberOfTracks()));
897 AliVParticle* primary =
GetMC()->GetTrack(label);
901 AliDebug(2,Form(
"*** no primary ***: label %d", label));
973 for(
Int_t iaod = 0; iaod < naod ; iaod++)
980 delete [] indexConverted;
982 AliDebug(1,Form(
"End fill AODs, with %d entries",
GetOutputAODBranch()->GetEntriesFast()));
994 printf(
"**** Print %s %s ****\n", GetName(), GetTitle() ) ;
999 printf(
"Conversion selection cut : A < %1.2f; %1.3f < Dphi < %1.3f; Deta < %1.3f\n",
Float_t GetHistoPtMax() const
TH2F * fhConvDeltaEtaPhi
! Small mass photons, correlation in phi and eta
TH2F * fhConvDeltaEtaMCAntiNeutron
! Small mass cluster pairs, correlation in eta, origin of both clusters is anti neutron ...
virtual Double_t Eta() const
TH2F * fhConvM02MCAntiProton
! Small mass cluster pairs, m02 of cluster 1 vs cluster 2, origin of both clusters is anti proton ...
TH2F * fhConvDistMassCutEta
! Approx distance to vertex vs Mass, dEta < fConvDEtaCut
virtual Double_t Pt() const
Float_t GetHistoPtMin() const
Float_t fConvDPhiMaxCut
Select conversion pairs when dphi of pair smaller than cut.
Float_t fConvDPhiMinCut
Select conversion pairs when dphi of pair lager than cut.
virtual void AddAODParticle(AliCaloTrackParticle part)
virtual void AddToHistogramsName(TString add)
TH2F * fhConvM02MCAntiNeutron
! Small mass cluster pairs, m02 of cluster 1 vs cluster 2, origin of both clusters is anti neutron ...
virtual Bool_t IsDataMC() const
TH2F * fhConvDistEnCutAll
! Approx distance to vertex vs energy, dEta < fConvDEtacut, M < 20 MeV/c^2, A < fConvAsymCut ...
TH2F * fhConvDistPhi
! Approx distance to vertex vs azimuth
TH2F * fhConvDistMCConversionCuts
! Calculated conversion distance vs real distance to vertex
Bool_t fRemoveConvertedPair
Remove conversion pairs.
Float_t fConvDEtaCut
Select conversion pairs when deta of pair smaller than cut.
TList * GetCreateOutputObjects()
TH2F * fhConvM02MCConversion
! Small mass cluster pairs, m02 of cluster 1 vs cluster 2
virtual Int_t GetLabel() const
TH2F * fhConvDeltaEtaMCConversion
! Small mass cluster pairs, correlation in eta, origin of both clusters is conversion ...
TH2F * fhConvPt
! Small mass photons, pT of pair
Double_t GetPairMass(AliCaloTrackParticle *p) const
TH2F * fhConvDeltaPhiMCConversion
! Small mass cluster pairs, correlation in phi, origin of both clusters is conversion ...
TH2F * fhConvDistEta
! Approx distance to vertex vs rapidity
Int_t GetHistoPhiBins() const
virtual void SetDetectorTag(UInt_t d)
TH1F * fhPtAntiNeutronTagged
! Number of identified gamma from AntiNeutrons gamma, tagged as conversion
virtual TClonesArray * GetOutputAODBranch() const
virtual UInt_t GetDetectorTag() const
TH2F * fhConvDeltaEta
! Small mass photons, correlation in eta
virtual void SetIdentifiedParticleType(Int_t pdg)
Float_t GetHistoPhiMin() const
TH2F * fhConvAsymMCString
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is string ...
virtual Double_t E() const
TH2F * fhConvPtMCConversionRcut[6]
! Small mass cluster pairs, pt of pair, origin of both clusters is conversion, for different producti...
TH2F * fhConvPtMCConversion
! Small mass cluster pairs, pt of pair, origin of both clusters is conversion
TH2F * fhConvAsym
! Small mass photons, correlation in energy asymmetry
Int_t GetModuleNumber(AliCaloTrackParticle *particle, AliVEvent *inputEvent) const
Get the EMCAL/PHOS module number that corresponds to this particle.
TH2F * fhConvDeltaEtaMCString
! Small mass cluster pairs, correlation in eta, origin of both clusters is string ...
TH2F * fhConvDistEtaCutAsy
! Approx distance to vertex vs rapidity, A < fConvAsymCut
Base class for CaloTrackCorr analysis algorithms.
TH2F * fhConvDeltaPhi
! Small mass photons, correlation in phi
TH2F * fhConvDeltaPhiMCAntiProton
! Small mass cluster pairs, correlation in phi, origin of both clusters is anti proton ...
TH1F * fhPtUnknownTagged
! Number of identified gamma from unknown, tagged as conversion
TH2F * fhConvDistEtaCutEta
! Approx distance to vertex vs rapidity, dEta < fConvDEtaCut
void InitParameters()
Initialize the parameters of the analysis.
TObjString * GetAnalysisCuts()
Save parameters used for analysis.
TH1F * fhPtPhotonConv
! Number of identified photon vs transverse momentum
TH2F * fhConvDistEnCutAsy
! Approx distance to vertex vs energy, A < fConvAsymCut
Container for input particle information on CaloTrackCorr package.
TH2F * fhConvPtMCAntiNeutron
! Small mass cluster pairs, pt of pair, origin of both clusters is anti neutron
virtual AliHistogramRanges * GetHistogramRanges()
TH2F * fhConvDistEnCutEta
! Approx distance to vertex vs Energy, dEta < fConvDEtaCut
TH2F * fhConvDeltaEtaPhiMCAntiProton
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is anti proton ...
TH2F * fhConvPtMCString
! Small mass cluster pairs, pt of pairs, origin of both clusters is string
TH2F * fhConvDistMass
! Approx distance to vertex vs Mass
TH2F * fhEtaPhiPhotonConv[6]
! Pseudorapidity vs Phi of identified photon conv pair for 6 transverse momentum bins ...
TH2F * fhConvDeltaPhiMCAntiNeutron
! Small mass cluster pairs, correlation in phi, origin of both clusters is anti neutron ...
TH1F * fhPtConversionTagged
! Number of identified gamma from Conversion , tagged as conversion
TH2F * fhConvDistPhiCutMass
! Approx distance to vertex vs azimuth, M < 20 MeV/c^2
TLorentzVector * GetMomentum() const
virtual AliCalorimeterUtils * GetCaloUtils() const
TH2F * fhConvDeltaEtaPhiMCConversion
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is conversion ...
void MakeAnalysisFillHistograms()
AliAnaPhotonConvInCalo()
Default constructor. Initialize parameters.
TH2F * fhEtaPhiPhotonConvPaired[6]
! Pseudorapidity vs Phi of identified photon conv leg for 6 transverse momentum bins ...
TH2F * fhConvDeltaEtaPhiMCString
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is string ...
TH2F * fhConvDistEn
! Approx distance to vertex vs Energy
Float_t fMassCutTight
Mass cut for the conversion pairs selection, tighter.
virtual Double_t GetEventWeight() const
Bool_t fFillClusterConvDistHisto
Fill histograms with calculated conversion distance with data clusters.
TH2F * fhConvDistEtaCutAll
! Approx distance to vertex vs rapidity, dEta < fConvDEtaCut, M < 20 MeV/c^2, A < fConvAsymCut ...
virtual TObjArray * GetPHOSClusters() const
Float_t GetHistoEtaMin() const
TH2F * fhConvDistMCConversion
! Calculated conversion distance vs real distance to vertex
virtual void SetLabel(Int_t l)
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
virtual void SetTag(Int_t tag)
virtual AliMCEvent * GetMC() const
TH2F * fhConvDeltaEtaMCAntiProton
! Small mass cluster pairs, correlation in eta, origin of both clusters is anti proton ...
TH2F * fhConvDistPhiCutAll
! Approx distance to vertex vs azimuth, dEta < fConvDEtaCut, M < 20 MeV/c^2, A < fConvAsymCut ...
TH1F * fhPtAntiProtonTagged
! Number of identified gamma from AntiProtons gamma, tagged as conversion
TH2F * fhConvPtMCAntiProton
! Small mass cluster pairs, pt of pairs, origin of both clusters is anti proton
TH2F * fhConvDistEtaCutMass
! Approx distance to vertex vs rapidity, M < 20 MeV/c^2
TH2F * fhConvAsymMCAntiProton
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is anti proton ...
virtual void SetCaloLabel(Int_t a, Int_t b)
Float_t GetHistoEtaMax() const
Int_t GetHistoPtBins() const
virtual void SetTagged(Bool_t tag)
TH2F * fhConvM02MCString
! Small mass cluster pairs, m02 of cluster 1 vs cluster 2, origin of both clusters is string ...
Bool_t fAddConvertedPairsToAOD
Put Converted pairs in AOD.
TLorentzVector fMomentum
! Cluster momentum
TH2F * fhConvDistMassCutAsy
! Approx distance to vertex vs mass, A < fConvAsymCut
TH2F * fhConvAsymMCAntiNeutron
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is anti neutron ...
TH2F * fhConvDistPhiCutEta
! Approx distance to vertex vs azimuth
virtual Int_t GetModuleNumber(AliCaloTrackParticle *part) const
virtual Double_t Phi() const
Conversions pairs clusters analysis.
virtual AliMCAnalysisUtils * GetMCAnalysisUtils()
TVector3 fProdVertex
! Production vertex
Float_t fConvAsymCut
Select conversion pairs when asymmetry is smaller than cut.
virtual void Print(const Option_t *) const
Print some relevant parameters set for the analysis.
TH2F * fhConvAsymMCConversion
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is conversion ...
Float_t fMassCut
Mass cut for the conversion pairs selection.
Int_t CheckCommonAncestor(Int_t index1, Int_t index2, const AliMCEvent *mcevent, Int_t &ancPDG, Int_t &ancStatus, TLorentzVector &momentum, TVector3 &prodVertex)
virtual AliVCluster * FindCluster(TObjArray *clusters, Int_t clId, Int_t &iclus, Int_t first=0)
virtual Float_t GetM02() const
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Float_t GetHistoPhiMax() const
virtual AliCaloTrackReader * GetReader() const
Int_t GetHistoEtaBins() const
TH2F * fhConvDistEnCutMass
! Approx distance to vertex vs Energy, M < 20 MeV/c^2
virtual Int_t GetTag() const
virtual TObjArray * GetEMCALClusters() const
virtual Int_t GetIdentifiedParticleType() const
virtual Int_t GetCaloLabel(Int_t i) const
TH2F * fhConvDeltaEtaPhiMCAntiNeutron
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is anti neutron ...
TH2F * fhConvDeltaPhiMCString
! Small mass cluster pairs, correlation in phi, origin of both clusters is string ...
TH2F * fhConvDistPhiCutAsy
! Approx distance to vertex vs azimuth, A < fConvAsymCut