]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/macros/AddTaskPWG4HighPtTrackQA.C
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskPWG4HighPtTrackQA.C
CommitLineData
24686ac7 1void AddTaskPWG4HighPtTrackQA(TString prodType = "LHC10h", Int_t iAODanalysis = 0, Bool_t isPbPb=kTRUE, Bool_t bReduced = kTRUE, Int_t filterBit = 272)
7ef03cd9 2{
e49861e4 3 if(iAODanalysis==0) { //run on ESDs
2ac8d044 4 if(prodType.EqualTo("LHC10h") || prodType.EqualTo("LHC11a")) {
e49861e4 5 if(bReduced)
6 AddTaskPWG4HighPtTrackQAAllReduced(prodType.Data(),isPbPb,iAODanalysis);
7 else
8 AddTaskPWG4HighPtTrackQAAll(prodType.Data(),isPbPb,iAODanalysis);
9 }
2ac8d044 10 else if(prodType.Contains("LHC12") || prodType.Contains("LHC13")) {
11 AddTaskPWG4HighPtTrackQApPb();
12 } else {
e49861e4 13 if(bReduced)
14 AddTaskPWG4HighPtTrackQAAllReduced2011(prodType.Data(),isPbPb,iAODanalysis);
15 else
16 AddTaskPWG4HighPtTrackQAAll2011(prodType.Data(),isPbPb,iAODanalysis);
17 }
7ef03cd9 18 }
2ac8d044 19 else if(iAODanalysis==1) { //run on AODs
e3d92bb5 20 AddTaskPWG4HighPtTrackQAAOD(prodType.Data(),isPbPb,iAODanalysis,filterBit);
7ef03cd9 21 }
7ef03cd9 22}
23
41cabc8e 24void AddTaskPWG4HighPtTrackQApPb(char *prodType = "LHC13b") {
25
26 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,0,5,AliVEvent::kINT7);
27 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,7,5,AliVEvent::kINT7);
28
29 if(!strcmp(prodType,"LHC13d") || !strcmp(prodType,"LHC13e") || !strcmp(prodType,"LHC13f")) {
30 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,0,5,AliVEvent::kEMCEJE);
31 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,7,5,AliVEvent::kEMCEJE);
32 }
41cabc8e 33}
34
35
5c77d274 36void AddTaskPWG4HighPtTrackQAAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
37{
c3ff0a6e 38
2ac8d044 39 Int_t cent = 10;
5c77d274 40
2ac8d044 41 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0); //RAA track cuts
42 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1); //global hybrid unconstrained
43 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0); //global hybrid constrained category 1
44 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1); //global hybrid constrained category 2
45 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2); //global hybrid constrained all
dbf52bac 46
5c77d274 47 if(isPbPb) {
48 for(cent=0; cent<4; cent++) {
7ef03cd9 49 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
50 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
7ef03cd9 51 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
52 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
53 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
5c77d274 54 }
55 }
5c77d274 56}
57
03372fd1 58void AddTaskPWG4HighPtTrackQAAll2011(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
a5e0d236 59{
60
61 Int_t cent = 10;
62 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB;
63 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
64 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
65
66
7ef03cd9 67 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
68 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
69 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
70 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
71 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
e49861e4 72
73 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
74 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
75 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
a5e0d236 76
77 if(isPbPb) {
78 for(cent=0; cent<4; cent++) {
7ef03cd9 79 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
80 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
81 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
82 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
83 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
e49861e4 84 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
85 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
86 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
a5e0d236 87
88 if(cent==0) {
7ef03cd9 89 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
90 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
91 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
92 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
93 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
e49861e4 94 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
95 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
96 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
a5e0d236 97 }
98 else {
7ef03cd9 99 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
100 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
101 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
102 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
103 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
e49861e4 104 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
105 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
106 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
a5e0d236 107 }
a5e0d236 108 }
109 }
a5e0d236 110}
111
03372fd1 112void AddTaskPWG4HighPtTrackQAAllReduced(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
b1041e3b 113{
114
115 int cent = 10;
116
117 if(isPbPb) {
118 for(cent=0; cent<4; cent++) {
7ef03cd9 119 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
120 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
121 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
122 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
123 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
b1041e3b 124 }
125 }
b1041e3b 126}
127
03372fd1 128
129void AddTaskPWG4HighPtTrackQALHC11hLTS(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
130{
131
132 Int_t cent = 10;
133 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral;
134 UInt_t iPhysicsSelectionFlagEMCEJE = AliVEvent::kEMCEJE;
135
03372fd1 136 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
137 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
138 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
139 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
140 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
141 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
142 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
143 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
03372fd1 144
03372fd1 145 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
146 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
147 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
148 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
149 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
150 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
151 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
152 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
03372fd1 153
154 if(isPbPb) {
155 for(cent=0; cent<4; cent++) {
03372fd1 156 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
157 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
158 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
159 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
160 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
161 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
162 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
163 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
03372fd1 164
165 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
166 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
167 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
168 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
169 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
170 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
171 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
172 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
03372fd1 173 }
174 }
03372fd1 175}
176
a5e0d236 177void AddTaskPWG4HighPtTrackQAAllReduced2011(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
178{
179
180 int cent = 10;
181
182 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
183 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
184
7ef03cd9 185 AliPWG4HighPtTrackQA *taskTrackQA00C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
186 AliPWG4HighPtTrackQA *taskTrackQA01C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
7ef03cd9 187 AliPWG4HighPtTrackQA *taskTrackQA70C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
188 AliPWG4HighPtTrackQA *taskTrackQA71C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
189 AliPWG4HighPtTrackQA *taskTrackQA72C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
e49861e4 190 AliPWG4HighPtTrackQA *taskTrackQA05C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
191 AliPWG4HighPtTrackQA *taskTrackQA74C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
192 AliPWG4HighPtTrackQA *taskTrackQA75C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
006b2a30 193
7ef03cd9 194 AliPWG4HighPtTrackQA *taskTrackQA00SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
195 AliPWG4HighPtTrackQA *taskTrackQA01SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
7ef03cd9 196 AliPWG4HighPtTrackQA *taskTrackQA70SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
197 AliPWG4HighPtTrackQA *taskTrackQA71SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
198 AliPWG4HighPtTrackQA *taskTrackQA72SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
e49861e4 199 AliPWG4HighPtTrackQA *taskTrackQA05SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
200 AliPWG4HighPtTrackQA *taskTrackQA74SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
201 AliPWG4HighPtTrackQA *taskTrackQA75SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
a5e0d236 202}
203
1ee9428e 204void AddTaskPWG4HighPtTrackQAAOD(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 1, Int_t filterBit = 768)
b64acfb6 205{
2ac8d044 206 UInt_t iPhysicsSelectionFlagMB = AliVEvent::kMB;
207 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
b64acfb6 208 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
2ac8d044 209 UInt_t iPhysicsSelectionFlagINT7 = AliVEvent::kINT7;
210 UInt_t iPhysicsSelectionFlagEMCEJE = AliVEvent::kEMCEJE;
b64acfb6 211
212 Int_t cent = 10;
213
1ee9428e 214 Int_t filterBit1 = 256; //standard global tracks
215 Int_t filterBit2 = 512; //complementary tracks
216
217 Bool_t bIncludeNoITS = kFALSE;
218
b64acfb6 219 TString strRunPeriod = TString(prodType);
1ee9428e 220 strRunPeriod.ToLower();
221
188088a8 222 if (strRunPeriod == "lhc10h" || strRunPeriod == "lhc11h" ||
f30ec8ba 223 strRunPeriod == "lhc12a" || strRunPeriod == "lhc12b" || strRunPeriod == "lhc12c" || strRunPeriod == "lhc12d" ||
224 strRunPeriod == "lhc12e" || strRunPeriod == "lhc12f" || strRunPeriod == "lhc12g" || strRunPeriod == "lhc12g" ||
225 strRunPeriod == "lhc12h" || strRunPeriod == "lhc12i" ||
226 strRunPeriod == "lhc13b" || strRunPeriod == "lhc13c" || strRunPeriod == "lhc13d" || strRunPeriod == "lhc13e" ||
227 strRunPeriod == "lhc13f" || strRunPeriod == "lhc13g" ||
228 strRunPeriod == "lhc12a15e" || strRunPeriod == "lhc13b4" || strRunPeriod == "lhc13b4_fix" ||
2866283a 229 strRunPeriod == "lhc13b4_plus" || strRunPeriod == "lhc12a15f" || strRunPeriod.Contains("lhc12a17") || strRunPeriod.Contains("lhc14a1")) {
1ee9428e 230 filterBit = 768;
231 filterBit1 = 256;
232 filterBit2 = 512;
233 bIncludeNoITS = kFALSE;
2ac8d044 234 if(strRunPeriod == "lhc10h") bIncludeNoITS = kTRUE;
1ee9428e 235 }
8040bc2f 236 else if (strRunPeriod == "lhc11a" || strRunPeriod == "lhc10hold" || strRunPeriod == "lhc12a15a" || strRunPeriod.Contains("lhc11a2")) {
2ac8d044 237 filterBit = 272;
1ee9428e 238 filterBit1 = 16;
239 filterBit2 = 256;
240 bIncludeNoITS = kTRUE;
241 }
b64acfb6 242
243 if(isPbPb) {
244 for(cent=0; cent<4; cent++) {
245 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
246 taskTrackQAMB->SetFilterMask(filterBit);
1ee9428e 247 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
248
249 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagMB);
250 taskTrackQAMB1->SetFilterMask(filterBit1);
251 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
252
253 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagMB);
254 taskTrackQAMB2->SetFilterMask(filterBit2);
255 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
b64acfb6 256 }
257
258 cent = 10;
259
1ee9428e 260 if(strRunPeriod.Contains("lhc11h")) {
b64acfb6 261 AliPWG4HighPtTrackQA *taskTrackQAC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
262 taskTrackQAC->SetFilterMask(filterBit);
1ee9428e 263 taskTrackQAC->SetIncludeNoITS(bIncludeNoITS);
264
265 AliPWG4HighPtTrackQA *taskTrackQAC1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
266 taskTrackQAC1->SetFilterMask(filterBit1);
267 taskTrackQAC1->SetIncludeNoITS(bIncludeNoITS);
268
269 AliPWG4HighPtTrackQA *taskTrackQAC2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
270 taskTrackQAC2->SetFilterMask(filterBit2);
271 taskTrackQAC2->SetIncludeNoITS(bIncludeNoITS);
584095b1 272
b64acfb6 273 AliPWG4HighPtTrackQA *taskTrackQASC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
274 taskTrackQASC->SetFilterMask(filterBit);
1ee9428e 275 taskTrackQASC->SetIncludeNoITS(bIncludeNoITS);
276
277 AliPWG4HighPtTrackQA *taskTrackQASC1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
278 taskTrackQASC1->SetFilterMask(filterBit1);
279 taskTrackQASC1->SetIncludeNoITS(bIncludeNoITS);
280
281 AliPWG4HighPtTrackQA *taskTrackQASC2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
282 taskTrackQASC2->SetFilterMask(filterBit2);
283 taskTrackQASC2->SetIncludeNoITS(bIncludeNoITS);
b64acfb6 284 }
285 }
286 else {
287 cent = 10;
ed16543c 288
188088a8 289 if(strRunPeriod.Contains("lhc13") || strRunPeriod.Contains("lhc12")) {
ed16543c 290 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagINT7);
1ee9428e 291 taskTrackQAMB->SetFilterMask(filterBit);
292 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
ed16543c 293
294 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagINT7);
1ee9428e 295 taskTrackQAMB1->SetFilterMask(filterBit1);
296 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
ed16543c 297
298 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagINT7);
1ee9428e 299 taskTrackQAMB2->SetFilterMask(filterBit2);
300 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
ed16543c 301
188088a8 302 if(strRunPeriod.EqualTo("lhc13d") || strRunPeriod.EqualTo("lhc13e") || strRunPeriod.EqualTo("lhc13f") || strRunPeriod.EqualTo("lhc13g")
303 || strRunPeriod.Contains("lhc12")) {
ed16543c 304 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
1ee9428e 305 taskTrackQAEMCEJE->SetFilterMask(filterBit);
306 taskTrackQAEMCEJE->SetIncludeNoITS(bIncludeNoITS);
584095b1 307
ed16543c 308 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
1ee9428e 309 taskTrackQAEMCEJE1->SetFilterMask(filterBit1);
310 taskTrackQAEMCEJE1->SetIncludeNoITS(bIncludeNoITS);
584095b1 311
ed16543c 312 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
1ee9428e 313 taskTrackQAEMCEJE2->SetFilterMask(filterBit2);
314 taskTrackQAEMCEJE2->SetIncludeNoITS(bIncludeNoITS);
ed16543c 315 }
316 }
317 else {
318 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
319 taskTrackQAMB->SetFilterMask(filterBit);
1ee9428e 320 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
321
322 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagMB);
323 taskTrackQAMB1->SetFilterMask(filterBit1);
324 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
325
326
327 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagMB);
328 taskTrackQAMB2->SetFilterMask(filterBit2);
329 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
ed16543c 330 }
b64acfb6 331 }
c3ff0a6e 332}
333
7ef03cd9 334AliPWG4HighPtTrackQA* 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 335{
336 /*
337 trackType: 0 = global
338 1 = TPC stand alone
339 2 = TPC stand alone constrained to SPD vertex
aa3ba8d2 340 4 = TPC stand alone constrained to SPD vertex with QA track selection on global tracks
dbf52bac 341 5 = Hybrid tracks: constrained TPConly for which no tight ITS is available
342 6 = Hybrid tracks: constrained loose global for which no tight ITS is available
5a0bd31f 343 cuts: 0 (global) = standard ITSTPC2010 a la RAA analysis
344 1 (global) = ITSrefit, no SPD requirements -> standard for jet analysis
345 2 (global) = ITSrefit + no hits in SPD
346 3 (global) = standard ITS tight cuts with nCrossed rows cut for hybrid tracks
5c77d274 347 0 (TPC) = standard TPC + NClusters>70
348 1 (TPC) = standard TPC + NClusters>0 --> to study new TPC QA recommendations
dbf52bac 349 0 (hybrid 5) = constrained TPConly for which no tight ITS is available
350 0 (hybrid 6) = constrained loose global for which no tight ITS is available
5c77d274 351 */
352
380cff49 353 //Load common track cut class
5c4489e2 354 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
380cff49 355
5c77d274 356 // Creates HighPtTrackQA analysis task and adds it to the analysis manager.
357
358 // A. Get the pointer to the existing analysis manager via the static access method.
359 //==============================================================================
360 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
361 if (!mgr) {
362 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
363 return NULL;
364 }
365
366 // B. Check the analysis type using the event handlers connected to the analysis
367 // manager. The availability of MC handler can also be checked here.
368 //==============================================================================
369 if (!mgr->GetInputEventHandler()) {
370 ::Error("AddPWG4TaskHighPtTrackQA", "This task requires an input event handler");
371 return NULL;
372 }
373
374 // C. Create the task, add it to manager.
375 //===========================================================================
376
377 //CREATE THE CUTS -----------------------------------------------
378 //Use AliESDtrackCuts
379 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
b43ea0be 380 AliESDtrackCuts *trackCutsReject = 0x0;
dbf52bac 381 AliESDtrackCuts *trackCutsTPConly = new AliESDtrackCuts("AliESDtrackCutsTPConly","TPC only Cuts");
382
5c77d274 383 //Standard Cuts
384 //Set track cuts for global tracks
385 if(trackType==0 && cuts==0) {
380cff49 386 // tight global tracks - RAA analysis
5c4489e2 387 trackCuts = CreateTrackCutsPWGJE(1000);
5c77d274 388 }
389 if(trackType==0 && cuts==1) {
380cff49 390 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
5c4489e2 391 trackCuts = CreateTrackCutsPWGJE(10001006);
5c77d274 392 }
e49861e4 393 if(trackType==0 && cuts==5) {
91ebcb5d 394 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis + NCrossedRowsCut>70 recommended in 2011
f8bd6b9f 395 trackCuts = CreateTrackCutsPWGJE(10001008);
e49861e4 396 }
bebff67a 397 if(trackType==0 && cuts==6) {
398 //Cuts global tracks with ITSrefit requirement and no SPDrequirement for jet analysis + NCrossedRowsCut>70 recommended in 2011
399 trackCuts = CreateTrackCutsPWGJE(10051008);
400 }
e49861e4 401
5c77d274 402 if(trackType==0 && cuts==2) {
5a0bd31f 403 //Cuts global tracks with ITSrefit requirement but without SPD
5c4489e2 404 trackCuts = CreateTrackCutsPWGJE(10011006);
380cff49 405 }
406 if(trackType==7 && cuts==0) {
407 // tight global tracks
5c4489e2 408 trackCuts = CreateTrackCutsPWGJE(10041006);
409 trackCutsReject = CreateTrackCutsPWGJE(1006);
b43ea0be 410 trackCutsReject->SetEtaRange(-0.9,0.9);
411 trackCutsReject->SetPtRange(0.15, 1e10);
5c77d274 412 }
e49861e4 413 if(trackType==7 && cuts==4) {
414 // tight global tracks + NCrossedRowsCut>120 recommended in 2011
f8bd6b9f 415 trackCuts = CreateTrackCutsPWGJE(10041008);
416 trackCutsReject = CreateTrackCutsPWGJE(1008);
e49861e4 417 trackCutsReject->SetEtaRange(-0.9,0.9);
418 trackCutsReject->SetPtRange(0.15, 1e10);
419 }
380cff49 420 if(trackType==7 && cuts==1) {
dbf52bac 421 // tight global tracks
5c4489e2 422 trackCuts = CreateTrackCutsPWGJE(10011006);
b43ea0be 423 }
e49861e4 424 if(trackType==7 && cuts==5) {
91ebcb5d 425 // tight global tracks + NCrossedRowsCut>70 recommended in 2011
f8bd6b9f 426 trackCuts = CreateTrackCutsPWGJE(10011008);
e49861e4 427 }
b43ea0be 428 if(trackType==7 && cuts==2) {
429 // no requirements on SPD and ITSrefit failed
5c4489e2 430 trackCuts = CreateTrackCutsPWGJE(10041006); //no ITSrefit requirement filter 256
431 trackCutsReject = CreateTrackCutsPWGJE(10001006); //ITSrefit requirement filter 16
b43ea0be 432 trackCutsReject->SetEtaRange(-0.9,0.9);
433 trackCutsReject->SetPtRange(0.15, 1e10);
dbf52bac 434 }
e49861e4 435 if(trackType==7 && cuts==6) {
436 // no requirements on SPD and ITSrefit failed
f8bd6b9f 437 trackCuts = CreateTrackCutsPWGJE(10041008); //no ITSrefit requirement filter 256
438 trackCutsReject = CreateTrackCutsPWGJE(10001008); //ITSrefit requirement filter 16
e49861e4 439 trackCutsReject->SetEtaRange(-0.9,0.9);
440 trackCutsReject->SetPtRange(0.15, 1e10);
441 }
dbf52bac 442
5c77d274 443 if(trackType==1 && cuts==0) {
444 //Set track cuts for TPConly tracks
5c4489e2 445 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 446 }
447 if(trackType==1 && cuts==1) {
448 //Set track cuts for TPConly tracks
5c4489e2 449 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 450 }
451
452 if(trackType==2 && cuts==0) {
03372fd1 453 //Set track cuts for TPConly constrained tracks
5c4489e2 454 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 455 }
456 if(trackType==2 && cuts==1) {
03372fd1 457 //Set track cuts for TPConly constrained tracks w/o cut on NClusters or NCrossedRows
5c4489e2 458 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 459 }
aa3ba8d2 460
461 if(trackType==4 && cuts==0) {
462 // Set track cuts for TPConly constrained tracks
5c4489e2 463 trackCuts = CreateTrackCutsPWGJE(2001);
aa3ba8d2 464 }
465 if(trackType==4 && cuts==1) {
466 // Set track cuts for TPConly constrained tracks
5c4489e2 467 trackCuts = CreateTrackCutsPWGJE(10032001);
aa3ba8d2 468 }
dbf52bac 469 if(trackType==5 || trackType==6) {
470 // tight global tracks
5c4489e2 471 trackCuts = CreateTrackCutsPWGJE(1003);
5c4489e2 472 trackCutsReject = CreateTrackCutsPWGJE(10021003);
5c4489e2 473 trackCutsTPConly = CreateTrackCutsPWGJE(2002);
380cff49 474
b43ea0be 475 trackCutsReject->SetEtaRange(-0.9,0.9);
476 trackCutsReject->SetPtRange(0.15, 1e10);
380cff49 477
478 trackCutsTPConly->SetEtaRange(-0.9,0.9);
479 trackCutsTPConly->SetPtRange(0.15, 1e10);
dbf52bac 480 }
aa3ba8d2 481
5c77d274 482 trackCuts->SetEtaRange(-0.9,0.9);
483 trackCuts->SetPtRange(0.15, 1e10);
484
41cabc8e 485 TString trigName = "";
486 if (iPhysicsSelectionFlag == AliVEvent::kAnyINT)
487 trigName += "kAnyINT";
488 else if (iPhysicsSelectionFlag == AliVEvent::kAny)
489 trigName += "kAny";
490 else if(iPhysicsSelectionFlag == AliVEvent::kINT7)
491 trigName += "kINT7";
2ac8d044 492 else if(iPhysicsSelectionFlag == AliVEvent::kINT8)
493 trigName += "kINT8";
41cabc8e 494 else if(iPhysicsSelectionFlag == AliVEvent::kMB)
495 trigName += "kMB";
1ee9428e 496 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
497 trigName += "kCentral";
498 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
499 trigName += "kSemiCentral";
41cabc8e 500 else if(iPhysicsSelectionFlag == AliVEvent::kEMC7)
501 trigName += "kEMC7";
502 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEJE)
503 trigName += "kEMCEJE";
504 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEGA)
505 trigName += "kEMCEGA";
5c77d274 506
507
508 //Create the task
41cabc8e 509 AliPWG4HighPtTrackQA *taskPWG4TrackQA = new AliPWG4HighPtTrackQA(Form("AliPWG4HighPtTrackQACent%dTrack%dCuts%d%s",centClass,trackType,cuts,trigName.Data()));
5c77d274 510 taskPWG4TrackQA->SetTrackType(trackType);
dbf52bac 511 taskPWG4TrackQA->SetCuts(trackCuts);
05a4d396 512 taskPWG4TrackQA->SetCutsITSLoose(trackCutsReject);
dbf52bac 513 taskPWG4TrackQA->SetCutsTPConly(trackCutsTPConly);
5c77d274 514 taskPWG4TrackQA->SetPtMax(100.);
515
516 if(iAODanalysis)
517 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kAOD);
518 else
519 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kESD);
520
521 if(isPbPb) {
522 taskPWG4TrackQA->SetIsPbPb(kTRUE);
523 taskPWG4TrackQA->SetCentralityClass(centClass);
524 }
a5e0d236 525 taskPWG4TrackQA->SelectCollisionCandidates(iPhysicsSelectionFlag);
5c77d274 526
5c77d274 527 // E. Create ONLY the output containers for the data produced by the task.
528 // Get and connect other common input/output containers via the manager as below
529 //==============================================================================
5c77d274 530 TString outputfile = AliAnalysisManager::GetCommonFileName();
41cabc8e 531 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%d%s",centClass,trackType,cuts,trigName.Data());
a5e0d236 532
533 AliAnalysisDataContainer *cout_histQAtrack = 0x0;
41cabc8e 534 TString contName = Form("qa_histsQAtrackCent%dType%dcuts%d%s",centClass,trackType,cuts,trigName.Data());
535 cout_histQAtrack = mgr->CreateContainer(contName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
5c77d274 536
537 mgr->AddTask(taskPWG4TrackQA);
538 mgr->ConnectInput(taskPWG4TrackQA,0,mgr->GetCommonInputContainer());
539 mgr->ConnectOutput(taskPWG4TrackQA,1,cout_histQAtrack);
540
541 // Return task pointer at the end
542 return taskPWG4TrackQA;
543}