19 #include <TClonesArray.h>
20 #include <TObjString.h>
21 #include "TParticle.h"
22 #include "TDatabasePDG.h"
31 #include "AliVCluster.h"
32 #include "AliAODMCParticle.h"
43 fRemoveConvertedPair(kFALSE),
44 fAddConvertedPairsToAOD(kFALSE),
46 fConvAsymCut(1.), fConvDEtaCut(2.),
47 fConvDPhiMinCut(-1.), fConvDPhiMaxCut(7.),
48 fMomentum(), fProdVertex(),
50 fhPtPhotonConv(0), fhEtaPhiPhotonConv(0), fhEtaPhi05PhotonConv(0),
51 fhConvDeltaEta(0), fhConvDeltaPhi(0), fhConvDeltaEtaPhi(0),
52 fhConvAsym(0), fhConvPt(0),
53 fhConvDistEta(0), fhConvDistEn(0), fhConvDistMass(0),
54 fhConvDistEtaCutEta(0), fhConvDistEnCutEta(0), fhConvDistMassCutEta(0),
55 fhConvDistEtaCutMass(0), fhConvDistEnCutMass(0),
56 fhConvDistEtaCutAsy(0), fhConvDistEnCutAsy(0),
59 fhPtConversionTagged(0), fhPtAntiNeutronTagged(0),
60 fhPtAntiProtonTagged(0), fhPtUnknownTagged(0),
62 fhConvDeltaEtaMCConversion(0), fhConvDeltaPhiMCConversion(0), fhConvDeltaEtaPhiMCConversion(0),
63 fhConvAsymMCConversion(0), fhConvPtMCConversion(0),
64 fhConvDispersionMCConversion(0), fhConvM02MCConversion(0),
66 fhConvDeltaEtaMCAntiNeutron(0), fhConvDeltaPhiMCAntiNeutron(0), fhConvDeltaEtaPhiMCAntiNeutron(0),
67 fhConvAsymMCAntiNeutron(0), fhConvPtMCAntiNeutron(0),
68 fhConvDispersionMCAntiNeutron(0), fhConvM02MCAntiNeutron(0),
69 fhConvDeltaEtaMCAntiProton(0), fhConvDeltaPhiMCAntiProton(0), fhConvDeltaEtaPhiMCAntiProton(0),
70 fhConvAsymMCAntiProton(0), fhConvPtMCAntiProton(0),
71 fhConvDispersionMCAntiProton(0), fhConvM02MCAntiProton(0),
72 fhConvDeltaEtaMCString(0), fhConvDeltaPhiMCString(0), fhConvDeltaEtaPhiMCString(0),
73 fhConvAsymMCString(0), fhConvPtMCString(0),
74 fhConvDispersionMCString(0), fhConvM02MCString(0),
75 fhConvDistMCConversion(0), fhConvDistMCConversionCuts(0)
86 const Int_t buffersize = 255;
87 char onePar[buffersize] ;
89 snprintf(onePar,buffersize,
"--- AliAnaPhotonConvInCalo---:") ;
91 snprintf(onePar,buffersize,
"Conversion Selection: fConvAsymCut %1.2f, fConvDEtaCut %1.2f fConvDPhiCut (%1.2f,%1.2f)",
95 return new TObjString(parList) ;
104 TList * outputContainer =
new TList() ;
105 outputContainer->SetName(
"PhotonConvInCaloHistos") ;
111 fhPtPhotonConv =
new TH1F(
"hPtPhotonConv",
"Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
117 (
"hEtaPhiPhotonConv",
"#eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
123 (
"hEtaPhi05PhotonConv",
"#eta vs #phi, E > 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
130 (
"hConvDeltaEta",
"#Delta #eta of selected conversion pairs",100,0,
fMassCut,netabins*2,-0.5,0.5);
136 (
"hConvDeltaPhi",
"#Delta #phi of selected conversion pairs",100,0,
fMassCut,nphibins*2,-0.5,0.5);
142 (
"hConvDeltaEtaPhi",
"#Delta #eta vs #Delta #phi of selected conversion pairs",netabins,-0.5,0.5,nphibins,-0.5,0.5);
148 (
"hConvAsym",
"Asymmetry of selected conversion pairs",100,0,
fMassCut,100,0,1);
154 (
"hConvPt",
"p_{T} of selected conversion pairs",100,0,
fMassCut,100,0.,10.);
155 fhConvPt->SetYTitle(
"Pair p_{T} (GeV/c)");
156 fhConvPt->SetXTitle(
"Pair Mass (GeV/c^2)");
160 (
"hConvDistEta",
"distance to conversion vertex",100,-0.7,0.7,100,0.,5.);
166 (
"hConvDistEn",
"distance to conversion vertex",nptbins,ptmin,ptmax,100,0.,5.);
172 (
"hConvDistMass",
"distance to conversion vertex",100,0,
fMassCut,100,0.,5.);
178 (
"hConvDistEtaCutEta",
"distance to conversion vertex, dEta < 0.05",100,-0.7,0.7,100,0.,5.);
184 (
"hConvDistEnCutEta",
"distance to conversion vertex, dEta < 0.05",nptbins,ptmin,ptmax,100,0.,5.);
190 (
"hConvDistMassCutEta",
"distance to conversion vertex, dEta < 0.05",100,0,
fMassCut,100,0.,5.);
196 (
"hConvDistEtaCutMass",
"distance to conversion vertex, dEta < 0.05, m < 10 MeV",100,-0.7,0.7,100,0.,5.);
202 (
"hConvDistEnCutMass",
"distance to conversion vertex, dEta < 0.05, m < 10 MeV",nptbins,ptmin,ptmax,100,0.,5.);
208 (
"hConvDistEtaCutAsy",
"distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",100,-0.7,0.7,100,0.,5.);
214 (
"hConvDistEnCutAsy",
"distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",nptbins,ptmin,ptmax,100,0.,5.);
221 fhPtConversionTagged =
new TH1F(
"hPtMCConversionTagged",
"Number of converted #gamma over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
227 fhPtAntiNeutronTagged =
new TH1F(
"hPtMCAntiNeutronTagged",
"Number of AntiNeutron id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
232 fhPtAntiProtonTagged =
new TH1F(
"hPtMCAntiProtonTagged",
"Number of AntiProton id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
237 fhPtUnknownTagged =
new TH1F(
"hPtMCUnknownTagged",
"Number of Unknown id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
243 (
"hConvDeltaEtaMCConversion",
"#Delta #eta of selected conversion pairs from real conversions",100,0,
fMassCut,netabins,-0.5,0.5);
249 (
"hConvDeltaPhiMCConversion",
"#Delta #phi of selected conversion pairs from real conversions",100,0,
fMassCut,nphibins,-0.5,0.5);
255 (
"hConvDeltaEtaPhiMCConversion",
"#Delta #eta vs #Delta #phi of selected conversion pairs, from real conversions",netabins,-0.5,0.5,nphibins,-0.5,0.5);
261 (
"hConvAsymMCConversion",
"Asymmetry of selected conversion pairs from real conversions",100,0,
fMassCut,100,0,1);
267 (
"hConvPtMCConversion",
"p_{T} of selected conversion pairs from real conversions",100,0,
fMassCut,100,0.,10.);
273 (
"hConvDispersionMCConversion",
"p_{T} of selected conversion pairs from real conversions",100,0.,1.,100,0.,1.);
279 (
"hConvM02MCConversion",
"p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
285 (
"hConvDeltaEtaMCAntiNeutron",
"#Delta #eta of selected conversion pairs from anti-neutrons",100,0,
fMassCut,netabins,-0.5,0.5);
291 (
"hConvDeltaPhiMCAntiNeutron",
"#Delta #phi of selected conversion pairs from anti-neutrons",100,0,
fMassCut,nphibins,-0.5,0.5);
297 (
"hConvDeltaEtaPhiMCAntiNeutron",
"#Delta #eta vs #Delta #phi of selected conversion pairs from anti-neutrons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
303 (
"hConvAsymMCAntiNeutron",
"Asymmetry of selected conversion pairs from anti-neutrons",100,0,
fMassCut,100,0,1);
309 (
"hConvPtMCAntiNeutron",
"p_{T} of selected conversion pairs from anti-neutrons",100,0,
fMassCut,100,0.,10.);
315 (
"hConvDispersionMCAntiNeutron",
"p_{T} of selected conversion pairs from anti-neutrons",100,0.,1.,100,0.,1.);
321 (
"hConvM02MCAntiNeutron",
"p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
327 (
"hConvDeltaEtaMCAntiProton",
"#Delta #eta of selected conversion pairs from anti-protons",100,0,
fMassCut,netabins,-0.5,0.5);
333 (
"hConvDeltaPhiMCAntiProton",
"#Delta #phi of selected conversion pairs from anti-protons",100,0,
fMassCut,nphibins,-0.5,0.5);
339 (
"hConvDeltaEtaPhiMCAntiProton",
"#Delta #eta vs #Delta #phi of selected conversion pairs from anti-protons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
345 (
"hConvAsymMCAntiProton",
"Asymmetry of selected conversion pairs from anti-protons",100,0,
fMassCut,100,0,1);
351 (
"hConvPtMCAntiProton",
"p_{T} of selected conversion pairs from anti-protons",100,0,
fMassCut,100,0.,10.);
357 (
"hConvDispersionMCAntiProton",
"p_{T} of selected conversion pairs from anti-protons",100,0.,1.,100,0.,1.);
363 (
"hConvM02MCAntiProton",
"p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
369 (
"hConvDeltaEtaMCString",
"#Delta #eta of selected conversion pairs from string",100,0,
fMassCut,netabins,-0.5,0.5);
375 (
"hConvDeltaPhiMCString",
"#Delta #phi of selected conversion pairs from string",100,0,
fMassCut,nphibins,-0.5,0.5);
381 (
"hConvDeltaEtaPhiMCString",
"#Delta #eta vs #Delta #phi of selected conversion pairs from string",netabins,-0.5,0.5,nphibins,-0.5,0.5);
387 (
"hConvAsymMCString",
"Asymmetry of selected conversion pairs from string",100,0,
fMassCut,100,0,1);
393 (
"hConvPtMCString",
"p_{T} of selected conversion pairs from string",100,0,
fMassCut,100,0.,10.);
399 (
"hConvDispersionMCString",
"p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
405 (
"hConvM02MCString",
"p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
411 (
"hConvDistMCConversion",
"calculated conversion distance vs real vertes for MC conversion",100,0.,5.,100,0.,5.);
417 (
"hConvDistMCConversionCuts",
"calculated conversion distance vs real vertes for MC conversion, deta < 0.05, m < 10 MeV, asym < 0.1",100,0.,5.,100,0.,5.);
423 return outputContainer ;
445 AliDebug(1,Form(
"AOD branch entries %d", naod));
448 Bool_t * indexConverted =
new Bool_t[naod];
449 for (Int_t i = 0; i < naod; i++) indexConverted[i] = kFALSE;
451 for(Int_t iaod = 0; iaod < naod ; iaod++)
455 Bool_t bConverted = kFALSE;
459 if (indexConverted[iaod])
continue;
462 AliAODPWG4Particle* calo2 = 0;
463 for(Int_t jaod = iaod + 1 ; jaod < naod ; jaod++)
466 if (indexConverted[jaod])
continue;
472 Float_t pairM = calo->GetPairMass(calo2);
476 calo->SetTagged(kFALSE);
477 id2 = calo2->GetCaloLabel(0);
478 Float_t asymmetry = TMath::Abs(calo->E()-calo2->E())/(calo->E()+calo2->E());
479 Float_t dPhi = (calo->Momentum())->Phi()-(calo2->Momentum())->Phi();
480 Float_t dEta = (calo->Momentum())->Eta()-(calo2->Momentum())->Eta();
503 TObjArray * clusters = 0;
509 AliVCluster *cluster1 =
FindCluster(clusters,calo ->GetCaloLabel(0),iclus);
510 AliVCluster *cluster2 =
FindCluster(clusters,calo2->GetCaloLabel(0),iclus);
513 cluster1->GetPosition(pos1);
515 cluster2->GetPosition(pos2);
516 Float_t clustDist = TMath::Sqrt((pos1[0]-pos2[0])*(pos1[0]-pos2[0])+
517 (pos1[1]-pos2[1])*(pos1[1]-pos2[1])+
518 (pos1[2]-pos2[2])*(pos1[2]-pos2[2]));
520 Float_t convDist = TMath::Sqrt(calo->E() *clustDist*0.01/0.15);
521 Float_t convDist2 = TMath::Sqrt(calo2->E()*clustDist*0.01/0.15);
523 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 cluster1 id %d, e %2.3f SM %d, eta %2.3f, phi %2.3f ; \n cluster2 id %d, e %2.3f, SM %d,eta %2.3f, phi %2.3f",
566 indexConverted[iaod] = kTRUE;
567 indexConverted[jaod] = kTRUE;
585 Int_t tag1 = calo ->GetTag();
586 Int_t tag2 = calo2->GetTag();
601 if(dEta<0.05 && pairM<0.01 && asymmetry<0.1)
637 if( ancPDG < 22 && ancLabel > 7 && (ancStatus == 11 || ancStatus == 12) )
663 fMomentum = *(calo->Momentum())+*(calo2->Momentum());
664 AliAODPWG4Particle aodpair = AliAODPWG4Particle(
fMomentum);
665 aodpair.SetLabel(calo->GetLabel());
670 aodpair.SetCaloLabel(calo->GetCaloLabel(0),id2);
671 aodpair.SetDetectorTag(calo->GetDetectorTag());
672 aodpair.SetIdentifiedParticleType(calo->GetIdentifiedParticleType());
673 aodpair.SetTag(calo ->GetTag());
674 aodpair.SetTagged(kTRUE);
687 calo->SetTagged(kTRUE);
697 for(Int_t iaod = 0; iaod < naod ; iaod++)
704 delete [] indexConverted;
706 AliDebug(1,Form(
"End fill AODs, with %d entries",
GetOutputAODBranch()->GetEntriesFast()));
716 AliStack * stack = 0x0;
717 TParticle * primary = 0x0;
718 TClonesArray * mcparticles = 0x0;
719 AliAODMCParticle * aodprimary = 0x0;
728 AliFatal(
"Stack not available, is the MC handler called? STOP");
732 else if(
GetReader()->ReadAODMCParticles())
738 AliFatal(
"Standard MCParticles not available!");
747 AliDebug(1,Form(
"AOD branch entries %d", naod));
749 for(Int_t iaod = 0; iaod < naod ; iaod++)
756 AliDebug(2,Form(
"ID Photon: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
759 Float_t ptcluster = ph->Pt();
760 Float_t phicluster = ph->Phi();
761 Float_t etacluster = ph->Eta();
762 Float_t ecluster = ph->E();
774 Int_t label =ph->GetLabel();
777 AliDebug(1,Form(
"*** bad label ***: label %d", label));
785 if(label >= stack->GetNtrack())
787 AliDebug(1,Form(
"*** large label ***: label %d, n tracks %d", label, stack->GetNtrack()));
791 primary = stack->Particle(label);
794 AliDebug(1,Form(
"*** no primary ***: label %d", label));
801 else if(
GetReader()->ReadAODMCParticles())
803 if(label >= mcparticles->GetEntriesFast())
805 AliDebug(2,Form(
"*** large label ***: label %d, n tracks %d",label, mcparticles->GetEntriesFast()));
810 aodprimary = (AliAODMCParticle*) mcparticles->At(label);
814 AliDebug(2,Form(
"*** no primary ***: label %d", label));
823 Int_t tag =ph->GetTag();
858 printf(
"**** Print %s %s ****\n", GetName(), GetTitle() ) ;
862 printf(
"Conversion pair mass cut = %f\n",
fMassCut);
863 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 ...
TH2F * fhConvM02MCAntiProton
! Small mass cluster pairs, m02 of cluster 1 vs cluster 2, origin of both clusters is anti proton ...
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
TH2F * fhConvDistMassCutEta
! Approx distance to vertex vs Mass, dEta < 0.05
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 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 * fhConvDistMCConversionCuts
! Calculated conversion distance vs real distance to vertex
Bool_t fRemoveConvertedPair
Remove conversion pairs.
virtual AliStack * GetMCStack() const
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
TH2F * fhConvDispersionMCAntiProton
! Small mass cluster pairs, dispersion of cluster 1 vs cluster 2, origin of both clusters is anti pro...
TH2F * fhConvDeltaEtaMCConversion
! Small mass cluster pairs, correlation in eta, origin of both clusters is conversion ...
TH2F * fhConvPt
! Small mass photons, pT of pair
TH2F * fhConvDeltaPhiMCConversion
! Small mass cluster pairs, correlation in phi, origin of both clusters is conversion ...
TH2F * fhConvDistEta
! Approx distance to vertex vs cluster Eta
Int_t GetHistoPhiBins() const
TH1F * fhPtAntiNeutronTagged
! Number of identified gamma from AntiNeutrons gamma, tagged as conversion
virtual TClonesArray * GetOutputAODBranch() const
TH2F * fhConvDeltaEta
! Small mass photons, correlation in eta
Float_t GetHistoPhiMin() const
TH2F * fhConvAsymMCString
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is string ...
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(AliAODPWG4Particle *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 cluster Eta, dEta < 0.05, m < 10 MeV, A < 0.1
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 cluster Eta, dEta < 0.05
void InitParameters()
Initialize the parameters of the analysis.
TObjString * GetAnalysisCuts()
Save parameters used for analysis.
TH1F * fhPtPhotonConv
! Number of identified photon vs transerse momentum
TH2F * fhConvDistEnCutAsy
! Approx distance to vertex vs energy, dEta < 0.05, m < 10 MeV, A < 0.1
TH2F * fhConvPtMCAntiNeutron
! Small mass cluster pairs, pt of pair, origin of both clusters is anti neutron
virtual TClonesArray * GetAODMCParticles() const
virtual AliHistogramRanges * GetHistogramRanges()
void MakeAnalysisFillAOD()
Do conversion photon analysis and fill aods.
TH2F * fhConvDistEnCutEta
! Approx distance to vertex vs Energy, dEta < 0.05
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
Int_t CheckCommonAncestor(Int_t index1, Int_t index2, const AliCaloTrackReader *reader, Int_t &ancPDG, Int_t &ancStatus, TLorentzVector &momentum, TVector3 &v)
TH2F * fhConvDispersionMCAntiNeutron
! Small mass cluster pairs, dispersion of cluster 1 vs cluster 2, origin of both clusters is anti neu...
TH2F * fhConvDistMass
! Approx distance to vertex vs Mass
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
virtual AliCalorimeterUtils * GetCaloUtils() const
TH2F * fhConvDeltaEtaPhiMCConversion
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is conversion ...
void MakeAnalysisFillHistograms()
Fill histograms for selected pairs.
AliAnaPhotonConvInCalo()
Default constructor. Initialize parameters.
TH2F * fhConvDispersionMCString
! Small mass cluster pairs, dispersion of cluster 1 vs cluster 2, origin of both clusters is string ...
TH2F * fhConvDeltaEtaPhiMCString
! Small mass cluster pairs, correlation in eta-phi, origin of both clusters is string ...
TH2F * fhConvDistEn
! Approx distance to vertex vs Energy
TH2F * fhConvDispersionMCConversion
! Small mass cluster pairs, dispersion of cluster 1 vs cluster 2
virtual Double_t GetEventWeight() const
virtual TObjArray * GetPHOSClusters() const
Float_t GetHistoEtaMin() const
TH2F * fhConvDistMCConversion
! Calculated conversion distance vs real distance to vertex
TH2F * fhConvDeltaEtaMCAntiProton
! Small mass cluster pairs, correlation in eta, origin of both clusters is anti proton ...
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 cluster Eta, dEta < 0.05, m < 10 MeV
TH2F * fhConvAsymMCAntiProton
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is anti proton ...
Float_t GetHistoEtaMax() const
virtual void AddAODParticle(AliAODPWG4Particle part)
Int_t GetHistoPtBins() const
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 * fhConvAsymMCAntiNeutron
! Small mass cluster pairs, correlation in energy asymmetry, origin of both clusters is anti neutron ...
Conversions pairs clusters analysis.
virtual AliMCAnalysisUtils * GetMCAnalysisUtils()
TVector3 fProdVertex
! Production vertex
virtual Float_t GetMinPt() const
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.
virtual AliVCluster * FindCluster(TObjArray *clusters, Int_t clId, Int_t &iclus, Int_t first=0)
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, dEta < 0.05, m < 10 MeV
virtual TObjArray * GetEMCALClusters() const
TH2F * fhEtaPhi05PhotonConv
! Pseudorapidity vs Phi of identified photon for transerse momentum < 0.5, for converted ...
Bool_t CheckTagBit(Int_t tag, UInt_t test) const
TH2F * fhEtaPhiPhotonConv
! Pseudorapidity vs Phi of identified photon for transerse momentum > 0.5, for converted ...
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 ...