28 #include "THnSparse.h" 31 #include "AliAnalysisTask.h" 32 #include "AliAnalysisManager.h" 33 #include "AliESDEvent.h" 34 #include "AliESDInputHandler.h" 35 #include "AliMCEventHandler.h" 36 #include "AliMCEvent.h" 37 #include "AliMCParticle.h" 38 #include "AliCentrality.h" 39 #include "AliESDVZERO.h" 40 #include "AliESDpid.h" 42 #include "AliVParticle.h" 43 #include "AliESDtrack.h" 44 #include "AliESDtrackCuts.h" 45 #include "AliKFVertex.h" 47 #include "AliGenCocktailEventHeader.h" 49 #include "AliAODMCParticle.h" 50 #include "AliAODMCHeader.h" 51 #include "AliEventplane.h" 69 fV0ReaderName("V0ReaderV1"),
82 fHeaderNameList(NULL),
85 fGammaCandidates(NULL),
89 fConversionCuts(NULL),
92 hESDConvGammaPt(NULL),
97 hdPhidRcandidates(NULL),
98 hdPhidRcandidates_MCsigsig(NULL),
99 hdPhidRcandidates_MCbkgsig(NULL),
100 hdPhidRcandidates_MCbkgbkg(NULL),
102 hKappaTPC_after(NULL),
103 hKappaTPC_Temp0(NULL),
104 hKappaTPC_Temp1(NULL),
105 hKappaTPC_Temp2(NULL),
106 hKappaTPC_Temp3(NULL),
107 hKappaTPC_Temp4(NULL),
108 hKappaTPC_Temp5(NULL),
109 hKappaTPC_Temp6(NULL),
110 hKappaTPC_Temp7(NULL),
111 hKappaTPC_Temp8(NULL),
112 hKappaTPC_Temp9(NULL),
113 hKappaTPC_Temp10(NULL),
114 hESDConvGammaR(NULL),
115 hESDConvGammaEta(NULL),
123 hESDMotherInvMassPt(NULL),
125 hESDMotherBackInvMassPt(NULL),
127 hESDMotherInvMassEalpha(NULL),
128 hESDMotherPi0PtY(NULL),
129 hESDMotherEtaPtY(NULL),
130 hESDMotherPi0PtAlpha(NULL),
131 hESDMotherEtaPtAlpha(NULL),
132 hESDMotherPi0PtOpenAngle(NULL),
133 hESDMotherEtaPtOpenAngle(NULL),
136 hNGoodESDTracks(NULL),
137 hNGammaCandidates(NULL),
138 hNGoodESDTracksVsNGammaCanditates(NULL),
141 tESDMesonsInvMassPtDcazMinDcazMaxFlag(NULL),
148 fEventPlaneAngle(-100),
150 fnGammaCandidates(0),
161 fMoveParticleAccordingToVertex(kTRUE),
163 fDoMesonAnalysis(kTRUE),
166 fIsFromMBHeader(kTRUE),
177 fPerformExtraStudies(0),
193 fV0ReaderName(
"V0ReaderV1"),
201 fPhotonDCAList(NULL),
205 fHeaderNameList(NULL),
208 fGammaCandidates(NULL),
209 fEventCutArray(NULL),
212 fConversionCuts(NULL),
213 fMesonCutArray(NULL),
215 hESDConvGammaPt(NULL),
220 hdPhidRcandidates(NULL),
221 hdPhidRcandidates_MCsigsig(NULL),
222 hdPhidRcandidates_MCbkgsig(NULL),
223 hdPhidRcandidates_MCbkgbkg(NULL),
225 hKappaTPC_after(NULL),
226 hKappaTPC_Temp0(NULL),
227 hKappaTPC_Temp1(NULL),
228 hKappaTPC_Temp2(NULL),
229 hKappaTPC_Temp3(NULL),
230 hKappaTPC_Temp4(NULL),
231 hKappaTPC_Temp5(NULL),
232 hKappaTPC_Temp6(NULL),
233 hKappaTPC_Temp7(NULL),
234 hKappaTPC_Temp8(NULL),
235 hKappaTPC_Temp9(NULL),
236 hKappaTPC_Temp10(NULL),
237 hESDConvGammaR(NULL),
238 hESDConvGammaEta(NULL),
246 hESDMotherInvMassPt(NULL),
248 hESDMotherBackInvMassPt(NULL),
250 hESDMotherInvMassEalpha(NULL),
251 hESDMotherPi0PtY(NULL),
252 hESDMotherEtaPtY(NULL),
253 hESDMotherPi0PtAlpha(NULL),
254 hESDMotherEtaPtAlpha(NULL),
255 hESDMotherPi0PtOpenAngle(NULL),
256 hESDMotherEtaPtOpenAngle(NULL),
258 hNGoodESDTracks(NULL),
259 hNGammaCandidates(NULL),
260 hNGoodESDTracksVsNGammaCanditates(NULL),
263 tESDMesonsInvMassPtDcazMinDcazMaxFlag(NULL),
270 fEventPlaneAngle(-100),
272 fnGammaCandidates(0),
283 fMoveParticleAccordingToVertex(kTRUE),
285 fDoMesonAnalysis(kTRUE),
288 fIsFromMBHeader(kTRUE),
299 fPerformExtraStudies(0),
309 DefineOutput(1, TList::Class());
310 DefineOutput(2, AliFlowEventSimple::Class());
311 DefineOutput(3, AliFlowEventSimple::Class());
312 DefineOutput(4, AliFlowEventSimple::Class());
313 DefineOutput(5, AliFlowEventSimple::Class());
314 DefineOutput(6, AliFlowEventSimple::Class());
438 DefineOutput(1, TList::Class());
439 for (
Int_t i = 0; i<nCuts; i++){
440 DefineOutput(2+i, AliFlowEventSimple::Class());
576 TString cutstringMeson =
"NoMesonCut";
580 fCutFolder[iCut]->SetName(Form(
"Cut Number %s_%s",cutstringEvent.Data() ,cutstringPhoton.Data()));
584 fESDList[iCut]->SetName(Form(
"%s_%s ESD histograms",cutstringEvent.Data() ,cutstringPhoton.Data()));
588 hNEvents[iCut] =
new TH1I(
"NEvents",
"NEvents",13,-0.5,12.5);
589 hNEvents[iCut]->GetXaxis()->SetBinLabel(1,
"Accepted");
590 hNEvents[iCut]->GetXaxis()->SetBinLabel(2,
"Centrality");
591 hNEvents[iCut]->GetXaxis()->SetBinLabel(3,
"Missing MC");
593 TString TriggerNames =
"Not Trigger: ";
595 hNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
597 hNEvents[iCut]->GetXaxis()->SetBinLabel(4,
"Trigger");
599 hNEvents[iCut]->GetXaxis()->SetBinLabel(5,
"Vertex Z");
600 hNEvents[iCut]->GetXaxis()->SetBinLabel(6,
"Cont. Vertex");
601 hNEvents[iCut]->GetXaxis()->SetBinLabel(7,
"Pile-Up");
602 hNEvents[iCut]->GetXaxis()->SetBinLabel(8,
"no SDD");
603 hNEvents[iCut]->GetXaxis()->SetBinLabel(9,
"no V0AND");
604 hNEvents[iCut]->GetXaxis()->SetBinLabel(10,
"EMCAL problem");
605 hNEvents[iCut]->GetXaxis()->SetBinLabel(12,
"SPD hits vs tracklet");
606 hNEvents[iCut]->GetXaxis()->SetBinLabel(13,
"Out-of-Bunch pileup Past-Future");
625 else hNV0Tracks[iCut] =
new TH1I(
"V0 Multiplicity",
"V0 Multiplicity",1500,0,1500);
627 hEtaShift[iCut] =
new TProfile(
"Eta Shift",
"Eta Shift",1, -0.5,0.5);
629 hESDConvGammaPt[iCut] =
new TH1F(
"ESD_ConvGamma_Pt",
"ESD_ConvGamma_Pt",250,0,25);
632 hInvMassPair[iCut]=
new TH2F(
"InvMassPair_Pt",
"Gamma invariant mass vs Pt",200,0,0.2,250,0,25);
635 hLTMPt[iCut]=
new TH2F(
"LTM_Pt",
"LTM vs Pt",200,0,200,250,0,25);
637 hLTMPt_MC[iCut]=
new TH2F(
"LTM_Pt_MCgen",
"LTM vs Pt (MC)",200,0,200,250,0,25);
640 hPt_TruePt[iCut]=
new TH2F(
"hPt_TruePt",
"Pt vs TruePt (MC)",250,0,25,250,0,25);
653 hKappaTPC[iCut]=
new TH2F(
"KappaTPC_Pt",
"Gamma KappaTPC vs Pt",200,-20,20,250,0,25);
656 hKappaTPC_after[iCut]=
new TH2F(
"KappaTPC_Pt_after",
"Gamma KappaTPC vs Pt after cuts",200,-20,20,250,0,25);
659 hKappaTPC_Temp0[iCut]=
new TH2F(
"hKappaTPC_Temp0_ee",
"Gamma KappaTPC vs Pt Template 0",200,-20,20,250,0,25);
662 hKappaTPC_Temp1[iCut]=
new TH2F(
"hKappaTPC_Temp1_pipi",
"Gamma KappaTPC vs Pt Template 1",200,-20,20,250,0,25);
665 hKappaTPC_Temp2[iCut]=
new TH2F(
"hKappaTPC_Temp2_pie",
"Gamma KappaTPC vs Pt Template 2",200,-20,20,250,0,25);
668 hKappaTPC_Temp3[iCut]=
new TH2F(
"hKappaTPC_Temp3_piK",
"Gamma KappaTPC vs Pt Template 3",200,-20,20,250,0,25);
671 hKappaTPC_Temp4[iCut]=
new TH2F(
"hKappaTPC_Temp4_pip",
"Gamma KappaTPC vs Pt Template 4",200,-20,20,250,0,25);
674 hKappaTPC_Temp5[iCut]=
new TH2F(
"hKappaTPC_Temp5_eK",
"Gamma KappaTPC vs Pt Template 5",200,-20,20,250,0,25);
677 hKappaTPC_Temp6[iCut]=
new TH2F(
"hKappaTPC_Temp6_ep",
"Gamma KappaTPC vs Pt Template 6",200,-20,20,250,0,25);
680 hKappaTPC_Temp7[iCut]=
new TH2F(
"hKappaTPC_Temp7_KK",
"Gamma KappaTPC vs Pt Template 7",200,-20,20,250,0,25);
683 hKappaTPC_Temp8[iCut]=
new TH2F(
"hKappaTPC_Temp8_had",
"Gamma KappaTPC vs Pt Template 8",200,-20,20,250,0,25);
686 hKappaTPC_Temp9[iCut]=
new TH2F(
"hKappaTPC_Temp9_rem4",
"Gamma KappaTPC vs Pt Template 9",200,-20,20,250,0,25);
689 hKappaTPC_Temp10[iCut]=
new TH2F(
"hKappaTPC_Temp10_rem10",
"Gamma KappaTPC vs Pt Template 10",200,-20,20,250,0,25);
696 fPhotonDCAList[iCut]->SetName(Form(
"%s_%s_%s Photon DCA tree",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringMeson.Data()));
712 hESDConvGammaR[iCut] =
new TH1F(
"ESD_ConvGamma_R",
"ESD_ConvGamma_R",800,0,200);
714 hESDConvGammaEta[iCut] =
new TH1F(
"ESD_ConvGamma_Eta",
"ESD_ConvGamma_Eta",2000,-2,2);
727 fMesonDCAList[iCut]->SetName(Form(
"%s_%s_%s Meson DCA tree",cutstringEvent.Data() ,cutstringPhoton.Data(),cutstringMeson.Data()));
741 hESDMotherPi0PtY[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Y",
"ESD_MotherPi0_Pt_Y",150,0.03,15.,150,-1.5,1.5);
744 hESDMotherEtaPtY[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Y",
"ESD_MotherEta_Pt_Y",150,0.03,15.,150,-1.5,1.5);
773 if(!
fV0Reader){printf(
"Error: No V0 Reader");
return;}
802 fhistoEPVZ =
new TH1D(
"EPVZ",
"EPVZ", 60, -TMath::Pi()/2, TMath::Pi()/2);
840 printf(
" Gamma Conversion Task %s :: Eta Shift Manually Set to %f \n\n",
855 if(eventQuality == 2 || eventQuality == 3){
869 AliEventplane *EventPlane =
fInputEvent->GetEventplane();
880 Int_t eventNotAccepted =
883 if(eventNotAccepted){
885 hNEvents[iCut]->Fill(eventNotAccepted);
889 if(eventQuality != 0){
910 if (fIsHeavyIon == 1){
928 Int_t PhotonTemplateID;
932 if(!PhotonCandidate)
continue;
957 if(PhotonTemplateID != 0 && PhotonTemplateID != 1 && PhotonTemplateID != 2 &&
958 PhotonTemplateID != 3 && PhotonTemplateID != 4 && PhotonTemplateID != 5 &&
962 if(TRUEPhoton)
hPt_TruePt[
fiCut]->Fill(PhotonCandidate->Pt(),TRUEPhoton->Pt());
977 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
984 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
996 GammaCandidatesStepOne->Add(PhotonCandidate);
999 GammaCandidatesStepTwo->Add(PhotonCandidate);
1006 for(
Int_t i = 0;i<GammaCandidatesStepOne->GetEntries();i++){
1008 if(!PhotonCandidate)
continue;
1026 GammaCandidatesStepTwo->Add(PhotonCandidate);
1029 if (
fIsHeavyIon ==1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
1036 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
1048 for(
Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
1050 if(!PhotonCandidate)
continue;
1066 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
1073 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
1085 delete GammaCandidatesStepOne;
1086 GammaCandidatesStepOne = 0x0;
1087 delete GammaCandidatesStepTwo;
1088 GammaCandidatesStepTwo = 0x0;
1105 TAxis *axisafter = histoRebin->GetXaxis();
1106 Int_t bins = axisafter->GetNbins();
1107 Double_t from = axisafter->GetXmin();
1108 Double_t to = axisafter->GetXmax();
1111 Double_t factor = TMath::Power(to/from, 1./bins);
1112 for(
Int_t i=1; i<=bins; ++i) newbins[i] = factor * newbins[i-1];
1113 axisafter->Set(bins, newbins);
1133 if (gammaForv2 == NULL)
return;
1157 sTrack->
SetPt(gammaForv2->Pt());
1198 for(
Int_t i = 0; i <
fMCEvent->GetNumberOfPrimaries(); i++){
1199 TParticle* gammaForLTM = (TParticle *)
fMCEvent->Particle(i);
1200 if(!gammaForLTM)
return;
1202 gamma_Eta = gammaForLTM->Eta(); gamma_Phi = gammaForLTM->Phi(); gamma_Pt = gammaForLTM->Pt();
1203 if( gamma_Eta > 0.9 || gamma_Eta < -0.9 )
continue;
1204 if(gamma_Eta==0 || gamma_Phi==0 || gamma_Pt==0)
continue;
1208 if (LTMpart == NULL)
return;
1209 LTMpart_Eta = LTMpart->Eta(); LTMpart_Phi = LTMpart->Phi(); LTMpart_Pt = LTMpart->Pt();
1210 if(LTMpart_Eta==0 || LTMpart_Phi==0 || LTMpart_Pt==0)
continue;
1211 dPhi = TMath::Abs(LTMpart_Phi-gamma_Phi);
1212 if(dPhi > TMath::Pi()) dPhi = TMath::Abs(dPhi-2.0*TMath::Pi());
1213 if(TMath::Sqrt(pow((LTMpart_Eta-gamma_Eta),2)+pow(dPhi,2))<0.2) nCloseByTracks+=1;
1222 if(!gammaForLTM)
return;
1224 if(gamma_Eta==0 || gamma_Phi==0 || gamma_Pt==0)
continue;
1228 if (LTMpart == NULL)
return;
1229 LTMpart_Eta = LTMpart->Eta(); LTMpart_Phi = LTMpart->Phi(); LTMpart_Pt = LTMpart->Pt();
1230 if(LTMpart_Eta==0 || LTMpart_Phi==0 || LTMpart_Pt==0)
continue;
1231 dPhi = TMath::Abs(LTMpart_Phi-gamma_Phi);
1232 if(dPhi > TMath::Pi()) dPhi = TMath::Abs(dPhi-2.0*TMath::Pi());
1233 if(TMath::Sqrt(pow((LTMpart_Eta-gamma_Eta),2)+pow(dPhi,2))<0.2) nCloseByTracks+=1;
1268 if(posDaughter==NULL || negDaughter==NULL)
return kFALSE;
1269 Int_t pdgCodePos = 0;
1270 Int_t pdgCodeNeg = 0;
1271 Bool_t IsItGammaSignal = kFALSE;
1273 if( (posDaughter->GetMother(0) == negDaughter->GetMother(0)) ) {
1274 pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
1275 pdgCodeNeg=TMath::Abs(negDaughter->GetPdgCode());
1276 if(pdgCodePos==11 && pdgCodeNeg==11) IsItGammaSignal = kTRUE;
1278 IsItGammaSignal = kFALSE;
1281 return IsItGammaSignal;
1290 if(posDaughter==NULL || negDaughter==NULL)
return kFALSE;
1291 Int_t pdgCodePos = 0;
1292 Int_t pdgCodeNeg = 0;
1293 Bool_t IsItElectronElectron = kFALSE;
1295 if( (posDaughter->GetMother(0) != negDaughter->GetMother(0)) || (posDaughter->GetMother(0) == negDaughter->GetMother(0) && posDaughter->GetMother(0) ==-1) ) {
1296 pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
1297 pdgCodeNeg=TMath::Abs(negDaughter->GetPdgCode());
1298 if(pdgCodePos==11 && pdgCodeNeg==11) IsItElectronElectron = kTRUE;
1300 IsItElectronElectron = kFALSE;
1303 return IsItElectronElectron;
1309 if(MCPhoton->GetPdgCode()!=22)
return kFALSE;
1310 if(MCPhoton->GetNDaughters() != 2)
return kFALSE;
1311 TParticle *posDaughter = (TParticle*)
fMCEvent->Particle(MCPhoton->GetFirstDaughter());
1312 TParticle *negDaughter = (TParticle*)
fMCEvent->Particle(MCPhoton->GetLastDaughter());
1313 if(posDaughter==NULL || negDaughter==NULL)
return kFALSE;
1314 if(posDaughter->GetUniqueID() != 5 || negDaughter->GetUniqueID() != 5)
return kFALSE;
1315 Int_t pdgCodePos = 0;
1316 Int_t pdgCodeNeg = 0;
1317 Bool_t IsItPhoton = kFALSE;
1319 if(posDaughter->GetMother(0) == negDaughter->GetMother(0)) {
1320 pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
1321 pdgCodeNeg=TMath::Abs(negDaughter->GetPdgCode());
1322 if(pdgCodePos==11 && pdgCodeNeg==11) IsItPhoton = kTRUE;
1324 IsItPhoton = kFALSE;
1336 if(posDaughter==NULL || negDaughter==NULL)
return kFALSE;
1338 Int_t pdgCodePos = 0;
1339 Int_t pdgCodeNeg = 0;
1340 Int_t TemplateID = -1;
1342 pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
1343 pdgCodeNeg=TMath::Abs(negDaughter->GetPdgCode());
1345 if(pdgCodePos==11 && pdgCodeNeg==11) TemplateID = 0;
1346 if(pdgCodePos==211 && pdgCodeNeg==211) TemplateID = 1;
1347 if((pdgCodePos==211 && pdgCodeNeg==11) || (pdgCodePos==11 && pdgCodeNeg==211)) TemplateID = 2;
1348 if((pdgCodePos==211 && pdgCodeNeg==321) || (pdgCodePos==321 && pdgCodeNeg==211)) TemplateID = 3;
1349 if((pdgCodePos==211 && pdgCodeNeg==2212) || (pdgCodePos==2212 && pdgCodeNeg==211))TemplateID = 4;
1350 if((pdgCodePos==11 && pdgCodeNeg==321) || (pdgCodePos==321 && pdgCodeNeg==11)) TemplateID = 5;
1351 if((pdgCodePos==11 && pdgCodeNeg==2212) || (pdgCodePos==2212 && pdgCodeNeg==11)) TemplateID = 6;
1352 if(pdgCodePos==321 && pdgCodeNeg==321) TemplateID = 7;
1353 if(pdgCodePos!=11 && pdgCodeNeg!=11 && TemplateID == -1) TemplateID = 8;
1374 if(gamma1_Eta==0 || gamma1_Phi==0 || gamma1_Pt==0)
continue;
1378 if(!gamma2)
continue;
1380 if(gamma2_Eta==0 || gamma2_Phi==0 || gamma2_Pt==0)
continue;
1382 dPhi = TMath::Abs(gamma2_Phi-gamma1_Phi);
1383 if(dPhi > TMath::Pi()) dPhi = TMath::Abs(dPhi-2.0*TMath::Pi());
1384 dRconvVtx = TMath::Sqrt(pow(gamma2_Vtx_x-gamma1_Vtx_x,2)+pow(gamma2_Vtx_y-gamma1_Vtx_y,2)+pow(gamma2_Vtx_z-gamma1_Vtx_z,2));
1408 if(!gamma)
return -1;
1410 if(gamma1_Eta==0 || gamma1_Phi==0 || gamma1_Pt==0)
return -1;
1413 if(i==PhotonID)
continue;
1415 if(!gamma2)
continue;
1417 if(gamma2_Eta==0 || gamma2_Phi==0 || gamma2_Pt==0)
continue;
1419 dPhi = TMath::Abs(gamma2_Phi-gamma1_Phi);
1420 if(dPhi > TMath::Pi()) dPhi = TMath::Abs(dPhi-2.0*TMath::Pi());
1421 dRconvVtx = TMath::Sqrt(pow(gamma2_Vtx_x-gamma1_Vtx_x,2)+pow(gamma2_Vtx_y-gamma1_Vtx_y,2)+pow(gamma2_Vtx_z-gamma1_Vtx_z,2));
1422 if(dPhi < 0.04 && dRconvVtx < 7.5)
return 1;
void SetMassMin(Double_t i)
TParticle * GetMCParticle(AliMCEvent *mcEvent)
virtual Double_t GetPhotonPhi() const
virtual void UserExec(Option_t *)
TH2F ** hESDMotherBackInvMassPt
void SetEta(Double_t eta)
TH2F ** hNGoodESDTracksVsNGammaCanditates
AliAnalysisTaskGammaConvFlow()
AliConversionPhotonCuts * fConversionCuts
Bool_t MCElectronElectron(AliAODConversionPhoton *MCPhoton)
flow events Inclusive e
AliGammaConversionAODBGHandler ** fBGHandler
TH2F ** hESDMotherPi0PtOpenAngle
TH2F ** hdPhidRcandidates_MCbkgbkg
TH2F ** hESDMotherEtaPtOpenAngle
AliConvEventCuts * fEventCuts
Bool_t MCConversionPhotonCheck(TParticle *MCPhoton)
Int_t GetNumberOfPrimaryTracks()
void SetNbinsPhi(Int_t i)
void SetPhiMin(Double_t i)
TH2F ** hdPhidRcandidates_MCbkgsig
Double_t GetConversionZ() const
void ProcessPhotonCandidatesforV2()
Float_t GetDCAzToPrimVtx() const
void SetLogBinningXTH2(TH2 *histoRebin)
void SetMass(Double_t mass)
TParticle * GetPositiveMCDaughter(AliMCEvent *mcEvent)
void SetEtaMax(Double_t i)
void SetParamType(trackParameterType paramType)
Double_t fEventPlaneAngle
void SetReferenceMultiplicity(Int_t m)
TH2F ** hESDMotherInvMassPt
AliConversionMesonCuts * fMesonCuts
Bool_t fPerformExtraStudies
AliV0ReaderV1 * fV0Reader
UShort_t T(UShort_t m, UShort_t t)
void ProcessPhotonCandidates()
TTree ** tESDMesonsInvMassPtDcazMinDcazMaxFlag
void SetForRPSelection(Bool_t b=kTRUE)
TParticle * GetNegativeMCDaughter(AliMCEvent *mcEvent)
Bool_t fMoveParticleAccordingToVertex
void SetPtRange(Float_t r1, Float_t r2)
void Fill(AliFlowTrackCuts *rpCuts, AliFlowTrackCuts *poiCuts)
AliConversionAODBGHandlerRP ** fBGHandlerRP
virtual void UserCreateOutputObjects()
TH2F ** hESDMotherPi0PtAlpha
virtual ~AliAnalysisTaskGammaConvFlow()
void AddEvent(TList *const eventGammas, Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue=-100)
void SetNbinsEta(Int_t i)
TH1I ** hNGammaCandidates
void SetNumberOfPOIs(Int_t nubmerOfPOIs, Int_t poiType=1)
AliConversionPhotonCuts * GetConversionCuts()
virtual void Terminate(const Option_t *)
void SetNbinsMult(Int_t i)
void SetMassMax(Double_t i)
static AliFlowCommonConstants * GetMaster()
TH2F ** hdPhidRcandidates_MCsigsig
void SetNbinsMass(Int_t i)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
TH2F ** hESDMotherInvMassEalpha
virtual Double_t GetPhotonEta() const
void UpdateEventByEventData()
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)
void SetPhi(Double_t phi)
void DefineDeadZone(Double_t etaMin, Double_t etaMax, Double_t phiMin, Double_t phiMax)
void SetMultMax(Double_t i)
Double_t GetConversionY() const
void SetPtMax(Double_t i)
void SetEvent(AliVEvent *event, AliMCEvent *mcEvent=NULL)
UChar_t GetPhotonQuality() const
Bool_t MCGammaSignal(AliAODConversionPhoton *MCPhoton)
void GetdPhidRtoCandidate()
TH2F ** hESDMotherEtaPtAlpha
Class handling all kinds of selection cuts for Gamma Conversion analysis.
void SetPhiMax(Double_t i)
void SetEtaMin(Double_t i)
void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const
AliFlowTrackCuts * fNullCuts
TClonesArray * GetReconstructedGammas() const
void SetForPOISelection(Bool_t b=kTRUE)
virtual Double_t GetPhotonPt() const
AliFlowTrackCuts * fCutsRP
enable debug mode
Class handling all kinds of selection cuts for Gamma Conversion analysis.
AliConvEventCuts * GetEventCuts()
AliFlowEvent ** fFlowEvent
void SetMultMin(Double_t i)
TH2F ** hdPhidRcandidates
void SetPtMin(Double_t i)
void ProcessPhotonCandidatesforLTM()
TClonesArray * fReaderGammas
void InsertTrack(AliFlowTrack *)
Int_t GetTemplateID(AliAODConversionPhoton *MCPhoton)
Double_t GetConversionRadius() const
Double_t GetConversionX() const
void SetEtaRange(Float_t r1, Float_t r2)