]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/macros/AddTaskPWG4HighPtTrackQA.C
removed printout
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskPWG4HighPtTrackQA.C
CommitLineData
7ef03cd9 1void AddTaskPWG4HighPtTrackQA(TString year = "2010", TString prodType = "LHC10h",Bool_t isPbPb = kTRUE, Int_t iAODanalysis = 0, Bool_t bReduced = kTRUE)
2{
3
4 if(year.Contains("2010")) {
5 if(bReduced)
6 AddTaskPWG4HighPtTrackQAAllReduced(prodType.Data(),isPbPb,iAODanalysis);
7 else
8 AddTaskPWG4HighPtTrackQAAll(prodType.Data(),isPbPb,iAODanalysis);
9 }
10 else if(year.Contains("2011")) {
11 if(bReduced)
12 AddTaskPWG4HighPtTrackQAAllReduced2011(prodType.Data(),isPbPb,iAODanalysis);
13 else
14 AddTaskPWG4HighPtTrackQAAll2011(prodType.Data(),isPbPb,iAODanalysis);
15 }
16
17}
18
5c77d274 19void AddTaskPWG4HighPtTrackQAAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
20{
c3ff0a6e 21
5c77d274 22 int cent = 10;
23
7ef03cd9 24 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
25 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
26 // AliPWG4HighPtTrackQA *taskTrackQA02cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,2);
27 // AliPWG4HighPtTrackQA *taskTrackQA10cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,0);
28 // AliPWG4HighPtTrackQA *taskTrackQA11cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,1);
29 // AliPWG4HighPtTrackQA *taskTrackQA20cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,0);
30 // AliPWG4HighPtTrackQA *taskTrackQA21cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1);
31 // AliPWG4HighPtTrackQA *taskTrackQA40cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0);
32 // AliPWG4HighPtTrackQA *taskTrackQA41cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,1);
33 // AliPWG4HighPtTrackQA *taskTrackQA50cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,5,0);
34 // AliPWG4HighPtTrackQA *taskTrackQA60cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,6,0);
35 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
36 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
37 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
dbf52bac 38
5c77d274 39 if(isPbPb) {
40 for(cent=0; cent<4; cent++) {
7ef03cd9 41 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
42 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
43 // AliPWG4HighPtTrackQA *taskTrackQA02 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,2);
44 // AliPWG4HighPtTrackQA *taskTrackQA10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,0);
45 // AliPWG4HighPtTrackQA *taskTrackQA11 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,1);
46 // AliPWG4HighPtTrackQA *taskTrackQA20 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,0);
47 // AliPWG4HighPtTrackQA *taskTrackQA21 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1);
48 // AliPWG4HighPtTrackQA *taskTrackQA40 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0);
49 // AliPWG4HighPtTrackQA *taskTrackQA41 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,1);
50 // AliPWG4HighPtTrackQA *taskTrackQA50 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,5,0);
51 // AliPWG4HighPtTrackQA *taskTrackQA60 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,6,0);
52 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
53 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
54 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
5c77d274 55 }
56 }
57
58}
59
a5e0d236 60void AddTaskPWG4HighPtTrackQAAll2011(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
61{
62
63 Int_t cent = 10;
64 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB;
65 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
66 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
67
68
7ef03cd9 69 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
70 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
71 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
72 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
73 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
a5e0d236 74
75 if(isPbPb) {
76 for(cent=0; cent<4; cent++) {
7ef03cd9 77 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
78 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
79 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
80 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
81 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
a5e0d236 82
83 if(cent==0) {
7ef03cd9 84 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
85 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
86 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
87 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
88 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
a5e0d236 89 }
90 else {
7ef03cd9 91 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
92 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
93 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
94 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
95 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
a5e0d236 96 }
97
98 }
99 }
100
101}
102
eb1739b7 103void AddTaskPWG4HighPtTrackQAAllReduced(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
b1041e3b 104{
105
106 int cent = 10;
107
108 if(isPbPb) {
109 for(cent=0; cent<4; cent++) {
7ef03cd9 110 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
111 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
112 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
113 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
114 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
b1041e3b 115 }
116 }
117
118}
119
a5e0d236 120void AddTaskPWG4HighPtTrackQAAllReduced2011(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
121{
122
123 int cent = 10;
124
125 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
126 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
127
7ef03cd9 128 AliPWG4HighPtTrackQA *taskTrackQA00C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
129 AliPWG4HighPtTrackQA *taskTrackQA01C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
130 AliPWG4HighPtTrackQA *taskTrackQA21C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1,iPhysicsSelectionFlagCentral);
131 AliPWG4HighPtTrackQA *taskTrackQA70C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
132 AliPWG4HighPtTrackQA *taskTrackQA71C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
133 AliPWG4HighPtTrackQA *taskTrackQA72C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
006b2a30 134
7ef03cd9 135 AliPWG4HighPtTrackQA *taskTrackQA00SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
136 AliPWG4HighPtTrackQA *taskTrackQA01SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
137 AliPWG4HighPtTrackQA *taskTrackQA21SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1,iPhysicsSelectionFlagSemiCentral);
138 AliPWG4HighPtTrackQA *taskTrackQA70SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
139 AliPWG4HighPtTrackQA *taskTrackQA71SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
140 AliPWG4HighPtTrackQA *taskTrackQA72SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
a5e0d236 141
142}
143
144
145void AddTaskPWG4HighPtTrackQAAOD(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 1, Int_t filterBit = 272)
c3ff0a6e 146{
147 AliPWG4HighPtTrackQA *taskTrackQA = AddTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,0,0,0);
148 taskTrackQA->SetFilterMask(filterBit);
149}
150
7ef03cd9 151AliPWG4HighPtTrackQA* ConfigureTaskPWG4HighPtTrackQA(char *prodType = "LHC10e14",Bool_t isPbPb=kTRUE,Int_t iAODanalysis = 0, Int_t centClass = 0, Int_t trackType = 0, Int_t cuts = 0, UInt_t iPhysicsSelectionFlag = AliVEvent::kMB)
5c77d274 152{
153 /*
154 trackType: 0 = global
155 1 = TPC stand alone
156 2 = TPC stand alone constrained to SPD vertex
aa3ba8d2 157 4 = TPC stand alone constrained to SPD vertex with QA track selection on global tracks
dbf52bac 158 5 = Hybrid tracks: constrained TPConly for which no tight ITS is available
159 6 = Hybrid tracks: constrained loose global for which no tight ITS is available
5a0bd31f 160 cuts: 0 (global) = standard ITSTPC2010 a la RAA analysis
161 1 (global) = ITSrefit, no SPD requirements -> standard for jet analysis
162 2 (global) = ITSrefit + no hits in SPD
163 3 (global) = standard ITS tight cuts with nCrossed rows cut for hybrid tracks
5c77d274 164 0 (TPC) = standard TPC + NClusters>70
165 1 (TPC) = standard TPC + NClusters>0 --> to study new TPC QA recommendations
dbf52bac 166 0 (hybrid 5) = constrained TPConly for which no tight ITS is available
167 0 (hybrid 6) = constrained loose global for which no tight ITS is available
5c77d274 168 */
169
380cff49 170 //Load common track cut class
5c4489e2 171 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
380cff49 172
5c77d274 173 // Creates HighPtTrackQA analysis task and adds it to the analysis manager.
174
175 // A. Get the pointer to the existing analysis manager via the static access method.
176 //==============================================================================
177 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
178 if (!mgr) {
179 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
180 return NULL;
181 }
182
183 // B. Check the analysis type using the event handlers connected to the analysis
184 // manager. The availability of MC handler can also be checked here.
185 //==============================================================================
186 if (!mgr->GetInputEventHandler()) {
187 ::Error("AddPWG4TaskHighPtTrackQA", "This task requires an input event handler");
188 return NULL;
189 }
190
191 // C. Create the task, add it to manager.
192 //===========================================================================
193
194 //CREATE THE CUTS -----------------------------------------------
195 //Use AliESDtrackCuts
196 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
b43ea0be 197 AliESDtrackCuts *trackCutsReject = 0x0;
dbf52bac 198 AliESDtrackCuts *trackCutsTPConly = new AliESDtrackCuts("AliESDtrackCutsTPConly","TPC only Cuts");
199
5c77d274 200 //Standard Cuts
201 //Set track cuts for global tracks
202 if(trackType==0 && cuts==0) {
380cff49 203 // tight global tracks - RAA analysis
5c4489e2 204 trackCuts = CreateTrackCutsPWGJE(1000);
5c77d274 205 }
206 if(trackType==0 && cuts==1) {
380cff49 207 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
5c4489e2 208 trackCuts = CreateTrackCutsPWGJE(10001006);
5c77d274 209 }
210 if(trackType==0 && cuts==2) {
5a0bd31f 211 //Cuts global tracks with ITSrefit requirement but without SPD
5c4489e2 212 trackCuts = CreateTrackCutsPWGJE(10011006);
380cff49 213 }
214 if(trackType==7 && cuts==0) {
215 // tight global tracks
5c4489e2 216 trackCuts = CreateTrackCutsPWGJE(10041006);
217 trackCutsReject = CreateTrackCutsPWGJE(1006);
b43ea0be 218 trackCutsReject->SetEtaRange(-0.9,0.9);
219 trackCutsReject->SetPtRange(0.15, 1e10);
5c77d274 220 }
380cff49 221 if(trackType==7 && cuts==1) {
dbf52bac 222 // tight global tracks
5c4489e2 223 trackCuts = CreateTrackCutsPWGJE(10011006);
b43ea0be 224 }
225 if(trackType==7 && cuts==2) {
226 // no requirements on SPD and ITSrefit failed
5c4489e2 227 trackCuts = CreateTrackCutsPWGJE(10041006); //no ITSrefit requirement filter 256
228 trackCutsReject = CreateTrackCutsPWGJE(10001006); //ITSrefit requirement filter 16
b43ea0be 229 trackCutsReject->SetEtaRange(-0.9,0.9);
230 trackCutsReject->SetPtRange(0.15, 1e10);
dbf52bac 231 }
232
5c77d274 233 if(trackType==1 && cuts==0) {
234 //Set track cuts for TPConly tracks
5c4489e2 235 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 236 }
237 if(trackType==1 && cuts==1) {
238 //Set track cuts for TPConly tracks
5c4489e2 239 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 240 }
241
242 if(trackType==2 && cuts==0) {
243 // Set track cuts for TPConly constrained tracks
5c4489e2 244 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 245 }
246 if(trackType==2 && cuts==1) {
247 //Set track cuts for TPConly constrained tracks
5c4489e2 248 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 249 }
aa3ba8d2 250
251 if(trackType==4 && cuts==0) {
252 // Set track cuts for TPConly constrained tracks
5c4489e2 253 trackCuts = CreateTrackCutsPWGJE(2001);
aa3ba8d2 254 }
255 if(trackType==4 && cuts==1) {
256 // Set track cuts for TPConly constrained tracks
5c4489e2 257 trackCuts = CreateTrackCutsPWGJE(10032001);
aa3ba8d2 258 }
dbf52bac 259 if(trackType==5 || trackType==6) {
260 // tight global tracks
5c4489e2 261 trackCuts = CreateTrackCutsPWGJE(1003);
380cff49 262
5c4489e2 263 trackCutsReject = CreateTrackCutsPWGJE(10021003);
380cff49 264
5c4489e2 265 trackCutsTPConly = CreateTrackCutsPWGJE(2002);
380cff49 266
b43ea0be 267 trackCutsReject->SetEtaRange(-0.9,0.9);
268 trackCutsReject->SetPtRange(0.15, 1e10);
380cff49 269
270 trackCutsTPConly->SetEtaRange(-0.9,0.9);
271 trackCutsTPConly->SetPtRange(0.15, 1e10);
272
dbf52bac 273 }
aa3ba8d2 274
5c77d274 275 trackCuts->SetEtaRange(-0.9,0.9);
276 trackCuts->SetPtRange(0.15, 1e10);
277
278
279
280 //Create the task
a5e0d236 281 AliPWG4HighPtTrackQA *taskPWG4TrackQA = new AliPWG4HighPtTrackQA(Form("AliPWG4HighPtTrackQACent%dTrack%dCuts%dPSF%d",centClass,trackType,cuts,iPhysicsSelectionFlag));
5c77d274 282 taskPWG4TrackQA->SetTrackType(trackType);
dbf52bac 283 taskPWG4TrackQA->SetCuts(trackCuts);
05a4d396 284 taskPWG4TrackQA->SetCutsITSLoose(trackCutsReject);
dbf52bac 285 taskPWG4TrackQA->SetCutsTPConly(trackCutsTPConly);
5c77d274 286
287 taskPWG4TrackQA->SetPtMax(100.);
288
289 if(iAODanalysis)
290 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kAOD);
291 else
292 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kESD);
293
294 if(isPbPb) {
295 taskPWG4TrackQA->SetIsPbPb(kTRUE);
296 taskPWG4TrackQA->SetCentralityClass(centClass);
297 }
aa3ba8d2 298 // taskPWG4TrackQA->SetSigmaConstrainedMax(5.);
5c77d274 299
a5e0d236 300 taskPWG4TrackQA->SelectCollisionCandidates(iPhysicsSelectionFlag);
5c77d274 301
302
303 // E. Create ONLY the output containers for the data produced by the task.
304 // Get and connect other common input/output containers via the manager as below
305 //==============================================================================
5c77d274 306 TString outputfile = AliAnalysisManager::GetCommonFileName();
a5e0d236 307 if(iPhysicsSelectionFlag == AliVEvent::kMB)
308 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%d",centClass,trackType,cuts);
309 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
310 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkCentral",centClass,trackType,cuts);
311 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
312 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkSemiCentral",centClass,trackType,cuts);
313
314 AliAnalysisDataContainer *cout_histQAtrack = 0x0;
315 if(iPhysicsSelectionFlag == AliVEvent::kMB)
316 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%d",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
317 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
318 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkCentral",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
319 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
320 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkSemiCentral",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
5c77d274 321
322 mgr->AddTask(taskPWG4TrackQA);
323 mgr->ConnectInput(taskPWG4TrackQA,0,mgr->GetCommonInputContainer());
324 mgr->ConnectOutput(taskPWG4TrackQA,1,cout_histQAtrack);
325
326 // Return task pointer at the end
327 return taskPWG4TrackQA;
328}