]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/test/AliCFSingleTrackTask.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / CORRFW / test / AliCFSingleTrackTask.C
index d3ccf5409a34bc1f2f6dad8e112e1ae65cfc04cd..04b0d597eb84768d32121b1dca6d103559bf4273 100644 (file)
@@ -55,11 +55,13 @@ Bool_t AliCFSingleTrackTask(
 
     if (readAOD) {
       analysisChain = new TChain("aodTree");
-      analysisChain->Add("AliAOD.root");
+      analysisChain->Add("your_data_path/001/AliAOD.root");
+      analysisChain->Add("your_data_path/002/AliAOD.root");
     }
     else {
       analysisChain = new TChain("esdTree");
-      analysisChain->Add("AliESDs.root");
+      analysisChain->Add("your_data_path/001/AliESDs.root");
+      analysisChain->Add("your_data_path/002/AliESDs.root");
     }
   }
   
@@ -94,13 +96,25 @@ Bool_t AliCFSingleTrackTask(
   //setting the bin limits
   container -> SetBinLimits(ipt,binLim1);
   container -> SetBinLimits(iy,binLim2);
-
+  container -> SetVarTitle(ipt,"pt");
+  container -> SetVarTitle(iy, "y");
+  container -> SetStepTitle(0, "generated");
+  container -> SetStepTitle(1, "in acceptance");
+  container -> SetStepTitle(2, "reconstructed");
+  container -> SetStepTitle(3, "after PID");
 
   // SET TLIST FOR QA HISTOS
   TList* qaList = new TList();
 
   //CREATE THE  CUTS -----------------------------------------------
 
+  //Event-level cuts:
+  AliCFEventRecCuts* evtRecCuts = new AliCFEventRecCuts("evtRecCuts","Rec-event cuts");
+//   evtRecCuts->SetUseTPCVertex();
+//   evtRecCuts->SetRequireVtxCuts(kTRUE);
+//   evtRecCuts->SetVertexNContributors(-2,5);
+  evtRecCuts->SetQAOn(qaList);
+
   // Gen-Level kinematic cuts
   AliCFTrackKineCuts *mcKineCuts = new AliCFTrackKineCuts("mcKineCuts","MC-level kinematic cuts");
   mcKineCuts->SetPtRange(ptmin,ptmax);
@@ -111,7 +125,7 @@ Bool_t AliCFSingleTrackTask(
   //Particle-Level cuts:  
   AliCFParticleGenCuts* mcGenCuts = new AliCFParticleGenCuts("mcGenCuts","MC particle generation cuts");
   mcGenCuts->SetRequireIsPrimary();
-  mcGenCuts->SetRequirePdgCode(PDG);
+  mcGenCuts->SetRequirePdgCode(PDG,/*absolute=*/kTRUE);
   mcGenCuts->SetQAOn(qaList);
 
   //Acceptance Cuts
@@ -128,8 +142,11 @@ Bool_t AliCFSingleTrackTask(
   recKineCuts->SetQAOn(qaList);
 
   AliCFTrackQualityCuts *recQualityCuts = new AliCFTrackQualityCuts("recQualityCuts","rec-level quality cuts");
-  if (!readAOD)       recQualityCuts->SetMinNClusterTPC(minclustersTPC);
-  if (!readTPCTracks) recQualityCuts->SetStatus(AliESDtrack::kITSrefit);
+  if (!readAOD)       {
+//     recQualityCuts->SetMinNClusterTRD(0);
+//     recQualityCuts->SetMaxChi2PerClusterTRD(10.);
+  }
+  recQualityCuts->SetStatus(AliESDtrack::kTPCrefit);
   recQualityCuts->SetQAOn(qaList);
 
   AliCFTrackIsPrimaryCuts *recIsPrimaryCuts = new AliCFTrackIsPrimaryCuts("recIsPrimaryCuts","rec-level isPrimary cuts");
@@ -163,6 +180,10 @@ Bool_t AliCFSingleTrackTask(
   }
   cutPID->SetQAOn(qaList);
 
+  printf("CREATE EVENT LEVEL CUTS\n");
+  TObjArray* evtList = new TObjArray(0) ;
+//   evtList->AddLast(evtRecCuts);
+  
   printf("CREATE MC KINE CUTS\n");
   TObjArray* mcList = new TObjArray(0) ;
   mcList->AddLast(mcKineCuts);
@@ -185,11 +206,15 @@ Bool_t AliCFSingleTrackTask(
   //CREATE THE INTERFACE TO CORRECTION FRAMEWORK USED IN THE TASK
   printf("CREATE INTERFACE AND CUTS\n");
   AliCFManager* man = new AliCFManager() ;
-  man->SetParticleContainer     (container);
-  man->SetParticleCutsList(AliCFManager::kPartGenCuts,mcList);
-  man->SetParticleCutsList(AliCFManager::kPartAccCuts,accList);
-  man->SetParticleCutsList(AliCFManager::kPartRecCuts,recList);
-  man->SetParticleCutsList(AliCFManager::kPartSelCuts,fPIDCutList);
+
+  man->SetNStepEvent(1);
+  man->SetEventCutsList(0,evtList);
+
+  man->SetParticleContainer(container);
+  man->SetParticleCutsList(0,mcList);
+  man->SetParticleCutsList(1,accList);
+  man->SetParticleCutsList(2,recList);
+  man->SetParticleCutsList(3,fPIDCutList);
 
 
   //CREATE THE TASK
@@ -241,7 +266,7 @@ Bool_t AliCFSingleTrackTask(
   cinput0->SetData(analysisChain);
 
   mgr->AddTask(task);
-  mgr->ConnectInput(task,0,cinput0);
+  mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
   mgr->ConnectOutput(task,0,coutput0);
   mgr->ConnectOutput(task,1,coutput1);
   mgr->ConnectOutput(task,2,coutput2);
@@ -265,9 +290,9 @@ void Load() {
   //load the required aliroot libraries
   gSystem->Load("libANALYSIS") ;
   gSystem->Load("libANALYSISalice") ;
-  gSystem->Load("libCORRFW.so") ;
+  gSystem->Load("libCORRFW") ;
 
   //compile online the task class
   gSystem->SetIncludePath("-I. -I$ALICE_ROOT/include -I$ROOTSYS/include");
-  gROOT->LoadMacro("./AliCFSingleTrackTask.cxx+");
+  gROOT->LoadMacro("./AliCFSingleTrackTask.cxx++g");
 }