]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/AddTaskUE.C
Updates to run with deltas (L. Cunqueiro)
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskUE.C
CommitLineData
0651dd18 1\r
8dbd38af 2\r
3void ConfigTaskUE(AliAnalysisTaskUE * ueana ); // common config, extend with different cases\r
02480db2 4void SetTrackCuts(AliAnalysisTaskUE * ueana, Char_t *ct); //can be extended\r
8dbd38af 5void SetAnaTopology(AliAnalysisTaskUE * ueana, Char_t *at); //can be extended \r
02480db2 6void SetRegionType(AliAnalysisTaskUE * ueana, Char_t *rt); //can be extended \r
7void SetSorting(AliAnalysisTaskUE * ueana, Char_t *sort);\r
8dbd38af 8\r
02480db2 9AliAnalysisTaskUE *AddTaskUE(Char_t *jetBranch = "jets",Char_t *cuts = "ALICE", Char_t *anaTopology="LJ", Char_t *regionType="TRANSV", Char_t *sortBy="MSP")\r
0651dd18 10{\r
11// Creates a jet fider task, configures it and adds it to the analysis manager.\r
12\r
13 // Get the pointer to the existing analysis manager via the static access method.\r
14 //==============================================================================\r
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
16 if (!mgr) {\r
17 ::Error("AddTaskUE", "No analysis manager to connect to.");\r
18 return NULL;\r
19 } \r
20 \r
21 // Check the analysis type using the event handlers connected to the analysis manager.\r
22 //==============================================================================\r
23 if (!mgr->GetInputEventHandler()) {\r
24 ::Error("AddTaskUE", "This task requires an input event handler");\r
25 return NULL;\r
26 }\r
27\r
28 // Create the task and configure it.\r
29 //===========================================================================\r
30 \r
6b7d2b7e 31 TString jb(jetBranch);\r
8dbd38af 32 TString ct(cuts);\r
33 TString at(anaTopology);\r
34 TString rt(regionType);\r
02480db2 35 TString sort(sortBy);\r
36 TString name(Form("%s_%s_%s_%s_%s",jb.Data(),ct.Data(),at.Data(),rt.Data(),sort.Data()));\r
8dbd38af 37 \r
38 AliAnalysisTaskUE* ueana = new AliAnalysisTaskUE(Form("UEAnalysis_%s",name.Data()));\r
39 ueana->SelectAODBranch(jb.Data());\r
40 ConfigTaskUE(ueana);\r
41 SetTrackCuts(ueana,cuts);\r
42 SetAnaTopology(ueana,anaTopology);\r
43 SetRegionType(ueana,regionType);\r
02480db2 44 SetSorting(ueana,sortBy);\r
45\r
46 if( jb.Contains("ICDF") ) { // Use internal "Charged Particle Jet CDF" instead of jets from AOD\r
47 ueana->SetUseChPartJet( kTRUE );\r
48 ueana->SetPtMinChPartJet(0.5);\r
49 }\r
6b7d2b7e 50\r
8dbd38af 51 // ***** to be fixed *******\r
52 /*\r
6b7d2b7e 53 if(jb.Length()>0){\r
54 ueana->ReadDeltaAOD(kTRUE);\r
55 ueana->SelectDeltaAODBranch(jb.Data());\r
56 }\r
8dbd38af 57 */\r
6b7d2b7e 58\r
0651dd18 59 mgr->AddTask(ueana);\r
60 \r
61 // Create ONLY the output containers for the data produced by the task.\r
62 // Get and connect other common input/output containers via the manager as below\r
63 //==============================================================================\r
6b7d2b7e 64 AliAnalysisDataContainer *coutput1_UE = 0;\r
65 if(jb.Length()==0)coutput1_UE = mgr->CreateContainer("histosUE", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_UE",AliAnalysisManager::GetCommonFileName()));\r
8dbd38af 66 else coutput1_UE = mgr->CreateContainer(Form("histosUE_%s",name.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_UE_%s",AliAnalysisManager::GetCommonFileName(),name.Data()));\r
0651dd18 67 \r
68 mgr->ConnectInput (ueana, 0, mgr->GetCommonInputContainer());\r
69 mgr->ConnectOutput (ueana, 0, coutput1_UE );\r
70 \r
71 return ueana;\r
72}\r
73\r
0651dd18 74void ConfigTaskUE(AliAnalysisTaskUE * ueana){\r
8dbd38af 75 // common config,\r
6b7d2b7e 76 ueana->SetDebugLevel(0); \r
874cf8a6 77 ueana->SetPtRangeInHist(100, 0., 100.);\r
0651dd18 78}\r
8dbd38af 79\r
80//------------------------------------------------------------------------\r
81SetTrackCuts(AliAnalysisTaskUE * ueana, Char_t *ct){\r
82 \r
83 ueana->SetFilterBit(16); // ITS refit\r
84\r
85 switch (ct) {\r
86 case "ALICE":\r
87 ueana->SetTrackPtCut(0.1);\r
88 ueana->SetTrackEtaCut(0.9);\r
89 break;\r
90 \r
91 case "CDF":\r
2639cc20 92 ueana->SetTrackPtCut(0.5);\r
93 ueana->SetTrackEtaCut(0.9); // meaningful only for pure MC\r
02480db2 94 break;\r
8dbd38af 95\r
96 default:\r
97 Printf("\n >>>>>>> AddTaskUE Error Wrong Set of Track Cuts selected\n");\r
98 break;\r
99 }\r
100}\r
101\r
102//------------------------------------------------------------------------\r
103//------------------------------------------------------------------------\r
104SetAnaTopology(AliAnalysisTaskUE * ueana, Char_t *at){\r
105\r
106 switch (at) {\r
107 case "LJ": // leading jet\r
02480db2 108 ueana->SetAnaTopology(1);\r
109 ueana->SetJet1EtaCut(0.5);\r
110 break;\r
111\r
112 case "LJCC": // leading jet with charged cluster\r
113 ueana->SetAnaTopology(1);\r
114 ueana->SetJet1EtaCut(0.9); // CDF allow jet radius extend ouside |eta|<1\r
8dbd38af 115 break;\r
116 \r
117 case "BB": // back-to-back\r
02480db2 118 ueana->SetAnaTopology(2);\r
119 ueana->SetJet1EtaCut(0.5);\r
120 ueana->SetJet2DeltaPhiCut(2.616);\r
121 break;\r
122\r
123 case "BE": // back-to-back exclusive\r
124 ueana->SetAnaTopology(3);\r
125 ueana->SetJet1EtaCut(0.5);\r
8dbd38af 126 ueana->SetJet2DeltaPhiCut(2.616);\r
02480db2 127 ueana->SetJet3PtCut(10.);\r
128 break;\r
129\r
20066cb7 130 case "MP_eta05":\r
02480db2 131 ueana->SetAnaTopology(4);\r
132 ueana->SetJet1EtaCut(0.9);\r
133 break;\r
8dbd38af 134\r
20066cb7 135 case "MP_eta09": // max Pt charged particle\r
136 ueana->SetAnaTopology(4);\r
137 ueana->SetJet1EtaCut(0.9);\r
138 break;\r
139\r
140\r
8dbd38af 141 default:\r
142 Printf("\n >>>>>>> AddTaskUE Error Wrong Analysis Topology selected\n");\r
143 break;\r
144 }\r
145\r
146}\r
147\r
148//------------------------------------------------------------------------\r
149SetRegionType(AliAnalysisTaskUE * ueana, Char_t *rt){\r
150\r
151 switch (rt) {\r
152 case "TRANSV": \r
153 ueana->SetRegionType(1); \r
154 break;\r
155 \r
156 case "CONE":\r
157 ueana->SetRegionType(2); \r
158 ueana->SetConeRadius(0.4); \r
02480db2 159 break;\r
8dbd38af 160\r
161 default:\r
162 Printf("\n >>>>>>> AddTaskUE Error Wrong Region Type selected\n");\r
163 break;\r
164 }\r
165} \r
166\r
02480db2 167//------------------------------------------------------------------------\r
168SetSorting(AliAnalysisTaskUE * ueana, Char_t *sort){\r
169 \r
170 switch (sort){\r
171 // Minimum zone is selected per quantity type\r
172 case "MQA":\r
173 ueana->SetPtSumOrdering(1); \r
174 break;\r
175 \r
176 // Minimum Zone is selected at the region having lowest pt summation of all tracks \r
177 case "MSP":\r
178 ueana->SetPtSumOrdering(2);\r
179 break;\r
180 \r
181 // Minimum Zone is selected at the region having lowest average pt per track\r
182 case "MAP":\r
183 ueana->SetPtSumOrdering(3);\r
184 break;\r
185 \r
186 default:\r
187 Printf("\n >>>>>>> AddTaskUE Error Wrong Sorting selected\n"); \r
188 Printf("\n >>>>>>> AddTaskUE Sort by Set to MSP \n");\r
189 ueana->SetPtSumOrdering(2);\r
190 break;\r
191 }\r
192}\r