Int_t kStepReconstructed = 0;
Int_t kStepReconstructedTPCOnly = 1;
Int_t kStepSecondaries = 2;
- Int_t kStepMCtrackable = 3;
- Int_t kStepReconstructedMC = 4;
- Int_t kStepMCAcceptance = 5;
+ Int_t kStepReconstructedMC = 3;
+ Int_t kStepMCAcceptance = 4;
- const Int_t nvar = 5; //number of variables on the grid:pt
+ const Int_t nvar = 5; //number of variables on the grid: pt:phi:eta:DCAR:Chi2/NClusTPC
const Int_t nbin11 = (int)(ptmax1-ptmin1);
const Int_t nbin12 = (int)((ptmax2-ptmin2)/2.)+nbin11;
const Int_t nbin13 = (int)((ptmax3-ptmin3)/5.)+nbin12;
- const Int_t nbin1 = nbin13; //bins in pt 98
+ const Int_t nbin1 = nbin13; //bins in pt
const Int_t nbin2 = 18;//36; //bins in phi
- const Int_t nbin3 = 9; //bins in eta
+ const Int_t nbin3 = 8; //bins in eta
const Int_t nbin4 = 40; //bins in DCAR
const Int_t nbin5 = 20; //bins in Chi2/#NclusTPC
//CREATE THE CUTS -----------------------------------------------
//Use AliESDtrackCuts
AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
-// //Standard Cuts
-// trackCuts->SetAcceptKinkDaughters(kFALSE);
-// trackCuts->SetRequireTPCStandAlone(kTRUE);
-// trackCuts->SetRequireTPCRefit(kTRUE);
-// trackCuts->SetMinNClustersTPC(70);
-// trackCuts->SetEtaRange(-0.9,0.9);
-// trackCuts->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
-// trackCuts->SetPtRange(0.15, 1e10);
-// trackCuts->SetMaxChi2PerClusterTPC(3.5);
-// trackCuts->SetMaxDCAToVertexXY(2.4);
-// trackCuts->SetMaxDCAToVertexZ(3.2);
-// trackCuts->SetDCAToVertex2D(kTRUE);
-// trackCuts->SetRequireITSRefit(kTRUE);
trackCuts->SetEtaRange(-0.9,0.9);
trackCuts->SetPtRange(0.15, 1e10);
- trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
+ trackCuts = trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Quality Selection for Global tracks
+
+ AliESDtrackCuts *trackCutsTPConly = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts TPC only tracks");
+ trackCutsTPConly->SetEtaRange(-0.9,0.9);
+ trackCutsTPConly->SetPtRange(0.15, 1e10);
+ trackCutsTPConly = trackCutsTPConly->GetStandardTPCOnlyTrackCuts();//TPC only Track Quality Cuts
+
// Gen-Level kinematic cuts
AliCFTrackKineCuts *mcKineCuts = new AliCFTrackKineCuts("mcKineCuts","MC-level kinematic cuts");
mcAccCuts->SetMinNHitTPC(mintrackrefsTPC);
TObjArray* recList = new TObjArray(0);
- TObjArray* recMCList = new TObjArray(0);
TObjArray* recTPConlyList = new TObjArray(0);
TObjArray* secList = new TObjArray(0) ;
+ TObjArray* recMCList = new TObjArray(0);
printf("CREATE MC KINE CUTS\n");
TObjArray* mcList = new TObjArray(0) ;
printf("CREATE INTERFACE AND CUTS\n");
AliCFManager* manPos = new AliCFManager("manPos","Manager for Positive tracks") ;
manPos->SetParticleContainer(containerPos);
- manPos->SetParticleCutsList(0,recList);
- manPos->SetParticleCutsList(1,recTPConlyList);
- manPos->SetParticleCutsList(2,secList);
- manPos->SetParticleCutsList(3,mcList);
- manPos->SetParticleCutsList(4,recMCList);
+ manPos->SetParticleCutsList(kStepReconstructed,recList);
+ manPos->SetParticleCutsList(kStepReconstructedTPCOnly,recTPConlyList);
+ manPos->SetParticleCutsList(kStepSecondaries,secList);
+ manPos->SetParticleCutsList(kStepReconstructedMC,recMCList);
+ manPos->SetParticleCutsList(kStepMCAcceptance,mcList);
+
AliCFManager* manNeg = new AliCFManager("manNeg","Manager for Negative tracks") ;
manNeg->SetParticleContainer(containerNeg);
- manNeg->SetParticleCutsList(0,recList);
- manNeg->SetParticleCutsList(1,recTPConlyList);
- manNeg->SetParticleCutsList(2,secList);
- manNeg->SetParticleCutsList(3,mcList);
- manNeg->SetParticleCutsList(4,recMCList);
+ manNeg->SetParticleCutsList(kStepReconstructed,recList);
+ manNeg->SetParticleCutsList(kStepReconstructedTPCOnly,recTPConlyList);
+ manNeg->SetParticleCutsList(kStepSecondaries,secList);
+ manNeg->SetParticleCutsList(kStepReconstructedMC,recMCList);
+ manNeg->SetParticleCutsList(kStepMCAcceptance,mcList);
+
printf("Create task AliPWG4HighPtSpectra\n");
AliPWG4HighPtSpectra *taskPWG4HighPtSpectra = new AliPWG4HighPtSpectra("taskPWG4HighPtSpectra");
taskPWG4HighPtSpectra->SetCuts(trackCuts);
- taskPWG4HighPtSpectra->SetCFManagerPos(manPos); //here is set the CF manager
- taskPWG4HighPtSpectra->SetCFManagerNeg(manNeg); //here is set the CF manager
+ taskPWG4HighPtSpectra->SetCutsTPConly(trackCutsTPConly);
+ taskPWG4HighPtSpectra->SetCFManagerPos(manPos); //here is set the CF manager +
+ taskPWG4HighPtSpectra->SetCFManagerNeg(manNeg); //here is set the CF manager -
// E. Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
- //------ input data ------
- // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
-// char *outputfile = "outputAliPWG4HighPtSpectraTestTrain.root";
+ //------ output containers ------
TString outputfile = AliAnalysisManager::GetCommonFileName();
outputfile += ":PWG4_HighPtSpectra";
AliAnalysisDataContainer *coutput0 = mgr->CreateContainer("chist0HighPtSpectra", TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("ccontainer0HighPtSpectra", AliCFContainer::Class(),AliAnalysisManager::kOutputContainer,outputfile);
AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("ccontainer1HighPtSpectra", AliCFContainer::Class(),AliAnalysisManager::kOutputContainer,outputfile);
-
+ AliAnalysisDataContainer *cout_cuts0 = mgr->CreateContainer("qa_trackCuts", AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
+ AliAnalysisDataContainer *cout_cuts1 = mgr->CreateContainer("qa_trackCutsTPConly", AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
+
mgr->AddTask(taskPWG4HighPtSpectra);
mgr->ConnectInput(taskPWG4HighPtSpectra,0,mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskPWG4HighPtSpectra,0,coutput0);
mgr->ConnectOutput(taskPWG4HighPtSpectra,1,coutput1);
mgr->ConnectOutput(taskPWG4HighPtSpectra,2,coutput2);
-
+ mgr->ConnectOutput(taskPWG4HighPtSpectra,3,cout_cuts0);
+ mgr->ConnectOutput(taskPWG4HighPtSpectra,4,cout_cuts1);
// Return task pointer at the end
return taskPWG4HighPtSpectra;