]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FLOW/macros/AddTaskCMEv2A.C
new code: Chiral Magnetic Wave analysis (from Ron Belmont)
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / AddTaskCMEv2A.C
1 AliAnalysisTaskCMEv2A *AddTaskCMEv2A
2 (
3  int debug = 0,
4  bool doMC = true,
5  /* ULong64_t trigger = AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral, */
6  ULong64_t trigger = AliVEvent::kMB,
7  bool dopupcut = true,
8  bool doeffcorr = true,
9  int centhandle = 1,
10  int fbit = 128,
11  float zvtxcut = 10.0,
12  float centcut = 5.0,
13  int nclscut = 60,
14  float dcacutz = 50.0,
15  float dcacutxy = 50.0,
16  bool dodcacuts = false,
17  float outeta = 0.8,
18  float ineta = 0.5,
19  float excleta = 0.0,
20  float ptmin = 0.2,
21  float ptmax = 5.0,
22  bool doacuts = true,
23  float nspid = 2.0,
24  int cbinlo = 3,
25  int cbinhi = 4,
26  bool donested = true,
27  bool dopaircut = false,
28  float centlo = 20.0,
29  float centhi = 60.0,
30  char *name = "TaskCMEv2A"
31 )
32 {
33
34
35   // --- get analysis manager
36   AliAnalysisManager *aam = AliAnalysisManager::GetAnalysisManager();
37   if(!aam) 
38     {
39       cout<<"No analysis manager, now dying..."<<endl;
40       return NULL;
41     }  
42   cout<<"Memory address of AliAnalysisManager is "<<aam<<endl;
43
44
45   // --- check that input handler exists
46   if(!aam->GetInputEventHandler())
47     {
48       cout<<"No input even handler, now dying..."<<endl;
49       return NULL;
50     }   
51
52
53   // --- instantiate analysis task
54   AliAnalysisTaskCMEv2A *task = new AliAnalysisTaskCMEv2A(name);
55   cout<<"Memory address of task is "<<task<<endl;
56   // --- set parameters
57   task->SetParameters();
58   // --- set task methods as needed
59   task->SetDebug(debug);
60   task->SetDoMC(doMC);
61   task->SetTrigger(trigger);
62   task->SetDoEffCorrection(doeffcorr);
63   task->SetCentHandle(centhandle);
64   task->SetFilterBit(fbit);
65   task->SetZvtxCut(zvtxcut);
66   task->SetCentCut(centcut);
67   task->SetNclsCut(nclscut);
68   task->SetDCAcutZ(dcacutz);
69   task->SetDCAcutXY(dcacutxy);
70   task->SetDoDCAcuts(dodcacuts);
71   task->SetOutEta(outeta);
72   task->SetInEta(ineta);
73   task->SetExclEta(excleta);
74   task->SetPtMin(ptmin);
75   task->SetPtMax(ptmax);
76   task->SetDoAcuts(doacuts);
77   task->SetSigmaPID(nspid);
78   task->SetCentBinLow(cbinlo);
79   task->SetCentBinHigh(cbinhi);
80   task->SetDoNested(donested);
81   task->SetDoPairCut(dopaircut);
82   task->SetCentDCLow(centlo);
83   task->SetCentDCHigh(centhi);
84
85
86   // --- get input and output managers
87   AliAnalysisDataContainer *aadci = aam->GetCommonInputContainer();
88   AliAnalysisDataContainer *aadco = aam->CreateContainer
89     (
90      Form("List%s",name), 
91      TList::Class(),    
92      AliAnalysisManager::kOutputContainer, 
93      //Form("Out%s_%s",name,AliAnalysisManager::GetCommonFileName())
94      Form("Out%s.root",name)
95      );
96   // observe that ".root" is automatically appended
97
98
99   // --- add task and connect input and output managers
100   aam->AddTask(task);
101   aam->ConnectInput(task,0,aadci);
102   aam->ConnectOutput(task,1,aadco);
103
104   // --- return pointer to Task
105   return task;
106
107 }