27 #include "AliAnalysisManager.h"
28 #include "AliESDEvent.h"
30 #include "AliMCEvent.h"
35 #include "AliVEvent.h"
37 #include "AliCDBManager.h"
40 #include "AliVEventHandler.h"
41 #include "AliInputEventHandler.h"
54 fUseDebugFile(kFALSE),
89 fTOFrawinvbetaE(NULL),
90 fTOFrawinvbetaPi(NULL),
91 fTOFrawinvbetaK(NULL),
92 fTOFrawinvbetaP(NULL),
95 fTPCvsGlobalMult(NULL),
96 fStandardGlobalCuts(NULL),
97 fStandardTPCCuts(NULL),
98 fCutsTOFbetaElectrons(NULL),
99 fCutsTOFbetaPions(NULL),
100 fCutsTOFbetaKaons(NULL),
101 fCutsTOFbetaProtons(NULL),
102 fCutsTOFbetaSimpleElectrons(NULL),
103 fCutsTOFbetaSimplePions(NULL),
104 fCutsTOFbetaSimpleKaons(NULL),
105 fCutsTOFbetaSimpleProtons(NULL),
106 fCutsTOFbayesianElectrons(NULL),
107 fCutsTOFbayesianPions(NULL),
108 fCutsTOFbayesianKaons(NULL),
109 fCutsTOFbayesianProtons(NULL),
110 fCutsTPCdedxElectrons(NULL),
111 fCutsTPCdedxPions(NULL),
112 fCutsTPCdedxKaons(NULL),
113 fCutsTPCdedxProtons(NULL),
114 fCutsTPCpidElectrons(NULL),
115 fCutsTPCpidPions(NULL),
116 fCutsTPCpidKaons(NULL),
117 fCutsTPCpidProtons(NULL),
118 fCutsTPCbayesianElectrons(NULL),
119 fCutsTPCbayesianPions(NULL),
120 fCutsTPCbayesianKaons(NULL),
121 fCutsTPCbayesianProtons(NULL),
122 fCutsMCelectrons(NULL),
125 fCutsMCprotons(NULL),
126 fCutsMCprimaryelectrons(NULL),
127 fCutsMCprimarypions(NULL),
128 fCutsMCprimarykaons(NULL),
129 fCutsMCprimaryprotons(NULL),
142 fUseDebugFile(kFALSE),
148 fTPCsignalPimc(NULL),
176 fTOFrawinvbeta(NULL),
177 fTOFrawinvbetaE(NULL),
178 fTOFrawinvbetaPi(NULL),
179 fTOFrawinvbetaK(NULL),
180 fTOFrawinvbetaP(NULL),
183 fTPCvsGlobalMult(NULL),
184 fStandardGlobalCuts(NULL),
185 fStandardTPCCuts(NULL),
186 fCutsTOFbetaElectrons(NULL),
187 fCutsTOFbetaPions(NULL),
188 fCutsTOFbetaKaons(NULL),
189 fCutsTOFbetaProtons(NULL),
190 fCutsTOFbetaSimpleElectrons(NULL),
191 fCutsTOFbetaSimplePions(NULL),
192 fCutsTOFbetaSimpleKaons(NULL),
193 fCutsTOFbetaSimpleProtons(NULL),
194 fCutsTOFbayesianElectrons(NULL),
195 fCutsTOFbayesianPions(NULL),
196 fCutsTOFbayesianKaons(NULL),
197 fCutsTOFbayesianProtons(NULL),
198 fCutsTPCdedxElectrons(NULL),
199 fCutsTPCdedxPions(NULL),
200 fCutsTPCdedxKaons(NULL),
201 fCutsTPCdedxProtons(NULL),
202 fCutsTPCpidElectrons(NULL),
203 fCutsTPCpidPions(NULL),
204 fCutsTPCpidKaons(NULL),
205 fCutsTPCpidProtons(NULL),
206 fCutsTPCbayesianElectrons(NULL),
207 fCutsTPCbayesianPions(NULL),
208 fCutsTPCbayesianKaons(NULL),
209 fCutsTPCbayesianProtons(NULL),
210 fCutsMCelectrons(NULL),
213 fCutsMCprotons(NULL),
214 fCutsMCprimaryelectrons(NULL),
215 fCutsMCprimarypions(NULL),
216 fCutsMCprimarykaons(NULL),
217 fCutsMCprimaryprotons(NULL),
224 fESDpid->GetTPCResponse().SetBetheBlochParameters(0.0283086,
236 DefineOutput(1, TList::Class());
265 for(
int i=1; i<=kPtBins+1; i++)
267 if(binsPtDummy[i-1]+0.05<1.01)
268 binsPtDummy[i]=binsPtDummy[i-1]+0.05;
270 binsPtDummy[i]=binsPtDummy[i-1]+0.1;
276 for(
int i=1; i<=kPBins+1; i++)
278 if(binsPDummy[i-1]+0.05<1.01)
279 binsPDummy[i]=binsPDummy[i-1]+0.05;
281 binsPDummy[i]=binsPDummy[i-1]+0.1;
284 fTPCsignal=
new TH2F(
"fTPCsignal",
";p [GeV/c];dEdx",kPBins,binsPDummy,500,0,500);
286 fTPCsignalPi=
new TH2F(
"fTPCsignalPi",
";p [GeV/c];signal",kPBins,binsPDummy,500,-2,2);
287 fTPCsignalK=
new TH2F(
"fTPCsignalK",
";p [GeV/c];signal",kPBins,binsPDummy,500,-2,2);
288 fTPCsignalP=
new TH2F(
"fTPCsignalP",
";p [GeV/c];signal",kPBins,binsPDummy,500,-2,2);
293 fTOFtime=
new TH2F(
"fTOFtime",
";p[GeV/c];#time",kPBins,binsPDummy,1000, 12000, 80000);
295 fTOFtimeE=
new TH2F(
"fTOFtimeE",
";p [GeV/c];#time-#time_{#pi}",kPBins,binsPDummy,1000, -8000, 8000);
296 fTOFtimePi=
new TH2F(
"fTOFtimePi",
";p [GeV/c];#time-#time_{#pi}",kPBins,binsPDummy,1000, -8000, 8000);
297 fTOFtimeK=
new TH2F(
"fTOFtimeK",
";p [GeV/c];#time-#time_{K}",kPBins,binsPDummy,1000, -8000, 8000);
298 fTOFtimeP=
new TH2F(
"fTOFtimeP",
";p [GeV/c];#time-#time_{p}",kPBins,binsPDummy,1000, -8000, 8000);
304 fTOFbeta=
new TH2F(
"fTOFbeta",
";p[GeV/c];#beta",kPBins,binsPDummy,1000, 0.4, 1.1);
306 fTOFbetaE=
new TH2F(
"fTOFbetaE",
";p [GeV/c];#beta-#beta_{#pi}",kPBins,binsPDummy,1000, -0.25, 0.25);
307 fTOFbetaPi=
new TH2F(
"fTOFbetaPi",
";p [GeV/c];#beta-#beta_{#pi}",kPBins,binsPDummy,1000, -0.25, 0.25);
308 fTOFbetaK=
new TH2F(
"fTOFbetaK",
";p [GeV/c];#beta-#beta_{K}",kPBins,binsPDummy,1000, -0.25, 0.25);
309 fTOFbetaP=
new TH2F(
"fTOFbetaP",
";p [GeV/c];#beta-#beta_{p}",kPBins,binsPDummy,1000, -0.25, 0.25);
315 fTOFinvbeta=
new TH2F(
"fTOFinvbeta",
";p[GeV/c];1/#beta",kPBins,binsPDummy,1000, 0.90, 2.5);
317 fTOFinvbetaE=
new TH2F(
"fTOFinvbetaE",
";p [GeV/c];1/#beta-1/#beta_{#pi}",kPBins,binsPDummy,1000, -0.3, 0.3);
318 fTOFinvbetaPi=
new TH2F(
"fTOFinvbetaPi",
";p [GeV/c];1/#beta-1/#beta_{#pi}",kPBins,binsPDummy,1000, -0.3, 0.3);
319 fTOFinvbetaK=
new TH2F(
"fTOFinvbetaK",
";p [GeV/c];1/#beta-1/#beta_{K}",kPBins,binsPDummy,1000, -0.3, 0.3);
320 fTOFinvbetaP=
new TH2F(
"fTOFinvbetaP",
";p [GeV/c];1/#beta-1/#beta_{p}",kPBins,binsPDummy,1000, -0.3, 0.3);
326 fTOFrawtime=
new TH2F(
"fTOFrawtime",
";p[GeV/c];#time",kPBins,binsPDummy,1000, 12000, 80000);
328 fTOFrawtimeE=
new TH2F(
"fTOFrawtimeE",
";p [GeV/c];#time-#time_{#pi}",kPBins,binsPDummy,1000, -8000, 8000);
329 fTOFrawtimePi=
new TH2F(
"fTOFrawtimePi",
";p [GeV/c];#time-#time_{#pi}",kPBins,binsPDummy,1000, -8000, 8000);
330 fTOFrawtimeK=
new TH2F(
"fTOFrawtimeK",
";p [GeV/c];#time-#time_{K}",kPBins,binsPDummy,1000, -8000, 8000);
331 fTOFrawtimeP=
new TH2F(
"fTOFrawtimeP",
";p [GeV/c];#time-#time_{p}",kPBins,binsPDummy,1000, -8000, 8000);
337 fTOFrawbeta=
new TH2F(
"fTOFrawbeta",
";p[GeV/c];#beta",kPBins,binsPDummy,1000, 0.4, 1.1);
339 fTOFrawbetaE=
new TH2F(
"fTOFrawbetaE",
";p [GeV/c];#beta-#beta_{#pi}",kPBins,binsPDummy,1000, -0.25, 0.25);
340 fTOFrawbetaPi=
new TH2F(
"fTOFrawbetaPi",
";p [GeV/c];#beta-#beta_{#pi}",kPBins,binsPDummy,1000, -0.25, 0.25);
341 fTOFrawbetaK=
new TH2F(
"fTOFrawbetaK",
";p [GeV/c];#beta-#beta_{K}",kPBins,binsPDummy,1000, -0.25, 0.25);
342 fTOFrawbetaP=
new TH2F(
"fTOFrawbetaP",
";p [GeV/c];#beta-#beta_{p}",kPBins,binsPDummy,1000, -0.25, 0.25);
348 fTOFrawinvbeta=
new TH2F(
"fTOFrawinvbeta",
";p[GeV/c];1/#beta",kPBins,binsPDummy,1000, 0.90, 2.5);
350 fTOFrawinvbetaE=
new TH2F(
"fTOFrawinvbetaE",
";p [GeV/c];1/#beta-1/#beta_{#pi}",kPBins,binsPDummy,1000, -0.3, 0.3);
351 fTOFrawinvbetaPi=
new TH2F(
"fTOFrawinvbetaPi",
";p [GeV/c];1/#beta-1/#beta_{#pi}",kPBins,binsPDummy,1000, -0.3, 0.3);
352 fTOFrawinvbetaK=
new TH2F(
"fTOFrawinvbetaK",
";p [GeV/c];1/#beta-1/#beta_{K}",kPBins,binsPDummy,1000, -0.3, 0.3);
353 fTOFrawinvbetaP=
new TH2F(
"fTOFrawinvbetaP",
";p [GeV/c];1/#beta-1/#beta_{p}",kPBins,binsPDummy,1000, -0.3, 0.3);
359 fPvsPt=
new TH2F(
"fPvsPt",
"p vs p_{t};p [GeV/c];p_{t} [GeV/c]",kPBins,binsPDummy,kPtBins,binsPtDummy);
362 fMeanPvsP =
new TProfile(
"fMeanPvsP",
"Mean P vs P;p [Gev/c];<p> [GeV/c]",kPBins,binsPDummy);
365 fTPCvsGlobalMult =
new TH2F(
"fTPCvsGlobalMult",
"TPC only vs Global track multiplicity;global;TPC only",500,0,2500,500,0,3500);
552 Printf(
"No CUTS Defined.........\n");
562 AliStack* stack=NULL;
563 AliMCEvent* mcEvent = MCEvent();
564 if (mcEvent) stack = mcEvent->Stack();
565 if (mcEvent) Printf(
"MC particles: %d", mcEvent->GetNumberOfTracks());
567 Printf(
"There are %d tracks in this event",
fESD->GetNumberOfTracks());
570 AliESDtrack *trackESD=0;
606 for(
int tr1=0; tr1<nTracks; tr1++)
608 trackESD=
fESD->GetTrack(tr1);
609 if (!trackESD)
continue;
617 if(mcEvent) label=trackESD->GetLabel();
622 TParticle* particle2 = stack->Particle(TMath::Abs(label));
623 pdgcode=particle2->GetPdgCode();
636 for (
Int_t imc=0; imc<mcEvent->GetNumberOfTracks();imc++)
638 printf(
"imc: %i label:%i\n",imc,mcEvent->GetTrack(imc)->GetLabel());
659 const AliESDVertex* pvtx =
fESD->GetPrimaryVertex();
660 const AliESDVertex* tpcvtx =
fESD->GetPrimaryVertexTPC();
661 const AliESDVertex* spdvtx =
fESD->GetPrimaryVertexSPD();
663 AliVEventHandler* handler = mgr->GetInputEventHandler();
664 TTree* tree = handler->GetTree();
665 TFile*
file = tree->GetCurrentFile();
666 if (multTPC>(23+1.216*multGlobal) || multTPC<(-20+1.087*multGlobal))
668 fprintf(
fFile,
"%i %i %s %i\n",multTPC,multGlobal,file->GetName(),
fESD->GetEventNumberInFile());
669 fprintf(
fFile,
" primary vertex: x: %.2f, y: %.2f, z: %.2f, n: %i\n", pvtx->GetX(), pvtx->GetY(), pvtx->GetZ(), pvtx->GetNContributors());
670 fprintf(
fFile,
" SPD vertex: x: %.2f, y: %.2f, z: %.2f, n: %i\n", spdvtx->GetX(), spdvtx->GetY(), spdvtx->GetZ(), spdvtx->GetNContributors());
671 fprintf(
fFile,
" TPC vertex: x: %.2f, y: %.2f, z: %.2f, n: %i\n", tpcvtx->GetX(), tpcvtx->GetY(), tpcvtx->GetZ(), tpcvtx->GetNContributors());
683 Printf(
"AliAnalysisTaskPIDflowQA: end of Terminate");
691 const AliExternalTrackParam* innerParam = t->GetInnerParam();
692 if (!innerParam)
return;
693 Double_t pinTPCglobal=innerParam->GetP();
694 Double_t tpcSignal =t->GetTPCsignal();
696 Float_t sigPion =
fESDpid->GetTPCResponse().GetExpectedSignal(pinTPCglobal, AliPID::kPion);
697 Float_t sigKaon =
fESDpid->GetTPCResponse().GetExpectedSignal(pinTPCglobal, AliPID::kKaon);
699 if(!(sigPion>0.0&&sigKaon>0.0&&sigProton>0.0))
706 fTPCsignalP->Fill(p,(tpcSignal-sigProton)/sigProton);
726 Bool_t goodtrack = (track) &&
727 (track->GetStatus() & AliESDtrack::kTOFpid) &&
728 (track->GetTOFsignal() > 12000) &&
729 (track->GetTOFsignal() < 100000) &&
730 (track->GetIntegratedLength() > 365);
732 if (!goodtrack)
return;
734 const Float_t c = 2.99792457999999984e-02;
736 Float_t l = track->GetIntegratedLength();
739 Float_t timeTOF = track->GetTOFsignal()- trackT0;
740 Double_t integratedTimes[5] = {-1.0,-1.0,-1.0,-1.0,-1.0};
741 track->GetIntegratedTimes(integratedTimes);
744 Float_t betaHypothesis[5] = {0.0,0.0,0.0,0.0,0.0};
745 Float_t betadiff[5] = {0.0,0.0,0.0,0.0,0.0};
746 for (
Int_t i=0;i<5;i++)
748 betaHypothesis[i] = l/integratedTimes[i]/
c;
749 betadiff[i] = beta-betaHypothesis[i];
753 Float_t invbetaHypothesis[5] = {0.0,0.0,0.0,0.0,0.0};
754 Float_t invbetadiff[5] = {0.0,0.0,0.0,0.0,0.0};
755 for (
Int_t i=0;i<5;i++)
757 invbetaHypothesis[i] = 1/betaHypothesis[i];
758 invbetadiff[i] = invbeta-invbetaHypothesis[i];
762 track->GetTPCpid(tpcpid);
784 if (track->GetStatus() & AliESDtrack::kTOFmismatch)
return;
789 fTOFtimeE->Fill(p,timeTOF-integratedTimes[0]);
790 fTOFtimePi->Fill(p,timeTOF-integratedTimes[2]);
791 fTOFtimeK->Fill(p,timeTOF-integratedTimes[3]);
792 fTOFtimeP->Fill(p,timeTOF-integratedTimes[4]);
824 return TMath::Sqrt(1. / (1. + m * m / (p * p)));
833 Float_t mass[5] = {5.10998909999999971e-04,1.05658000000000002e-01,1.39570000000000000e-01,4.93676999999999977e-01,9.38271999999999995e-01};
837 track->GetIntegratedTimes(exptimes);
839 Float_t dedx = track->GetTPCsignal();
842 Float_t time = track->GetTOFsignal()-
fESDpid->GetTOFResponse().GetStartTime(p);
843 Float_t tl = track->GetIntegratedLength();
845 Float_t betagammares =
fESDpid->GetTOFResponse().GetExpectedSigma(p, exptimes[4], mass[4]);
847 Float_t betagamma1 = tl/(time-5 *betagammares) * 33.3564095198152043;
851 if(betagamma1 < 0.1) betagamma1 = 0.1;
853 if(betagamma1 < 0.99999) betagamma1 /= TMath::Sqrt(1-betagamma1*betagamma1);
854 else betagamma1 = 100;
856 Float_t betagamma2 = tl/(time+5 *betagammares) * 33.3564095198152043;
859 if(betagamma2 < 0.1) betagamma2 = 0.1;
861 if(betagamma2 < 0.99999) betagamma2 /= TMath::Sqrt(1-betagamma2*betagamma2);
862 else betagamma2 = 100;
866 track->GetInnerPxPyPz(ptpc);
867 Float_t momtpc=TMath::Sqrt(ptpc[0]*ptpc[0] + ptpc[1]*ptpc[1] + ptpc[2]*ptpc[2]);
869 for(
Int_t i=0;i < 5;i++){
870 Float_t resolutionTOF =
fESDpid->GetTOFResponse().GetExpectedSigma(p, exptimes[i], mass[i]);
871 if(TMath::Abs(exptimes[i] - time) < 5 * resolutionTOF){
873 if(i==0) dedxExp =
fESDpid->GetTPCResponse().GetExpectedSignal(momtpc,AliPID::kElectron);
874 else if(i==1) dedxExp =
fESDpid->GetTPCResponse().GetExpectedSignal(momtpc,AliPID::kMuon);
875 else if(i==2) dedxExp =
fESDpid->GetTPCResponse().GetExpectedSignal(momtpc,AliPID::kPion);
876 else if(i==3) dedxExp =
fESDpid->GetTPCResponse().GetExpectedSignal(momtpc,AliPID::kKaon);
880 if(i==0) resolutionTPC =
fESDpid->GetTPCResponse().GetExpectedSigma(momtpc,track->GetTPCsignalN(),AliPID::kElectron);
881 else if(i==1) resolutionTPC =
fESDpid->GetTPCResponse().GetExpectedSigma(momtpc,track->GetTPCsignalN(),AliPID::kMuon);
882 else if(i==2) resolutionTPC =
fESDpid->GetTPCResponse().GetExpectedSigma(momtpc,track->GetTPCsignalN(),AliPID::kPion);
883 else if(i==3) resolutionTPC =
fESDpid->GetTPCResponse().GetExpectedSigma(momtpc,track->GetTPCsignalN(),AliPID::kKaon);
884 else if(i==4) resolutionTPC =
fESDpid->GetTPCResponse().GetExpectedSigma(momtpc,track->GetTPCsignalN(),
AliPID::kProton);
886 if(TMath::Abs(dedx - dedxExp) < 3 * resolutionTPC){
894 Float_t bbM =
fESDpid->GetTPCResponse().Bethe((betagamma1+betagamma2)*0.5);
899 Float_t resolutionTOFpr =
fESDpid->GetTOFResponse().GetExpectedSigma(p, exptimes[4], mass[4]);
901 if(TMath::Abs(dedx-bb1) < resolutionTPCpr*3 && exptimes[4] < time-7*resolutionTOFpr){
904 else if(TMath::Abs(dedx-bb2) < resolutionTPCpr*3 && exptimes[4] < time-7*resolutionTOFpr){
907 else if(TMath::Abs(dedx-bbM) < resolutionTPCpr*3 && exptimes[4] < time-7*resolutionTOFpr){
TH2F * fTOFrawbetaK
vs beta
AliFlowTrackCuts * fCutsTPCdedxPions
TH2F * fTOFrawbetaPi
vs beta
AliFlowTrackCuts * fCutsTOFbetaSimpleKaons
AliFlowTrackCuts * fCutsTOFbetaPions
TH2F * fTOFrawtimeP
vs time
TH2F * fTOFrawbeta
vs time
TProfile * fMeanPvsP
P vs Pt yield.
void SetMCisPrimary(Bool_t b=kTRUE)
AliFlowTrackCuts * fCutsTPCbayesianPions
AliFlowTrackCuts * fCutsTPCdedxProtons
void SetPID(AliPID::EParticleType pid, PIDsource s=kTOFpid, Double_t prob=0.9)
TH2F * fTPCsignalP
TPC PID signal as function of p for K+.
AliFlowTrackCuts * fCutsMCkaons
AliFlowTrackCuts * fCutsTPCbayesianProtons
AliFlowTrackCuts * fCutsTOFbetaProtons
AliAnalysisTaskPIDflowQA()
AliFlowEventCuts * fEventCuts
static AliFlowTrackCuts * GetStandardGlobalTrackCuts2010()
AliFlowTrackCuts * fCutsMCpions
TH2F * fTOFrawbetaP
vs beta
TH2F * fTOFrawbetaE
vs beta
ClassImp(AliAnalysisTaskPIDflowQA) AliAnalysisTaskPIDflowQA
TH2F * fTOFrawtimeE
vs time
Int_t Count(AliVEvent *event=NULL)
TH2F * fTOFinvbetaPi
vs beta
virtual Bool_t IsSelected(TObject *obj, Int_t id=-666)
AliFlowTrackCuts * fCutsTPCbayesianKaons
void PidTOF(AliESDtrack *t, Int_t pdgcode)
AliFlowTrackCuts * fCutsTOFbetaKaons
AliFlowTrackCuts * fCutsMCprimarykaons
AliFlowTrackCuts * fStandardGlobalCuts
correlation tpc only tracks vs global tracks
AliFlowTrackCuts * fCutsTOFbetaSimpleElectrons
TH2F * fTOFrawinvbetaPi
vs beta
TH2F * fTOFinvbeta
vs beta
AliFlowTrackCuts * fCutsMCelectrons
AliFlowTrackCuts * fCutsTOFbetaElectrons
cuts
AliFlowTrackCuts * fCutsTOFbayesianKaons
AliFlowTrackCuts * fCutsMCprimaryprotons
static AliFlowTrackCuts * GetStandardTPCStandaloneTrackCuts2010()
TH2F * fTOFrawinvbetaK
vs beta
virtual void UserExec(Option_t *option)
TH2F * fTOFinvbetaE
vs beta
AliFlowTrackCuts * fCutsTPCpidElectrons
virtual void UserCreateOutputObjects()
void SetIgnoreSignInMCPID(Bool_t b=kTRUE)
TH2F * fTOFrawinvbetaP
vs beta
Bool_t TPCTOFagree(const AliESDtrack *track)
void PidTPC(AliESDtrack *t, Int_t pdgcode)
AliFlowTrackCuts * fCutsTPCpidKaons
AliFlowTrackCuts * fCutsMCprimarypions
AliFlowTrackCuts * fCuts
ESD object.
AliFlowTrackCuts * fCutsTOFbayesianPions
TH2F * fTOFinvbetaP
vs beta
void SetEvent(AliVEvent *event, AliMCEvent *mcEvent=NULL)
AliFlowTrackCuts * fStandardTPCCuts
cuts
void SetQA(Bool_t b=kTRUE)
Float_t Beta(Float_t m, Float_t p)
TH2F * fTOFrawtime
vs beta
AliFlowTrackCuts * fCutsTPCpidPions
TH2F * fTPCvsGlobalMult
mean p per bin
AliFlowTrackCuts * fCutsTPCdedxElectrons
TH2F * fTOFrawinvbetaE
vs beta
virtual void Terminate(Option_t *)
AliFlowTrackCuts * fCutsMCprimaryelectrons
AliFlowTrackCuts * fCutsTOFbayesianProtons
void SetRequireStrictTOFTPCagreement(Bool_t b=kTRUE)
TH2F * fTOFrawtimePi
vs time
TH2F * fTPCsignalPi
TPC signal as function of p.
TH2F * fTOFtime
TPC PID signal as function of p for p.
AliFlowTrackCuts * fCutsTOFbayesianElectrons
virtual Bool_t IsSelected(TObject *obj, TObject *objmc)
AliFlowTrackCuts * fCutsTPCbayesianElectrons
TH2F * fTOFrawtimeK
vs time
TH2F * fTPCsignalK
TPC PID signal as function of p for pi+.
TH2F * fTOFrawinvbeta
vs beta
TH2F * fTOFinvbetaK
vs beta
AliFlowTrackCuts * fCutsMCprotons
AliFlowTrackCuts * fCutsTOFbetaSimpleProtons
AliFlowTrackCuts * fCutsTOFbetaSimplePions
AliFlowTrackCuts * fCutsTPCdedxKaons
AliFlowTrackCuts * fCutsTPCpidProtons