]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/macros/AddTaskPWG4HighPtQAMC.C
Macro to display the output of SDD task in QA-train
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskPWG4HighPtQAMC.C
index 40bf001ba41ade21a8569f343897fdd2481b6819..170dafe33dd75cdb28bf938430d09e136b43db26 100644 (file)
@@ -1,6 +1,7 @@
+
 //DEFINITION OF A FEW CONSTANTS
 
-AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC()
+AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14", int trackType = 0)
 {
   // Creates HighPtQAMC analysis task and adds it to the analysis manager.
   
@@ -29,23 +30,31 @@ AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC()
   //Use AliESDtrackCuts
   AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
   //Standard Cuts
-  trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
+  //Set track cuts for global tracks
+  if(trackType==0) trackCuts = trackCuts->GetStandardITSTPCTrackCuts2010(kTRUE);//Primary Track Selection
+  //Set track cuts for TPConly tracks
+  if(trackType==1) { 
+    trackCuts = trackCuts->GetStandardTPCOnlyTrackCuts(); 
+    trackCuts->SetMinNClustersTPC(70);
+  }
   trackCuts->SetEtaRange(-0.9,0.9);
   trackCuts->SetPtRange(0.15, 1e10);
-  trackCuts->SetRequireITSRefit(kFALSE);
   
   AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
   //Standard Cuts
-  trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
-  trackCuts->SetEtaRange(-0.9,0.9);
-  trackCuts->SetPtRange(0.15, 1e10);
-  trackCuts->SetRequireITSRefit(kTRUE);
+  trackCutsITS=trackCuts->GetStandardITSTPCTrackCuts2010(kTRUE);//Primary Track Selection
+  trackCutsITS->SetEtaRange(-0.9,0.9);
+  trackCutsITS->SetPtRange(0.15, 1e10);
+  trackCutsITS->SetRequireITSRefit(kTRUE);
 
   //Create the task
-  AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC("AliPWG4HighPtQAMC");
+  AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d",trackType));
   taskPWG4QAMC->SetCuts(trackCuts);
   taskPWG4QAMC->SetCutsITS(trackCutsITS);
+  taskPWG4QAMC->SetTrackType(trackType);
   
+  if(!strcmp(prodType, "LHC10e14")  || !strcmp(prodType, "PbPb")) taskPWG4QAMC->SetPtMax(500.);
+  else taskPWG4QAMC->SetPtMax(100.);
  
   // 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
@@ -55,16 +64,16 @@ AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC()
   //  AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
   printf("Create output containers \n");
   TString outputfile = AliAnalysisManager::GetCommonFileName();
-  outputfile += ":PWG4_HighPtQAMC"; 
-  //char *outputfile = "outputAliPWG4HighPtQAMCTestTrain.root";
-  AliAnalysisDataContainer *cout_hist0 = mgr->CreateContainer("qa_histsMC", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
-  AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer("qa_histsMCITS", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);  
+  outputfile += Form(":PWG4_HighPtQAMC%d",trackType);
+  
+  AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("qa_histsMC%d",trackType), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
+  AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer(Form("qa_histsMCITS%d",trackType), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);  
 
   mgr->AddTask(taskPWG4QAMC);
   mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
-  mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist0);
+  mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist1);
   mgr->ConnectOutput(taskPWG4QAMC,1,cout_hist2);
 
-  // Return task pointer at the end
+    // Return task pointer at the end
   return taskPWG4QAMC;
 }