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