Added AddTaskPHOSPi0pPb.C, from P. Batzing <paul.christoph.batzing@cern.ch>
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_pPb / AddTaskPHOSPi0pPb.C
1 AliAnalysisTaskPi0Flow* AddTaskPHOSPi0pPb (const char* name = "PHOSPi0pPb",
2                                             const char* options = "",
3                                            UInt_t offlineTriggerMask = AliVEvent::kINT7 )
4 {
5   //Add a task AliAnalysisTaskPi0Flow to the analysis train, for LHC13 PbP data
6   //Author: Paul Baetzing
7   /* $Id$ */
8
9   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10   if (!mgr) {
11     ::Error("AddTaskPHOSPi0pPb", "No analysis manager to connect to");
12     return NULL;
13   }
14   
15   if (!mgr->GetInputEventHandler()) {
16     ::Error("AddTaskPHOSPi0pPb", "This task requires an input event handler");
17     return NULL;
18   }
19
20   AliAnalysisTaskPi0Flow* task = new AliAnalysisTaskPi0Flow(Form("%sTask", name));
21
22   // MB or PHOS Trigger:
23   if( AliVEvent::kINT7 == offlineTriggerMask || AliVEvent::kPHI7 == offlineTriggerMask ) {
24     const int nbins = 5;
25     Double_t cbin[nbins+1] = {0., 20., 40., 60., 80., 90.};
26     TArrayD tbin(nbins+1, cbin);
27     Int_t    nMixed[nbins] = {40, 40, 40, 40, 40};
28     TArrayI tNMixed(nbins, nMixed);
29     task->SetCentralityBinning(tbin, tNMixed);
30   }
31
32   task->SetEventMixingRPBinning(1);
33   task->SelectCollisionCandidates(offlineTriggerMask);
34   
35
36   mgr->AddTask(task);
37   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer() );
38   
39   TString cname(Form("%sCoutput1", name));
40   TString pname(Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name));
41   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(cname.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, pname.Data());
42   mgr->ConnectOutput(task, 1, coutput1);
43   
44   return task;
45 }