22 #include "TObjArray.h"
24 #include "TGraphErrors.h"
39 #include "THnSparse.h"
45 #include "AliAnalysisManager.h"
46 #include "AliESDEvent.h"
47 #include "AliAODInputHandler.h"
48 #include "AliAODEvent.h"
49 #include "AliAODTrack.h"
50 #include "AliAODInputHandler.h"
51 #include "AliCollisionGeometry.h"
52 #include "AliGenEventHeader.h"
53 #include "AliAnalysisUtils.h"
54 #include "AliPIDCombined.h"
55 #include "AliAnalysisTask.h"
56 #include "AliAODHandler.h"
57 #include <AliInputEventHandler.h>
58 #include <AliVEventHandler.h>
59 #include <AliVParticle.h>
60 #include <AliVTrack.h>
61 #include <AliTPCPIDResponse.h>
62 #include <AliTOFPIDResponse.h>
64 #include "AliAnalysisTaskSE.h"
65 #include "AliAODPid.h"
66 #include "AliPhysicsSelection.h"
67 #include "AliCentralitySelectionTask.h"
68 #include "AliCentrality.h"
69 #include "AliKFParticle.h"
70 #include "AliKFVertex.h"
72 #include "AliPIDResponse.h"
73 #include "AliCFContainer.h"
74 #include "AliCFManager.h"
75 #include "AliVEvent.h"
76 #include "AliAODVZERO.h"
92 fCentralityPercentileMin(0.),
93 fCentralityPercentileMax(5.),
99 fUseCentrality(kTRUE),
100 fCutTPCmultiplicityOutliersAOD(kFALSE),
102 fCentralityEstimator("V0M"),
103 fPurityFunctionsFile(0),
104 fPurityFunctionsList(0),
108 fhistCentralityPassBefore(0),
109 fhistCentralityPassAfter(0),
114 fhistPhiDistBefore(0),
115 fhistPhiDistAfter(0),
116 fhistEtaDistBefore(0),
117 fhistEtaDistAfter(0),
118 fTPCvsGlobalMultBeforeOutliers(0),
119 fTPCvsGlobalMultAfterOutliers(0),
120 fTPCvsGlobalMultAfter(0),
121 fHistBetavsPTOFbeforePID(0),
122 fHistdEdxvsPTPCbeforePID(0),
124 fhistTPCnSigmavsP(0),
125 fhistTOFnSigmavsP(0),
126 fHistBetavsPTOFafterPID(0),
127 fHistdEdxvsPTPCafterPID(0),
128 fHistBetavsPTOFafterPID_2(0),
129 fHistdEdxvsPTPCafterPID_2(0),
130 fHistBetavsPTOFafterPIDTPCTOF(0),
131 fHistdEdxvsPTPCafterPIDTPCTOF(0),
132 fHistBetavsPTOFafterPIDTPConly(0),
133 fHistdEdxvsPTPCafterPIDTPConly(0),
134 fHistPion_BetavsPTOFafterPIDTPCTOF(0),
135 fHistPion_dEdxvsPTPCafterPIDTPCTOF(0),
136 fHistKaon_BetavsPTOFafterPIDTPCTOF(0),
137 fHistKaon_dEdxvsPTPCafterPIDTPCTOF(0),
138 fHistProton_BetavsPTOFafterPIDTPCTOF(0),
139 fHistProton_dEdxvsPTPCafterPIDTPCTOF(0),
140 fhistPionEtaDistAfter(0),
141 fhistKaonEtaDistAfter(0),
142 fhistProtonEtaDistAfter(0),
147 for(
int i=0;i<4;i++){fvalueAll[i]=0;}
148 for(
int i=0;i<180;i++){
149 fPurityFunction[i]=NULL;
153 for(
int i=0;i<6;i++){
155 fLowPtPIDTPCnsigLow_Pion[i] = 0;
156 fLowPtPIDTPCnsigLow_Kaon[i] = 0;
157 fLowPtPIDTPCnsigHigh_Pion[i] =0;
158 fLowPtPIDTPCnsigHigh_Kaon[i] =0;
172 fTriggerSelection(0),
173 fCentralityPercentileMin(0.),
174 fCentralityPercentileMax(5.),
180 fUseCentrality(kTRUE),
181 fCutTPCmultiplicityOutliersAOD(kFALSE),
183 fCentralityEstimator(
"V0M"),
184 fPurityFunctionsFile(0),
185 fPurityFunctionsList(0),
189 fhistCentralityPassBefore(0),
190 fhistCentralityPassAfter(0),
195 fhistPhiDistBefore(0),
196 fhistPhiDistAfter(0),
197 fhistEtaDistBefore(0),
198 fhistEtaDistAfter(0),
199 fTPCvsGlobalMultBeforeOutliers(0),
200 fTPCvsGlobalMultAfterOutliers(0),
201 fTPCvsGlobalMultAfter(0),
202 fHistBetavsPTOFbeforePID(0),
203 fHistdEdxvsPTPCbeforePID(0),
205 fhistTPCnSigmavsP(0),
206 fhistTOFnSigmavsP(0),
207 fHistBetavsPTOFafterPID(0),
208 fHistdEdxvsPTPCafterPID(0),
209 fHistBetavsPTOFafterPID_2(0),
210 fHistdEdxvsPTPCafterPID_2(0),
211 fHistBetavsPTOFafterPIDTPCTOF(0),
212 fHistdEdxvsPTPCafterPIDTPCTOF(0),
213 fHistBetavsPTOFafterPIDTPConly(0),
214 fHistdEdxvsPTPCafterPIDTPConly(0),
215 fHistPion_BetavsPTOFafterPIDTPCTOF(0),
216 fHistPion_dEdxvsPTPCafterPIDTPCTOF(0),
217 fHistKaon_BetavsPTOFafterPIDTPCTOF(0),
218 fHistKaon_dEdxvsPTPCafterPIDTPCTOF(0),
219 fHistProton_BetavsPTOFafterPIDTPCTOF(0),
220 fHistProton_dEdxvsPTPCafterPIDTPCTOF(0),
221 fhistPionEtaDistAfter(0),
222 fhistKaonEtaDistAfter(0),
223 fhistProtonEtaDistAfter(0),
230 for(
int i=0;i<180;i++){
234 DefineInput(0,TChain::Class());
235 DefineOutput(1,TList::Class());
244 for(
int i=0;i<180;i++){
258 AliLog::SetClassDebugLevel(
"AliAnalysisTaskPIDconfig",10);
262 AliInputEventHandler *inputHandler=
dynamic_cast<AliInputEventHandler*
>(mgr->GetInputEventHandler());
264 AliFatal(
"Input handler needed");
270 if (!
fPIDResponse) AliError(
"PIDResponse object was not created");
305 printf(
"ERROR: fESD & fAOD not available\n");
311 fVevent =
dynamic_cast<AliVEvent*
>(InputEvent());
313 printf(
"ERROR: fVevent not available\n");
321 TH1F *hCentralityPassBefore = (TH1F*)
fListQAInfo->At(1);
322 hCentralityPassBefore->Fill(centrality);
332 const AliVVertex *pVtx =
fVevent->GetPrimaryVertex();
335 pVtxZ = pVtx->GetZ();
337 if(TMath::Abs(pVtxZ)>10)
return;
343 if(histpVtxZ) histpVtxZ->Fill(pVtxZ);
345 if(ntracks<2)
return;
359 for(
Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++) {
360 AliAODTrack* AODtrack =
dynamic_cast<AliAODTrack*
>(
fVevent->GetTrack(iTrack));
361 if (!AODtrack)
continue;
362 if (!(AODtrack->TestFilterBit(1)))
continue;
363 if ((AODtrack->Pt() < .2) || (TMath::Abs(AODtrack->Eta()) > .8) || (AODtrack->GetTPCNcls() < 70) || (AODtrack->GetDetPid()->GetTPCsignal() < 10.0) || (AODtrack->Chi2perNDF() < 0.2))
continue;
367 for(
Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++) {
368 AliAODTrack *AODtrack=
dynamic_cast<AliAODTrack*
>(
fVevent->GetTrack(iTrack));
369 if (!AODtrack)
continue;
370 if (!(AODtrack->TestFilterBit(16)))
continue;
371 if ((AODtrack->Pt() < .2) || (TMath::Abs(AODtrack->Eta()) > .8) || (AODtrack->GetTPCNcls() < 70) || (AODtrack->GetDetPid()->GetTPCsignal() < 10.0) || (AODtrack->Chi2perNDF() < 0.1))
continue;
373 Double_t bCov[3] = {-99., -99., -99.};
374 AliAODTrack copy(*AODtrack);
375 if (!(copy.PropagateToDCA(
fVevent->GetPrimaryVertex(),
fVevent->GetMagneticField(), 100., b, bCov)))
continue;
376 if ((TMath::Abs(b[0]) > 0.3) || (TMath::Abs(b[1]) > 0.3))
continue;
380 HistTPCvsGlobalMultBeforeOutliers->Fill(multGlobal,multTPC);
382 if(multTPC < (-40.3+1.22*multGlobal) || multTPC > (32.1+1.59*multGlobal)){ pass = kFALSE;}
385 HistTPCvsGlobalMultAfterOutliers->Fill(multGlobal,multTPC);
394 for(
Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++) {
395 AliAODTrack *AODtrack=
dynamic_cast<AliAODTrack*
>(
fVevent->GetTrack(iTrack));
396 if (!AODtrack)
continue;
397 if (!(AODtrack->TestFilterBit(1)))
continue;
398 if ((AODtrack->Pt() < .2) || (TMath::Abs(AODtrack->Eta()) > .8) || (AODtrack->GetTPCNcls() < 70) || (AODtrack->GetDetPid()->GetTPCsignal() < 10.0) || (AODtrack->Chi2perNDF() < 0.2))
continue;
401 for(
Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++) {
402 AliAODTrack *AODtrack=
dynamic_cast<AliAODTrack*
>(
fVevent->GetTrack(iTrack));
403 if (!AODtrack)
continue;
404 if (!(AODtrack->TestFilterBit(16)))
continue;
405 if ((AODtrack->Pt() < .2) || (TMath::Abs(AODtrack->Eta()) > .8) || (AODtrack->GetTPCNcls() < 70) || (AODtrack->GetDetPid()->GetTPCsignal() < 10.0) || (AODtrack->Chi2perNDF() < 0.1))
continue;
407 Double_t bCov[3] = {-99., -99., -99.};
408 AliAODTrack copy(*AODtrack);
409 if (!(copy.PropagateToDCA(
fVevent->GetPrimaryVertex(),
fVevent->GetMagneticField(), 100., b, bCov)))
continue;
410 if ((TMath::Abs(b[0]) > 0.3) || (TMath::Abs(b[1]) > 0.3))
continue;
415 HistTPCvsGlobalMultBeforeOutliers->Fill(multGlobal,multTPC);
417 if(multTPC < (-36.73 + 1.48*multGlobal) || multTPC > (62.87 + 1.78*multGlobal)){pass = kFALSE;}
420 HistTPCvsGlobalMultAfterOutliers->Fill(multGlobal,multTPC);
426 for(
Int_t itrack = 0; itrack < ntracks; itrack++){
428 AliAODTrack *track=
dynamic_cast<AliAODTrack*
>(
fVevent->GetTrack(itrack));
432 Float_t dcaZ = track->ZAtDCA();
435 HistDCAbefore->Fill(dcaZ,dcaXY);
437 Double_t p = -999, pT = -999, phi = -999, eta = -999, dEdx =-999;
438 Double_t length = -999., beta =-999, tofTime = -999., tof = -999.;
442 if(!track->TestFilterBit(
fFilterBit))
continue;
448 dEdx=track->GetDetPid()->GetTPCsignal();
451 if (probMis < 0.01) {
454 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
456 tofTime = track->GetTOFsignal();
457 length = track->GetIntegratedLength();
461 if (tof <= 0)
continue;
463 if (length <= 0)
continue;
465 length = length*0.01;
470 HistBetavsPTOFbeforePID ->Fill(track->P()*track->Charge(),beta);
474 HistdEdxvsPTPCbeforePID -> Fill(track->P()*track->Charge(),dEdx);
477 TH1F *HistPhiDistBefore = (TH1F*)
fListQAInfo->At(9);
478 HistPhiDistBefore->Fill(phi);
480 TH1F *HistEtaDistBefore = (TH1F*)
fListQAInfo->At(10);
481 HistEtaDistBefore->Fill(eta);
485 if(TMath::Abs(eta)>0.8)
continue;
487 Int_t TPCNcls = track->GetTPCNcls();
489 if(TPCNcls<70 || dEdx<10)
continue;
494 HistDCAAfter->Fill(dcaZ,dcaXY);
496 TH1F *HistPhiDistAfter = (TH1F*)
fListQAInfo->At(12);
497 HistPhiDistAfter->Fill(phi);
499 TH1F *HistEtaDistAfter = (TH1F*)
fListQAInfo->At(13);
500 HistEtaDistAfter->Fill(eta);
503 Bool_t pWithinRange = kFALSE;
506 for(
int b=0;b<100;b++){pBins[b] = 0.1*b;}
507 for(
int i=0;i<100;i++){
508 if(p>pBins[i] && p<(pBins[i]+0.1)){
509 pWithinRange = kTRUE;
514 for (
Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){
519 int i = ispecie - AliPID::kPion;
522 if(ispecie==AliPID::kPion || ispecie==AliPID::kKaon || ispecie==
AliPID::kProton){
523 int index = 100*i+p_bin;
526 if(TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
530 hist1->Fill(nsigmaTPC,nsigmaTOF,p);}
543 if(TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
544 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
546 HistBetavsPTOFafterPID ->Fill(track->P()*track->Charge(),beta);
550 HistdEdxvsPTPCafterPID -> Fill(track->P()*track->Charge(),dEdx);
553 if(p_bin<8 && TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
554 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
556 HistBetavsPTOFafterPID ->Fill(track->P()*track->Charge(),beta);
559 HistdEdxvsPTPCafterPID -> Fill(track->P()*track->Charge(),dEdx);
562 Double_t LowPtPIDTPCnsigLow_Pion[6] = {-3,-3,-3,-3,-3,-3};
563 Double_t LowPtPIDTPCnsigLow_Kaon[6] = {-3,-2,0,-1.8,-1.2,-0.8};
564 Double_t LowPtPIDTPCnsigHigh_Pion[6] ={2.4,3,3,3,2,1.4};
565 Double_t LowPtPIDTPCnsigHigh_Kaon[6] ={3,2.2,0,-0.2,1,1.8};
569 if(TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
570 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
572 HistBetavsPTOFafterPID ->Fill(track->P()*track->Charge(),beta);
576 HistdEdxvsPTPCafterPID -> Fill(track->P()*track->Charge(),dEdx);
579 if((ispecie==AliPID::kPion && nsigmaTPC>LowPtPIDTPCnsigLow_Pion[p_bin-2] && nsigmaTPC<LowPtPIDTPCnsigHigh_Pion[p_bin-2]) || (ispecie==AliPID::kKaon && nsigmaTPC>LowPtPIDTPCnsigLow_Kaon[p_bin-2] && nsigmaTPC<LowPtPIDTPCnsigHigh_Kaon[p_bin-2]) || (ispecie==
AliPID::kProton && nsigmaTPC>-3 && nsigmaTPC<3)){
580 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
582 HistBetavsPTOFafterPID ->Fill(track->P()*track->Charge(),beta);
585 HistdEdxvsPTPCafterPID -> Fill(track->P()*track->Charge(),dEdx);
592 hTPCnSigmavsP->Fill(track->P()*track->Charge(),nsigmaTPC);}
596 hTOFnSigmavsP->Fill(track->P()*track->Charge(),nsigmaTOF);}
600 if(TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
602 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
604 HistBetavsPTOFafterPIDTPCTOF ->Fill(track->P()*track->Charge(),beta);
605 if(ispecie==AliPID::kPion){
607 HistPion_BetavsPTOFafterPIDTPCTOF ->Fill(track->P()*track->Charge(),beta);
609 if(ispecie==AliPID::kKaon){
611 HistKaon_BetavsPTOFafterPIDTPCTOF ->Fill(track->P()*track->Charge(),beta);
615 HistProton_BetavsPTOFafterPIDTPCTOF ->Fill(track->P()*track->Charge(),beta);
620 HistdEdxvsPTPCafterPIDTPCTOF -> Fill(track->P()*track->Charge(),dEdx);
621 if(ispecie==AliPID::kPion){
623 HistPion_dEdxvsPTPCafterPIDTPCTOF -> Fill(track->P()*track->Charge(),dEdx);
625 HistPionEta->Fill(eta);
627 if(ispecie==AliPID::kKaon){
629 HistKaon_dEdxvsPTPCafterPIDTPCTOF -> Fill(track->P()*track->Charge(),dEdx);
631 HistKaonEta->Fill(eta);
635 HistProton_dEdxvsPTPCafterPIDTPCTOF -> Fill(track->P()*track->Charge(),dEdx);
637 HistProtonEta->Fill(eta);
642 if(TMath::Sqrt(TMath::Power(nsigmaTPC,2)+TMath::Power(nsigmaTOF,2))<3){
643 if ( (track->IsOn(AliAODTrack::kITSin)) && (track->IsOn(AliAODTrack::kTOFpid)) ) {
645 HistBetavsPTOFafterPIDTPConly ->Fill(track->P()*track->Charge(),beta);
648 HistdEdxvsPTPCafterPIDTPConly -> Fill(track->P()*track->Charge(),dEdx);
658 hist1->Fill(nsigmaTPC,nsigmaTOF,p);}
662 hTPCnSigmavsP->Fill(track->P(),nsigmaTPC);}
666 hTOFnSigmavsP->Fill(track->P(),nsigmaTOF);}
684 HistTPCvsGlobalMultAfter->Fill(multGlobal,multTPC);
690 if (!
fUseCentrality) AliFatal(
"No centrality method set! FATAL ERROR!");
695 hCentralityPass->Fill(centvalue);
697 centralitypass = kTRUE;
708 printf(
"The purity functions file does not exist");
715 TString species[3] = {
"pion",
"kaon",
"proton"};
716 TList *Species_functions[3];
718 for(ispecie = 0; ispecie < 3; ispecie++) {
720 if(!Species_functions[ispecie]) {
721 cout<<
"Purity functions for species: "<<species[ispecie]<<
" not found!!!"<<endl;
726 for(
int i=0;i<180;i++){
731 if(!
fPurityFunction[i]){printf(
"Purity function does not exist");
return;}
742 for (
Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){
743 fhistNsigmaP =
new TH3F(Form(
"NsigmaP_TPC_TOF_%s",AliPID::ParticleName(ispecie)),Form(
"TPC n#sigma vs. TOF n#sigma %s vs. p ;TPC n#sigma;TOF n#sigma;p [GeV]",AliPID::ParticleName(ispecie)),200,-20,20,200,-20,20,100,0.1,10);
748 for (
Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){
749 fhistTPCnSigmavsP =
new TH2F(Form(
"NsigmaP_TPC_%s",AliPID::ParticleName(ispecie)),Form(
"TPC n#sigma %s vs. p ;p [GeV];TPC n#sigma",AliPID::ParticleName(ispecie)),100,0,10,125,-5,20);
753 for (
Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){
754 fhistTOFnSigmavsP =
new TH2F(Form(
"NsigmaP_TOF_%s",AliPID::ParticleName(ispecie)),Form(
"TOF n#sigma %s vs. p ;p [GeV];TOF n#sigma",AliPID::ParticleName(ispecie)),100,0,10,150,-10,20);
758 Int_t binsv1[4]={100,20,200,200};
762 for (
Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){
763 fSparseAll =
new THnSparseD (Form(
"fSparse_%s",AliPID::ParticleName(ispecie)),Form(
"fSparse_%s",AliPID::ParticleName(ispecie)),4,binsv1,xminv1,xmaxv1);
766 fSparseAll->GetAxis(2)->SetTitle(
"TOFn#sigma");
767 fSparseAll->GetAxis(3)->SetTitle(
"TPCn#sigma");
779 fNoEvents =
new TH1F(
"number of events",
"no. of events",5,0.5,5.5);
780 fNoEvents->GetXaxis()->SetBinLabel(1,
"RawEvents");
781 fNoEvents->GetXaxis()->SetBinLabel(2,
"AfterCentralityCut");
782 fNoEvents->GetXaxis()->SetBinLabel(3,
"AfterVTXZCut");
783 fNoEvents->GetXaxis()->SetBinLabel(4,
"AfterTPCGlobalOutliersCut2010");
784 fNoEvents->GetXaxis()->SetBinLabel(5,
"AfterTPCGlobalOutliersCut2011");
794 fpVtxZ =
new TH1F(
"pVtxZ",
"pVtxZ",100,-20,20);
812 fhistPhiDistBefore =
new TH1F(
"Phi Distribution Before Cuts",
"Phi Distribution Before Cuts",200,0,6.4);
815 fhistEtaDistBefore =
new TH1F(
"Eta Distribution Before Cuts",
"Eta Distribution Before Cuts",100,-2,2);
821 fhistPhiDistAfter =
new TH1F(
"Phi Distribution After Cuts",
"Phi Distribution After Cuts",200,0,6.4);
824 fhistEtaDistAfter =
new TH1F(
"Eta Distribution After Cuts",
"Eta Distribution After Cuts",200,-10,10);
863 fhistPionEtaDistAfter =
new TH1F(
"Pion Eta Distribution After PID Cuts",
"Pion Eta Distribution After PID Cuts",100,-2,2);
866 fhistKaonEtaDistAfter =
new TH1F(
"Kaon Eta Distribution After PID Cuts",
"Kaon Eta Distribution After PID Cuts",100,-2,2);
869 fhistProtonEtaDistAfter =
new TH1F(
"Proton Eta Distribution After PID Cuts",
"Proton Eta Distribution PID After Cuts",100,-2,2);
872 fHistBetavsPTOFafterPID_2 =
new TH2F(
"momentum vs beta after PID (PID in low Pt TPC only with Purity>0.7)",
"momentum vs beta after PID (PID in low Pt TPC only with Purity>0.7)",1000,-10.,10.,1000,0,1.2);
875 fHistdEdxvsPTPCafterPID_2 =
new TH2F(
"momentum vs dEdx after PID (PID in low Pt TPC only with Purity>0.7)",
"momentum vs dEdx after PID (PID in low Pt TPC only with Purity>0.7)",1000,-10.,10.,1000,0,1000);
878 fTPCvsGlobalMultAfter =
new TH2F(
"TPC vs. Global Multiplicity After",
"TPC vs. Global Multiplicity After",500,0,6000,500,0,6000);
TList * fListQAInfo
List with combined PID from TPC + TOF.
TH1F * fhistCentralityPassAfter
cen histo before
TH1F * fNoEvents
cen histo after
AliPIDResponse * fPIDResponse
aod
TH2F * fHistdEdxvsPTPCafterPIDTPCTOF
another hist
TH1F * fhistProtonEtaDistAfter
another hist
ClassImp(AliAnalysisTaskPIDconfig) AliAnalysisTaskPIDconfig
TH2F * fHistdEdxvsPTPCafterPID_2
another hist
TH1F * fhistPhiDistAfter
another hist
TH2F * fHistPion_dEdxvsPTPCafterPIDTPCTOF
another hist
TH1F * fhistPionEtaDistAfter
another hist
TH2F * fHistKaon_dEdxvsPTPCafterPIDTPCTOF
another hist
TH2F * fHistKaon_BetavsPTOFafterPIDTPCTOF
another hist
TH2F * fTPCvsGlobalMultAfterOutliers
another hist
TH1F * fhistEtaDistBefore
another hist
TFile * fPurityFunctionsFile
TH2F * fhistTPCnSigmavsP
another hist
TH1F * fhistCentralityPassBefore
list q ainfo
TH2F * fHistBetavsPTOFafterPIDTPCTOF
another hist
Int_t fCentralityPercentileMax
virtual ~AliAnalysisTaskPIDconfig()
Bool_t fData2011
All species info.
TString fCentralityEstimator
TH2F * fHistdEdxvsPTPCafterPID
another hist
Int_t fCentralityPercentileMin
TH2F * fHistProton_dEdxvsPTPCafterPIDTPCTOF
another hist
TDirectory * fPurityFunctionsList
purity functions file
void CheckCentrality(AliVEvent *event, Double_t centrality, Bool_t ¢ralitypass)
TH2F * fHistBetavsPTOFafterPID
another hist
TObject * FindObject(int bin, const char *nameH, const TList *lst, Bool_t normPerEvent=kTRUE)
TH1F * fhistEtaDistAfter
another hist
TH2F * fHistBetavsPTOFafterPIDTPConly
another hist
TH2F * fHistBetavsPTOFafterPID_2
another hist
TH2F * fTPCvsGlobalMultAfter
another hist
TH2F * fHistdEdxvsPTPCbeforePID
another hist
TH2F * fHistProton_BetavsPTOFafterPIDTPCTOF
another hist
TH2F * fHistdEdxvsPTPCafterPIDTPConly
another hist
AliAnalysisTaskPIDconfig()
THnSparseD * fSparseAll
another hist
virtual void UserExec(Option_t *)
virtual void UserCreateOutputObjects()
TH2F * fHistBetavsPTOFbeforePID
another hist
TH1F * fhistKaonEtaDistAfter
another hist
void SetPIDPurityFunctions(Float_t PurityLevel)
TList * fListQAtpctof
List of all lists.
TH3F * fhistNsigmaP
another hist
TList * fListQA
purity functions list
TH2F * fhistTOFnSigmavsP
another hist
TH2F * fhistDCABefore
v vertex no
TF2 * fPurityFunction[180]
All species info.
TH2F * fhistDCAAfter
dca after hist
TH2F * fTPCvsGlobalMultBeforeOutliers
another hist
TH2F * fHistPion_BetavsPTOFafterPIDTPCTOF
another hist
TH1F * fhistPhiDistBefore
another hist