]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/PHOSTasks/PHOS_PbPb/AddTaskPHOSPi0Flow.C
Added support for merging centralitites, and extended pt binning.
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / AddTaskPHOSPi0Flow.C
index 1307c669f6edac7a2f5fbc6ae4689582a29cb5df..dc8bcbd832b72ecbbeb49913f742f0b36627f100 100644 (file)
@@ -1,5 +1,6 @@
-AliAnalysisTaskPi0Flow* AddTaskPHOSPi0Flow (char* fname="PHOSPi0Flow.root",
-                                            char* contname="PHOSPi0FlowResults")
+AliAnalysisTaskPi0Flow* AddTaskPHOSPi0Flow (const char* name = "PHOSPi0Flow",
+                                           const char* options = "",
+                                           UInt_t offlineTriggerMask = AliVEvent::kCentral )
 {
   //Add a task AliAnalysisTaskPi0Flow to the analysis train
   //Author: Henrik Qvigstad
@@ -16,22 +17,30 @@ AliAnalysisTaskPi0Flow* AddTaskPHOSPi0Flow (char* fname="PHOSPi0Flow.root",
     return NULL;
   }
 
-  AliAnalysisTaskPi0Flow* task = new AliAnalysisTaskPi0Flow("PHOSPi0Flow");
+  AliAnalysisTaskPi0Flow* task = new AliAnalysisTaskPi0Flow(Form("%sTask", name));
+
   // Reduce binning for reduece memory footprint
-  const int kNEdges = 4;
-  Double_t cbin[kNEdges] = {0., 10., 40., 80.};
-  TArrayD tbin(kNEdges, cbin);
-  task->SetCentralityBinning(tbin);
+  const int nbins = 3;
+  Double_t cbin[nbins+1] = {0., 10., 40., 80.};
+  TArrayD tbin(nbins+1, cbin);
+  Int_t    nMixed[nbins] = {4, 20, 50};
+  TArrayI tNMixed(nbins, nMixed);
+  task->SetCentralityBinning(tbin, tNMixed);
+
   //task->SetEventMixingRPBinning(9);
   //task->SetMixingArraysLength(10);
-  task->SelectCollisionCandidates(AliVEvent::kCentral);
+  task->SelectCollisionCandidates(offlineTriggerMask);
   
-  mgr->AddTask(task);
+  if( TString(options).Contains("11h") )
+    task->SetPeriod( AliAnalysisTaskPi0Flow::kLHC11h );
 
+  mgr->AddTask(task);
   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer() );
-
-  // container output into particular file
-  mgr->ConnectOutput(task, 1, mgr->CreateContainer(contname,TList::Class(), AliAnalysisManager::kOutputContainer, fname));
+  
+  TString cname(Form("%sCoutput1", name));
+  TString pname(Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name));
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(cname.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, pname.Data());
+  mgr->ConnectOutput(task, 1, coutput1);
   
   return task;
 }