1 void AddTaskPWG4HighPtTrackQA(TString prodType = "LHC10h", Int_t iAODanalysis = 0, Bool_t bReduced = kTRUE, Int_t filterBit = 272)
4 Bool_t isPbPb = kFALSE;
5 if(prodType.Contains("LHC10h") || prodType.EqualTo("LHC11h")) isPbPb = kTRUE;
7 if(iAODanalysis==0) { //run on ESDs
8 if(prodType.EqualTo("LHC10h") || prodType.EqualTo("LHC11a")) {
10 AddTaskPWG4HighPtTrackQAAllReduced(prodType.Data(),isPbPb,iAODanalysis);
12 AddTaskPWG4HighPtTrackQAAll(prodType.Data(),isPbPb,iAODanalysis);
14 else if(prodType.Contains("LHC12") || prodType.Contains("LHC13")) {
15 AddTaskPWG4HighPtTrackQApPb();
18 AddTaskPWG4HighPtTrackQAAllReduced2011(prodType.Data(),isPbPb,iAODanalysis);
20 AddTaskPWG4HighPtTrackQAAll2011(prodType.Data(),isPbPb,iAODanalysis);
23 else if(iAODanalysis==1) { //run on AODs
24 AddTaskPWG4HighPtTrackQAAOD(prodType.Data(),isPbPb,iAODanalysis,filterBit);
28 void AddTaskPWG4HighPtTrackQApPb(char *prodType = "LHC13b") {
30 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,0,5,AliVEvent::kINT7);
31 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,7,5,AliVEvent::kINT7);
33 if(!strcmp(prodType,"LHC13d") || !strcmp(prodType,"LHC13e") || !strcmp(prodType,"LHC13f")) {
34 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,0,5,AliVEvent::kEMCEJE);
35 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,kFALSE,0,10,7,5,AliVEvent::kEMCEJE);
40 void AddTaskPWG4HighPtTrackQAAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
45 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0); //RAA track cuts
46 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1); //global hybrid unconstrained
47 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0); //global hybrid constrained category 1
48 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1); //global hybrid constrained category 2
49 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2); //global hybrid constrained all
52 for(cent=0; cent<4; cent++) {
53 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
54 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
55 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
56 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
57 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
62 void AddTaskPWG4HighPtTrackQAAll2011(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
66 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB;
67 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
68 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
71 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
72 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
73 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
74 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
75 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
77 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
78 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
79 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
82 for(cent=0; cent<4; cent++) {
83 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
84 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
85 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
86 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
87 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
88 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
89 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
90 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
93 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
94 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
95 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
96 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
97 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
98 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
99 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
100 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
103 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
104 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
105 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
106 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
107 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
108 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
109 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
110 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
116 void AddTaskPWG4HighPtTrackQAAllReduced(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
122 for(cent=0; cent<4; cent++) {
123 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
124 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
125 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
126 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
127 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
133 void AddTaskPWG4HighPtTrackQALHC11hLTS(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
137 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral;
138 UInt_t iPhysicsSelectionFlagEMCEJE = AliVEvent::kEMCEJE;
140 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
141 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
142 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
143 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
144 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
145 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
146 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
147 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
149 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
150 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
151 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
152 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
153 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
154 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
155 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
156 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
159 for(cent=0; cent<4; cent++) {
160 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
161 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
162 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
163 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
164 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
165 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
166 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
167 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
169 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
170 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
171 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
172 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
173 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
174 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
175 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
176 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
181 void AddTaskPWG4HighPtTrackQAAllReduced2011(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
186 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
187 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
189 AliPWG4HighPtTrackQA *taskTrackQA00C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
190 AliPWG4HighPtTrackQA *taskTrackQA01C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
191 AliPWG4HighPtTrackQA *taskTrackQA70C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
192 AliPWG4HighPtTrackQA *taskTrackQA71C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
193 AliPWG4HighPtTrackQA *taskTrackQA72C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
194 AliPWG4HighPtTrackQA *taskTrackQA05C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
195 AliPWG4HighPtTrackQA *taskTrackQA74C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
196 AliPWG4HighPtTrackQA *taskTrackQA75C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
198 AliPWG4HighPtTrackQA *taskTrackQA00SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
199 AliPWG4HighPtTrackQA *taskTrackQA01SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
200 AliPWG4HighPtTrackQA *taskTrackQA70SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
201 AliPWG4HighPtTrackQA *taskTrackQA71SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
202 AliPWG4HighPtTrackQA *taskTrackQA72SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
203 AliPWG4HighPtTrackQA *taskTrackQA05SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
204 AliPWG4HighPtTrackQA *taskTrackQA74SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
205 AliPWG4HighPtTrackQA *taskTrackQA75SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
208 void AddTaskPWG4HighPtTrackQAAOD(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 1, Int_t filterBit = 768)
210 UInt_t iPhysicsSelectionFlagMB = AliVEvent::kMB;
211 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
212 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
213 UInt_t iPhysicsSelectionFlagINT7 = AliVEvent::kINT7;
214 UInt_t iPhysicsSelectionFlagEMCEJE = AliVEvent::kEMCEJE;
218 Int_t filterBit1 = 256; //standard global tracks
219 Int_t filterBit2 = 512; //complementary tracks
221 Bool_t bIncludeNoITS = kFALSE;
223 TString strRunPeriod = TString(prodType);
224 strRunPeriod.ToLower();
226 if (strRunPeriod == "lhc10h" || strRunPeriod == "lhc11h" ||
227 strRunPeriod == "lhc12a" || strRunPeriod == "lhc12b" || strRunPeriod == "lhc12c" || strRunPeriod == "lhc12d" ||
228 strRunPeriod == "lhc12e" || strRunPeriod == "lhc12f" || strRunPeriod == "lhc12g" || strRunPeriod == "lhc12g" ||
229 strRunPeriod == "lhc12h" || strRunPeriod == "lhc12i" ||
230 strRunPeriod == "lhc13b" || strRunPeriod == "lhc13c" || strRunPeriod == "lhc13d" || strRunPeriod == "lhc13e" ||
231 strRunPeriod == "lhc13f" || strRunPeriod == "lhc13g" ||
232 strRunPeriod == "lhc12a15e" || strRunPeriod == "lhc13b4" || strRunPeriod == "lhc13b4_fix" ||
233 strRunPeriod == "lhc13b4_plus" || strRunPeriod == "lhc12a15f" || strRunPeriod.Contains("lhc12a17") || strRunPeriod.Contains("lhc14a1")) {
237 bIncludeNoITS = kFALSE;
238 if(strRunPeriod == "lhc10h") bIncludeNoITS = kTRUE;
240 else if (strRunPeriod == "lhc11a" || strRunPeriod == "lhc10hold" || strRunPeriod == "lhc12a15a" || strRunPeriod.Contains("lhc11a2")) {
244 bIncludeNoITS = kTRUE;
248 for(cent=0; cent<4; cent++) {
249 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
250 taskTrackQAMB->SetFilterMask(filterBit);
251 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
253 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagMB);
254 taskTrackQAMB1->SetFilterMask(filterBit1);
255 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
257 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagMB);
258 taskTrackQAMB2->SetFilterMask(filterBit2);
259 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
264 if(strRunPeriod.Contains("lhc11h")) {
265 AliPWG4HighPtTrackQA *taskTrackQAC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
266 taskTrackQAC->SetFilterMask(filterBit);
267 taskTrackQAC->SetIncludeNoITS(bIncludeNoITS);
269 AliPWG4HighPtTrackQA *taskTrackQAC1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
270 taskTrackQAC1->SetFilterMask(filterBit1);
271 taskTrackQAC1->SetIncludeNoITS(bIncludeNoITS);
273 AliPWG4HighPtTrackQA *taskTrackQAC2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
274 taskTrackQAC2->SetFilterMask(filterBit2);
275 taskTrackQAC2->SetIncludeNoITS(bIncludeNoITS);
277 AliPWG4HighPtTrackQA *taskTrackQASC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
278 taskTrackQASC->SetFilterMask(filterBit);
279 taskTrackQASC->SetIncludeNoITS(bIncludeNoITS);
281 AliPWG4HighPtTrackQA *taskTrackQASC1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
282 taskTrackQASC1->SetFilterMask(filterBit1);
283 taskTrackQASC1->SetIncludeNoITS(bIncludeNoITS);
285 AliPWG4HighPtTrackQA *taskTrackQASC2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
286 taskTrackQASC2->SetFilterMask(filterBit2);
287 taskTrackQASC2->SetIncludeNoITS(bIncludeNoITS);
293 if(strRunPeriod.Contains("lhc13") || strRunPeriod.Contains("lhc12")) {
294 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagINT7);
295 taskTrackQAMB->SetFilterMask(filterBit);
296 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
298 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagINT7);
299 taskTrackQAMB1->SetFilterMask(filterBit1);
300 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
302 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagINT7);
303 taskTrackQAMB2->SetFilterMask(filterBit2);
304 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
306 if(strRunPeriod.EqualTo("lhc13d") || strRunPeriod.EqualTo("lhc13e") || strRunPeriod.EqualTo("lhc13f") || strRunPeriod.EqualTo("lhc13g")
307 || strRunPeriod.Contains("lhc12")) {
308 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
309 taskTrackQAEMCEJE->SetFilterMask(filterBit);
310 taskTrackQAEMCEJE->SetIncludeNoITS(bIncludeNoITS);
312 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
313 taskTrackQAEMCEJE1->SetFilterMask(filterBit1);
314 taskTrackQAEMCEJE1->SetIncludeNoITS(bIncludeNoITS);
316 AliPWG4HighPtTrackQA *taskTrackQAEMCEJE2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
317 taskTrackQAEMCEJE2->SetFilterMask(filterBit2);
318 taskTrackQAEMCEJE2->SetIncludeNoITS(bIncludeNoITS);
322 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
323 taskTrackQAMB->SetFilterMask(filterBit);
324 taskTrackQAMB->SetIncludeNoITS(bIncludeNoITS);
326 AliPWG4HighPtTrackQA *taskTrackQAMB1 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagMB);
327 taskTrackQAMB1->SetFilterMask(filterBit1);
328 taskTrackQAMB1->SetIncludeNoITS(bIncludeNoITS);
331 AliPWG4HighPtTrackQA *taskTrackQAMB2 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagMB);
332 taskTrackQAMB2->SetFilterMask(filterBit2);
333 taskTrackQAMB2->SetIncludeNoITS(bIncludeNoITS);
338 AliPWG4HighPtTrackQA* 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)
341 trackType: 0 = global
343 2 = TPC stand alone constrained to SPD vertex
344 4 = TPC stand alone constrained to SPD vertex with QA track selection on global tracks
345 5 = Hybrid tracks: constrained TPConly for which no tight ITS is available
346 6 = Hybrid tracks: constrained loose global for which no tight ITS is available
347 cuts: 0 (global) = standard ITSTPC2010 a la RAA analysis
348 1 (global) = ITSrefit, no SPD requirements -> standard for jet analysis
349 2 (global) = ITSrefit + no hits in SPD
350 3 (global) = standard ITS tight cuts with nCrossed rows cut for hybrid tracks
351 0 (TPC) = standard TPC + NClusters>70
352 1 (TPC) = standard TPC + NClusters>0 --> to study new TPC QA recommendations
353 0 (hybrid 5) = constrained TPConly for which no tight ITS is available
354 0 (hybrid 6) = constrained loose global for which no tight ITS is available
357 //Load common track cut class
358 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
360 // Creates HighPtTrackQA analysis task and adds it to the analysis manager.
362 // A. Get the pointer to the existing analysis manager via the static access method.
363 //==============================================================================
364 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
366 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
370 // B. Check the analysis type using the event handlers connected to the analysis
371 // manager. The availability of MC handler can also be checked here.
372 //==============================================================================
373 if (!mgr->GetInputEventHandler()) {
374 ::Error("AddPWG4TaskHighPtTrackQA", "This task requires an input event handler");
378 // C. Create the task, add it to manager.
379 //===========================================================================
381 //CREATE THE CUTS -----------------------------------------------
382 //Use AliESDtrackCuts
383 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
384 AliESDtrackCuts *trackCutsReject = 0x0;
385 AliESDtrackCuts *trackCutsTPConly = new AliESDtrackCuts("AliESDtrackCutsTPConly","TPC only Cuts");
388 //Set track cuts for global tracks
389 if(trackType==0 && cuts==0) {
390 // tight global tracks - RAA analysis
391 trackCuts = CreateTrackCutsPWGJE(1000);
393 if(trackType==0 && cuts==1) {
394 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
395 trackCuts = CreateTrackCutsPWGJE(10001006);
397 if(trackType==0 && cuts==5) {
398 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis + NCrossedRowsCut>70 recommended in 2011
399 trackCuts = CreateTrackCutsPWGJE(10001008);
401 if(trackType==0 && cuts==6) {
402 //Cuts global tracks with ITSrefit requirement and no SPDrequirement for jet analysis + NCrossedRowsCut>70 recommended in 2011
403 trackCuts = CreateTrackCutsPWGJE(10051008);
406 if(trackType==0 && cuts==2) {
407 //Cuts global tracks with ITSrefit requirement but without SPD
408 trackCuts = CreateTrackCutsPWGJE(10011006);
410 if(trackType==7 && cuts==0) {
411 // tight global tracks
412 trackCuts = CreateTrackCutsPWGJE(10041006);
413 trackCutsReject = CreateTrackCutsPWGJE(1006);
414 trackCutsReject->SetEtaRange(-0.9,0.9);
415 trackCutsReject->SetPtRange(0.15, 1e10);
417 if(trackType==7 && cuts==4) {
418 // tight global tracks + NCrossedRowsCut>120 recommended in 2011
419 trackCuts = CreateTrackCutsPWGJE(10041008);
420 trackCutsReject = CreateTrackCutsPWGJE(1008);
421 trackCutsReject->SetEtaRange(-0.9,0.9);
422 trackCutsReject->SetPtRange(0.15, 1e10);
424 if(trackType==7 && cuts==1) {
425 // tight global tracks
426 trackCuts = CreateTrackCutsPWGJE(10011006);
428 if(trackType==7 && cuts==5) {
429 // tight global tracks + NCrossedRowsCut>70 recommended in 2011
430 trackCuts = CreateTrackCutsPWGJE(10011008);
432 if(trackType==7 && cuts==2) {
433 // no requirements on SPD and ITSrefit failed
434 trackCuts = CreateTrackCutsPWGJE(10041006); //no ITSrefit requirement filter 256
435 trackCutsReject = CreateTrackCutsPWGJE(10001006); //ITSrefit requirement filter 16
436 trackCutsReject->SetEtaRange(-0.9,0.9);
437 trackCutsReject->SetPtRange(0.15, 1e10);
439 if(trackType==7 && cuts==6) {
440 // no requirements on SPD and ITSrefit failed
441 trackCuts = CreateTrackCutsPWGJE(10041008); //no ITSrefit requirement filter 256
442 trackCutsReject = CreateTrackCutsPWGJE(10001008); //ITSrefit requirement filter 16
443 trackCutsReject->SetEtaRange(-0.9,0.9);
444 trackCutsReject->SetPtRange(0.15, 1e10);
447 if(trackType==1 && cuts==0) {
448 //Set track cuts for TPConly tracks
449 trackCuts = CreateTrackCutsPWGJE(2001);
451 if(trackType==1 && cuts==1) {
452 //Set track cuts for TPConly tracks
453 trackCuts = CreateTrackCutsPWGJE(10032001);
456 if(trackType==2 && cuts==0) {
457 //Set track cuts for TPConly constrained tracks
458 trackCuts = CreateTrackCutsPWGJE(2001);
460 if(trackType==2 && cuts==1) {
461 //Set track cuts for TPConly constrained tracks w/o cut on NClusters or NCrossedRows
462 trackCuts = CreateTrackCutsPWGJE(10032001);
465 if(trackType==4 && cuts==0) {
466 // Set track cuts for TPConly constrained tracks
467 trackCuts = CreateTrackCutsPWGJE(2001);
469 if(trackType==4 && cuts==1) {
470 // Set track cuts for TPConly constrained tracks
471 trackCuts = CreateTrackCutsPWGJE(10032001);
473 if(trackType==5 || trackType==6) {
474 // tight global tracks
475 trackCuts = CreateTrackCutsPWGJE(1003);
476 trackCutsReject = CreateTrackCutsPWGJE(10021003);
477 trackCutsTPConly = CreateTrackCutsPWGJE(2002);
479 trackCutsReject->SetEtaRange(-0.9,0.9);
480 trackCutsReject->SetPtRange(0.15, 1e10);
482 trackCutsTPConly->SetEtaRange(-0.9,0.9);
483 trackCutsTPConly->SetPtRange(0.15, 1e10);
486 trackCuts->SetEtaRange(-0.9,0.9);
487 trackCuts->SetPtRange(0.15, 1e10);
489 TString trigName = "";
490 if (iPhysicsSelectionFlag == AliVEvent::kAnyINT)
491 trigName += "kAnyINT";
492 else if (iPhysicsSelectionFlag == AliVEvent::kAny)
494 else if(iPhysicsSelectionFlag == AliVEvent::kINT7)
496 else if(iPhysicsSelectionFlag == AliVEvent::kINT8)
498 else if(iPhysicsSelectionFlag == AliVEvent::kMB)
500 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
501 trigName += "kCentral";
502 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
503 trigName += "kSemiCentral";
504 else if(iPhysicsSelectionFlag == AliVEvent::kEMC7)
506 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEJE)
507 trigName += "kEMCEJE";
508 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEGA)
509 trigName += "kEMCEGA";
513 AliPWG4HighPtTrackQA *taskPWG4TrackQA = new AliPWG4HighPtTrackQA(Form("AliPWG4HighPtTrackQACent%dTrack%dCuts%d%s",centClass,trackType,cuts,trigName.Data()));
514 taskPWG4TrackQA->SetTrackType(trackType);
515 taskPWG4TrackQA->SetCuts(trackCuts);
516 taskPWG4TrackQA->SetCutsITSLoose(trackCutsReject);
517 taskPWG4TrackQA->SetCutsTPConly(trackCutsTPConly);
518 taskPWG4TrackQA->SetPtMax(100.);
521 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kAOD);
523 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kESD);
526 taskPWG4TrackQA->SetIsPbPb(kTRUE);
527 taskPWG4TrackQA->SetCentralityClass(centClass);
529 taskPWG4TrackQA->SelectCollisionCandidates(iPhysicsSelectionFlag);
531 // E. Create ONLY the output containers for the data produced by the task.
532 // Get and connect other common input/output containers via the manager as below
533 //==============================================================================
534 TString outputfile = AliAnalysisManager::GetCommonFileName();
535 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%d%s",centClass,trackType,cuts,trigName.Data());
537 AliAnalysisDataContainer *cout_histQAtrack = 0x0;
538 TString contName = Form("qa_histsQAtrackCent%dType%dcuts%d%s",centClass,trackType,cuts,trigName.Data());
539 cout_histQAtrack = mgr->CreateContainer(contName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
541 mgr->AddTask(taskPWG4TrackQA);
542 mgr->ConnectInput(taskPWG4TrackQA,0,mgr->GetCommonInputContainer());
543 mgr->ConnectOutput(taskPWG4TrackQA,1,cout_histQAtrack);
545 // Return task pointer at the end
546 return taskPWG4TrackQA;