24 #include "AliAnalysisManager.h" 25 #include "TParticle.h" 27 #include "AliPIDResponse.h" 28 #include "AliESDtrackCuts.h" 39 fV0ReaderName("V0ReaderV1"),
40 fConversionGammas(NULL),
41 fGammaCandidates(NULL),
42 fConversionCutArray(NULL),
49 fAllMCGammaList(NULL),
50 fAllMCConvGammaList(NULL),
54 fNESDtracksEta0914(0),
59 fGammaMCConvTheta(0.),
71 hNGoodESDTracksEta09(NULL),
72 hNGoodESDTracksEta14(NULL),
73 hNGoodESDTracksEta09_14(NULL),
74 hESDConversionRPhi(NULL),
75 hESDConversionRZ(NULL),
76 hESDConversionRPt(NULL),
77 hESDConversionREta(NULL),
78 hESDConversionDCA(NULL),
79 hESDConversionPsiPair(NULL),
80 hESDConversionChi2(NULL),
81 hESDConversionMass(NULL),
82 hESDConversionRRejSmall(NULL),
83 hESDConversionRRejLarge(NULL),
85 hElectronRNSigmadEdx(NULL),
87 hPositronRNSigmadEdx(NULL),
88 hMCConversionRPhi(NULL),
89 hMCConversionRPt(NULL),
90 hMCConversionREta(NULL),
91 hMCConversionRRejSmall(NULL),
92 hMCConversionRRejLarge(NULL),
94 hMCTrueConversionRPhi(NULL),
95 hMCTrueConversionRZ(NULL),
96 hMCTrueConversionRPt(NULL),
97 hMCTrueConversionREta(NULL),
98 hMCTrueConversionDCA(NULL),
99 hMCTrueConversionPsiPair(NULL),
100 hMCTrueConversionChi2(NULL),
101 hMCTrueConversionMass(NULL),
102 hMCTrueConversionRRejSmall(NULL),
103 hMCTrueConversionRRejLarge(NULL),
104 hMCTruePi0DalConversionRPt(NULL),
105 hMCTruePi0DalConversionEta(NULL),
106 hMCTrueEtaDalConversionRPt(NULL),
107 hMCTrueEtaDalConversionEta(NULL),
108 hMCTrueCombinatorialConversionRPt(NULL),
109 hMCTrueCombinatorialConversionEta(NULL)
118 fV0ReaderName(
"V0ReaderV1"),
119 fConversionGammas(NULL),
120 fGammaCandidates(NULL),
121 fConversionCutArray(NULL),
122 fEventCutArray(NULL),
128 fAllMCGammaList(NULL),
129 fAllMCConvGammaList(NULL),
133 fNESDtracksEta0914(0),
138 fGammaMCConvTheta(0.),
150 hNGoodESDTracksEta09(NULL),
151 hNGoodESDTracksEta14(NULL),
152 hNGoodESDTracksEta09_14(NULL),
153 hESDConversionRPhi(NULL),
154 hESDConversionRZ(NULL),
155 hESDConversionRPt(NULL),
156 hESDConversionREta(NULL),
157 hESDConversionDCA(NULL),
158 hESDConversionPsiPair(NULL),
159 hESDConversionChi2(NULL),
160 hESDConversionMass(NULL),
161 hESDConversionRRejSmall(NULL),
162 hESDConversionRRejLarge(NULL),
163 hElectronRdEdx(NULL),
164 hElectronRNSigmadEdx(NULL),
165 hPositronRdEdx(NULL),
166 hPositronRNSigmadEdx(NULL),
167 hMCConversionRPhi(NULL),
168 hMCConversionRPt(NULL),
169 hMCConversionREta(NULL),
170 hMCConversionRRejSmall(NULL),
171 hMCConversionRRejLarge(NULL),
173 hMCTrueConversionRPhi(NULL),
174 hMCTrueConversionRZ(NULL),
175 hMCTrueConversionRPt(NULL),
176 hMCTrueConversionREta(NULL),
177 hMCTrueConversionDCA(NULL),
178 hMCTrueConversionPsiPair(NULL),
179 hMCTrueConversionChi2(NULL),
180 hMCTrueConversionMass(NULL),
181 hMCTrueConversionRRejSmall(NULL),
182 hMCTrueConversionRRejLarge(NULL),
183 hMCTruePi0DalConversionRPt(NULL),
184 hMCTruePi0DalConversionEta(NULL),
185 hMCTrueEtaDalConversionRPt(NULL),
186 hMCTrueEtaDalConversionEta(NULL),
187 hMCTrueCombinatorialConversionRPt(NULL),
188 hMCTrueCombinatorialConversionEta(NULL)
192 DefineInput(0, TChain::Class());
193 DefineOutput(1, TList::Class());
279 fCutFolder[iCut]->SetName(Form(
"Cut Number %s_%s",cutstringEvent.Data() ,cutstringPhoton.Data()));
284 fESDList[iCut]->SetName(Form(
"%s_%s ESD histograms",cutstringEvent.Data() ,cutstringPhoton.Data()));
296 hNEvents[iCut] =
new TH1F(
"NEvents",
"NEvents",14,-0.5,13.5);
297 hNEvents[iCut]->GetXaxis()->SetBinLabel(1,
"Accepted");
298 hNEvents[iCut]->GetXaxis()->SetBinLabel(2,
"Centrality");
299 hNEvents[iCut]->GetXaxis()->SetBinLabel(3,
"Miss. MC or inc. ev.");
301 TString TriggerNames =
"Not Trigger: ";
303 hNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
305 hNEvents[iCut]->GetXaxis()->SetBinLabel(4,
"Trigger");
307 hNEvents[iCut]->GetXaxis()->SetBinLabel(5,
"Vertex Z");
308 hNEvents[iCut]->GetXaxis()->SetBinLabel(6,
"Cont. Vertex");
309 hNEvents[iCut]->GetXaxis()->SetBinLabel(7,
"Pile-Up");
310 hNEvents[iCut]->GetXaxis()->SetBinLabel(8,
"no SDD");
311 hNEvents[iCut]->GetXaxis()->SetBinLabel(9,
"no V0AND");
312 hNEvents[iCut]->GetXaxis()->SetBinLabel(10,
"EMCAL problem");
313 hNEvents[iCut]->GetXaxis()->SetBinLabel(11,
"rejectedForJetJetMC");
314 hNEvents[iCut]->GetXaxis()->SetBinLabel(12,
"SPD hits vs tracklet");
315 hNEvents[iCut]->GetXaxis()->SetBinLabel(13,
"Out-of-Bunch pileup Past-Future");
316 hNEvents[iCut]->GetXaxis()->SetBinLabel(14,
"Pileup V0M-TPCout Tracks");
327 hESDConversionRPhi[iCut] =
new TH2F(
"ESD_Conversion_RPhi",
"ESD_Conversion_RPhi",nBinsPhi,0.,2*TMath::Pi(),nBinsR,0.,200.);
329 hESDConversionREta[iCut] =
new TH2F(
"ESD_Conversion_REta",
"ESD_Conversion_REta",nBinsEta,-2.,2.,nBinsR,0.,200.);
331 hESDConversionRPt[iCut] =
new TH2F(
"ESD_Conversion_RPt",
"ESD_Conversion_RPt",nBinsPt,0.,20.,nBinsR,0.,200.);
333 hESDConversionRZ[iCut] =
new TH2F(
"ESD_Conversion_RZ",
"ESD_Conversion_RZ",nBinsZ,-180.,180.,nBinsR,0.,200.);
336 hElectronRdEdx[iCut] =
new TH2F(
"Electron_RdEdx",
"Electron_RdEdx",200,0.,200.,nBinsR,0.,200.);
340 hPositronRdEdx[iCut] =
new TH2F(
"Positron_RdEdx",
"Positron_RdEdx",200,0.,200.,nBinsR,0.,200.);
345 hESDConversionDCA[iCut] =
new TH1F(
"ESD_Conversion_DCA",
"ESD_Conversion_DCA",400,0.,5.);
349 hESDConversionChi2[iCut] =
new TH1F(
"ESD_Conversion_Chi2",
"ESD_Conversion_Chi2",400,0.,50.);
351 hESDConversionMass[iCut] =
new TH1F(
"ESD_Conversion_Mass",
"ESD_Conversion_Mass",400,0.,1.);
362 fMCList[iCut]->SetName(Form(
"%s_%s MC histograms",cutstringEvent.Data() ,cutstringPhoton.Data()));
363 fMCList[iCut]->SetOwner(kTRUE);
367 fTrueList[iCut]->SetName(Form(
"%s_%s True histograms",cutstringEvent.Data() ,cutstringPhoton.Data()));
371 hMCAllGammaPt[iCut] =
new TH1F(
"MC_AllGamma_Pt",
"MC_AllGamma_Pt",nBinsPt,0.,20.);
374 hMCConversionRPhi[iCut] =
new TH2F(
"MC_Conversion_RPhi",
"MC_Conversion_RPhi",nBinsPhi,0.,2*TMath::Pi(),nBinsR,0.,200.);
376 hMCConversionREta[iCut] =
new TH2F(
"MC_Conversion_REta",
"MC_Conversion_REta",nBinsEta,-2.,2.,nBinsR,0.,200.);
378 hMCConversionRPt[iCut] =
new TH2F(
"MC_Conversion_RPt",
"MC_Conversion_RPt",nBinsPt,0.,20.,nBinsR,0.,200.);
385 hMCTrueConversionRPhi[iCut] =
new TH2F(
"ESD_TrueConversion_RPhi",
"ESD_TrueConversion_RPhi",nBinsPhi,0.,2*TMath::Pi(),nBinsR,0.,200.);
387 hMCTrueConversionREta[iCut] =
new TH2F(
"ESD_TrueConversion_REta",
"ESD_TrueConversion_REta",nBinsEta,-2.,2.,nBinsR,0.,200.);
389 hMCTrueConversionRPt[iCut] =
new TH2F(
"ESD_TrueConversion_RPt",
"ESD_TrueConversion_RPt",nBinsPt,0.,20.,nBinsR,0.,200.);
391 hMCTrueConversionRZ[iCut] =
new TH2F(
"ESD_TrueConversion_RZ",
"ESD_TrueConversion_RZ",nBinsZ,-180.,180.,nBinsR,0.,200.);
394 hMCTrueConversionDCA[iCut] =
new TH1F(
"ESD_TrueConversion_DCA",
"ESD_TrueConversion_DCA",400,0.,5.);
398 hMCTrueConversionChi2[iCut] =
new TH1F(
"ESD_TrueConversion_Chi2",
"ESD_TrueConversion_Chi2",400,0.,50.);
400 hMCTrueConversionMass[iCut] =
new TH1F(
"ESD_TrueConversion_Mass",
"ESD_TrueConversion_Mass",400,0.,1.);
468 if(
fInputEvent->IsIncompleteDAQ()==kTRUE) eventQuality = 2;
470 if(eventQuality == 2 || eventQuality == 3){
484 if(eventNotAccepted){
486 hNEvents[iCut]->Fill(eventNotAccepted);
490 if(eventQuality != 0){
520 if(
fInputEvent->GetPrimaryVertexTracks()->GetNContributors()>0) {
537 TParticle* candidate = (TParticle *)
fMCEvent->Particle(eventPos);
553 TParticle* daughter1 = (TParticle *)
fMCEvent->Particle(candidate->GetFirstDaughter());
569 for(
Int_t i = 0; i <
fMCEvent->GetNumberOfPrimaries(); i++) {
570 TParticle* particle = (TParticle *)
fMCEvent->Particle(i);
571 if (!particle)
continue;
577 if( (isNegFromMBHeader < 1) || (isPosFromMBHeader < 1))
continue;
581 if (particle->GetPdgCode() == 111 && particle->GetFirstDaughter() >=
fMCEvent->GetNumberOfPrimaries()){
583 for (
Int_t j = 0; j < 2 ; j++){
602 if (gamma == NULL)
continue;
609 GammaCandidatesStepTwo->Add(gamma);
614 for(
Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
616 if(!PhotonCandidate)
continue;
624 if (gamma==NULL)
continue;
640 if(negTrack->GetTPCsignal()){
644 if(posTrack->GetTPCsignal()){
655 AliESDv0 *v0 = esdEvent->GetV0(gamma->
GetV0Index());
664 Int_t pdgCodePos = 0.;
665 Int_t pdgCodeNeg = 0.;
669 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
670 Double_t mcProdVtxX = primVtxMC->GetX();
671 Double_t mcProdVtxY = primVtxMC->GetY();
672 Double_t mcProdVtxZ = primVtxMC->GetZ();
681 if( (isNegFromMBHeader < 1) || (isPosFromMBHeader < 1))
continue;
684 if(posDaughter == NULL || negDaughter == NULL){
688 }
else if(posDaughter->GetMother(0) != negDaughter->GetMother(0) || (posDaughter->GetMother(0) == negDaughter->GetMother(0) && posDaughter->GetMother(0) ==-1)){
691 pdgCodePos = posDaughter->GetPdgCode();
692 pdgCodeNeg = negDaughter->GetPdgCode();
694 if(TMath::Abs(pdgCodePos)==11 && TMath::Abs(pdgCodeNeg)==11)
696 if(TMath::Abs(pdgCodePos)==11 && TMath::Abs(pdgCodeNeg)==11 && (posDaughter->GetMother(0) == negDaughter->GetMother(0) && posDaughter->GetMother(0) ==-1))
698 if(TMath::Abs(pdgCodePos)==211 && TMath::Abs(pdgCodeNeg)==211)
700 if((TMath::Abs(pdgCodePos)==211 && TMath::Abs(pdgCodeNeg)==2212) ||
701 (TMath::Abs(pdgCodePos)==2212 && TMath::Abs(pdgCodeNeg)==211))
703 if((TMath::Abs(pdgCodePos)==211 && TMath::Abs(pdgCodeNeg)==11) ||
704 (TMath::Abs(pdgCodePos)==11 && TMath::Abs(pdgCodeNeg)==211))
706 if (TMath::Abs(pdgCodePos)==321 || TMath::Abs(pdgCodeNeg)==321)
711 pdgCodePos = posDaughter->GetPdgCode();
712 pdgCodeNeg = negDaughter->GetPdgCode();
715 if(TMath::Abs(pdgCodePos)!=11 || TMath::Abs(pdgCodeNeg)!=11)
717 else if ( !(pdgCodeNeg==pdgCodePos)){
719 if(pdgCode == 111)
fKind = 3;
720 else if (pdgCode == 221)
fKind = 4;
721 else if (!(negDaughter->GetUniqueID() != 5 || posDaughter->GetUniqueID() !=5)){
722 if(pdgCode == 22 && gammaIsPrimary){
724 }
else if (pdgCode == 22){
746 AliESDv0 *v0 = esdEvent->GetV0(gamma->
GetV0Index());
764 delete GammaCandidatesStepTwo;
765 GammaCandidatesStepTwo = 0x0;
773 Int_t fNumberOfESDTracks = 0;
778 static AliESDtrackCuts *EsdTrackCuts = 0x0;
779 static int prevRun = -1;
782 if (prevRun!=runNumber) {
790 if( (runNumber<=146860) || (runNumber>=197470 && runNumber<=197692) || (runNumber>=172440 && runNumber<=193766) ){
791 EsdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();
793 }
else if (runNumber>=209122){
796 EsdTrackCuts =
new AliESDtrackCuts();
798 EsdTrackCuts->AliESDtrackCuts::SetMinNCrossedRowsTPC(70);
799 EsdTrackCuts->AliESDtrackCuts::SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
800 EsdTrackCuts->SetCutGeoNcrNcl(2., 130., 1.5, 0.0, 0.0);
802 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2PerClusterTPC(4);
803 EsdTrackCuts->AliESDtrackCuts::SetAcceptKinkDaughters(kFALSE);
804 EsdTrackCuts->AliESDtrackCuts::SetRequireTPCRefit(kTRUE);
806 EsdTrackCuts->AliESDtrackCuts::SetRequireITSRefit(kTRUE);
807 EsdTrackCuts->AliESDtrackCuts::SetClusterRequirementITS(AliESDtrackCuts::kSPD,
808 AliESDtrackCuts::kAny);
809 EsdTrackCuts->AliESDtrackCuts::SetMaxDCAToVertexXYPtDep(
"0.0105+0.0350/pt^1.1");
810 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2TPCConstrainedGlobal(36);
811 EsdTrackCuts->AliESDtrackCuts::SetMaxDCAToVertexZ(2);
812 EsdTrackCuts->AliESDtrackCuts::SetDCAToVertex2D(kFALSE);
813 EsdTrackCuts->AliESDtrackCuts::SetRequireSigmaToVertex(kFALSE);
814 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2PerClusterITS(36);
817 EsdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011();
819 EsdTrackCuts->SetMaxDCAToVertexZ(2);
820 EsdTrackCuts->SetEtaRange(-0.9, 0.9);
821 EsdTrackCuts->SetPtRange(0.15);
824 for(
Int_t iTracks = 0; iTracks <
fInputEvent->GetNumberOfTracks(); iTracks++){
825 AliESDtrack* curTrack = (AliESDtrack*)
fInputEvent->GetTrack(iTracks);
826 if(!curTrack)
continue;
827 if(EsdTrackCuts->AcceptTrack(curTrack) ){
831 if( (isFromMBHeader < 1) )
continue;
834 fNumberOfESDTracks++;
842 return fNumberOfESDTracks;
849 Int_t fNumberOfESDTracks = 0;
854 static AliESDtrackCuts *EsdTrackCuts = 0x0;
855 static int prevRun = -1;
858 if (prevRun!=runNumber) {
866 if( (runNumber<=146860) || (runNumber>=197470 && runNumber<=197692) || (runNumber>=172440 && runNumber<=193766) ){
867 EsdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();
869 }
else if (runNumber>=209122){
872 EsdTrackCuts =
new AliESDtrackCuts();
874 EsdTrackCuts->AliESDtrackCuts::SetMinNCrossedRowsTPC(70);
875 EsdTrackCuts->AliESDtrackCuts::SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
876 EsdTrackCuts->SetCutGeoNcrNcl(2., 130., 1.5, 0.0, 0.0);
878 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2PerClusterTPC(4);
879 EsdTrackCuts->AliESDtrackCuts::SetAcceptKinkDaughters(kFALSE);
880 EsdTrackCuts->AliESDtrackCuts::SetRequireTPCRefit(kTRUE);
882 EsdTrackCuts->AliESDtrackCuts::SetRequireITSRefit(kTRUE);
883 EsdTrackCuts->AliESDtrackCuts::SetClusterRequirementITS(AliESDtrackCuts::kSPD,
884 AliESDtrackCuts::kAny);
885 EsdTrackCuts->AliESDtrackCuts::SetMaxDCAToVertexXYPtDep(
"0.0105+0.0350/pt^1.1");
886 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2TPCConstrainedGlobal(36);
887 EsdTrackCuts->AliESDtrackCuts::SetMaxDCAToVertexZ(2);
888 EsdTrackCuts->AliESDtrackCuts::SetDCAToVertex2D(kFALSE);
889 EsdTrackCuts->AliESDtrackCuts::SetRequireSigmaToVertex(kFALSE);
890 EsdTrackCuts->AliESDtrackCuts::SetMaxChi2PerClusterITS(36);
893 EsdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011();
895 EsdTrackCuts->SetMaxDCAToVertexZ(2);
896 EsdTrackCuts->SetPtRange(0.15);
899 EsdTrackCuts->SetEtaRange(0.9, 1.4);
900 for(
Int_t iTracks = 0; iTracks <
fInputEvent->GetNumberOfTracks(); iTracks++){
901 AliESDtrack* curTrack = (AliESDtrack*)
fInputEvent->GetTrack(iTracks);
902 if(!curTrack)
continue;
903 if(EsdTrackCuts->AcceptTrack(curTrack) ){
907 if( (isFromMBHeader < 1) )
continue;
910 fNumberOfESDTracks++;
914 EsdTrackCuts->SetEtaRange(-1.4, -0.9);
915 for(
Int_t iTracks = 0; iTracks <
fInputEvent->GetNumberOfTracks(); iTracks++){
916 AliESDtrack* curTrack =(AliESDtrack*)
fInputEvent->GetTrack(iTracks);
917 if(!curTrack)
continue;
918 if(EsdTrackCuts->AcceptTrack(curTrack) ){
922 if( (isFromMBHeader < 1) )
continue;
925 fNumberOfESDTracks++;
933 return fNumberOfESDTracks;
939 TAxis *axisafter = histoRebin->GetXaxis();
940 Int_t bins = axisafter->GetNbins();
941 Double_t from = axisafter->GetXmin();
945 Double_t factor = TMath::Power(to/from, 1./bins);
946 for(
Int_t i=1; i<=bins; ++i) newbins[i] = factor * newbins[i-1];
947 axisafter->Set(bins, newbins);
TParticle * GetMCParticle(AliMCEvent *mcEvent)
TH1F ** hMCTrueConversionMass
virtual Double_t GetPhotonPhi() const
Int_t GetMCLabelPositive() const
AliV0ReaderV1 * fV0Reader
TList * fConversionCutArray
virtual void UserCreateOutputObjects()
TH2F ** hMCConversionREta
TH2F ** hESDConversionRPt
AliAnalysisTaskMaterialHistos()
TH2F ** hMCTrueConversionRZ
TH2F ** hMCConversionRPhi
Float_t GetPsiPair() const
virtual Double_t GetPhotonTheta() const
Double_t GetConversionZ() const
TH2F ** hMCTruePi0DalConversionRPt
TH2F ** hMCTrueConversionRPhi
TH2F ** hPositronRNSigmadEdx
TParticle * GetPositiveMCDaughter(AliMCEvent *mcEvent)
virtual void UserExec(Option_t *option)
TH2F ** hESDConversionREta
TH1F ** hESDConversionChi2
Float_t fGammaMCConvTheta
Bool_t GetProduceV0FindingEfficiency()
TParticle * GetNegativeMCDaughter(AliMCEvent *mcEvent)
TH1F ** hMCConversionRRejLarge
Float_t GetChi2perNDF() const
TH1F ** hNGoodESDTracksEta09
TH1F ** hESDConversionMass
Int_t GetTrackLabelNegative() const
Int_t GetTrackLabelPositive() const
TH1F ** hNGoodESDTracksEta14
TH1F ** hMCTrueConversionRRejSmall
AliConversionPhotonCuts * GetConversionCuts()
TH2F ** hESDConversionRPhi
TH1F ** hMCTrueConversionRRejLarge
Class handling all kinds of selection cuts for Gamma Conversion analysis.
virtual void Terminate(Option_t *)
TH2F ** hMCTrueConversionREta
TH1F ** hMCTrueEtaDalConversionEta
TH1F ** hESDConversionRRejSmall
virtual Double_t GetPhotonEta() const
Int_t GetMCLabelNegative() const
TH1F ** hNGoodESDTracksEta09_14
TH1F ** hMCConversionRRejSmall
TH1F ** hMCTrueConversionPsiPair
TH1F ** hMCTrueConversionDCA
virtual ~AliAnalysisTaskMaterialHistos()
TH1F ** hESDConversionDCA
TH1F ** hMCTruePi0DalConversionEta
TH1F ** hESDConversionRRejLarge
TH1F ** hMCTrueConversionChi2
TClonesArray * GetReconstructedGammas() const
virtual Double_t GetPhotonPt() const
Class handling all kinds of selection cuts for Gamma Conversion analysis.
TH1F ** hMCTrueCombinatorialConversionEta
TH2F ** hElectronRNSigmadEdx
TH2F ** hMCTrueCombinatorialConversionRPt
AliConvEventCuts * GetEventCuts()
virtual void SetLogBinningXTH2(TH2 *histoRebin)
TH2F ** hMCTrueConversionRPt
void FillMCHistograms(Int_t eventPos)
TClonesArray * fConversionGammas
TH2F ** hMCTrueEtaDalConversionRPt
Double_t GetConversionRadius() const
TList * GetV0FindingEfficiencyHistograms()
TH1F ** hESDConversionPsiPair