]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/PHOS_PbPb/AddTaskPHOSPi0Flow.C
Added to PHOS AliCaloPhoton.h, functionality for having it remember originating cluster.
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / AddTaskPHOSPi0Flow.C
1 AliAnalysisTaskPi0Flow* AddTaskPHOSPi0Flow (const char* name = "PHOSPi0Flow",
2                                             const char* options = "",
3                                             UInt_t offlineTriggerMask = AliVEvent::kCentral )
4 {
5   //Add a task AliAnalysisTaskPi0Flow to the analysis train
6   //Author: Henrik Qvigstad
7   /* $Id$ */
8
9   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10   if (!mgr) {
11     ::Error("AddTaskPHOSPi0Flow", "No analysis manager to connect to");
12     return NULL;
13   }
14   
15   if (!mgr->GetInputEventHandler()) {
16     ::Error("AddTaskPHOSPi0Flow", "This task requires an input event handler");
17     return NULL;
18   }
19
20   AliAnalysisTaskPi0Flow* task = new AliAnalysisTaskPi0Flow(Form("%sTask", name));
21
22   // Binning
23   // Central:
24   if( AliVEvent::kCentral == offlineTriggerMask ) {
25     const int nbins = 4;
26     Double_t cbin[nbins+1] = {0., 5., 8., 9., 10.};
27     TArrayD tbin(nbins+1, cbin);
28     Int_t    nMixed[nbins] = {6, 6, 6, 6};
29     TArrayI tNMixed(nbins, nMixed);
30     task->SetCentralityBinning(tbin, tNMixed);
31   }
32   // SemiCentral:
33   if( AliVEvent::kSemiCentral == offlineTriggerMask ) {
34     const int nbins = 8;
35     Double_t cbin[nbins+1] = {10., 11., 12., 13., 15., 20., 30., 40., 50.};
36     TArrayD tbin(nbins+1, cbin);
37     Int_t    nMixed[nbins] = {40, 40, 40, 40, 40, 40, 40, 40};
38     TArrayI tNMixed(nbins, nMixed);
39     task->SetCentralityBinning(tbin, tNMixed);
40   }
41   // MB or PHOS Trigger:
42   if( AliVEvent::kMB == offlineTriggerMask || AliVEvent::kPHOSPb == offlineTriggerMask ) {
43     const int nbins = 8;
44     Double_t cbin[nbins+1] = {0., 10., 20., 30., 40., 50., 60., 70., 80.};
45     TArrayD tbin(nbins+1, cbin);
46     Int_t    nMixed[nbins] = {6, 40, 40, 40, 40, 80, 80, 80};
47     TArrayI tNMixed(nbins, nMixed);
48     task->SetCentralityBinning(tbin, tNMixed);
49   }
50
51   //task->SetEventMixingRPBinning(9);
52   //task->SetMixingArraysLength(10);
53   task->SelectCollisionCandidates(offlineTriggerMask);
54   
55   if( TString(options).Contains("11h") )
56     task->SetPeriod( AliAnalysisTaskPi0Flow::kLHC11h );
57
58   mgr->AddTask(task);
59   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer() );
60   
61   TString cname(Form("%sCoutput1", name));
62   TString pname(Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name));
63   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(cname.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, pname.Data());
64   mgr->ConnectOutput(task, 1, coutput1);
65   
66   return task;
67 }