]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/macros/AddTaskPWG4HighPtTrackQA.C
Matching with a TPC track for clean-up (Jochen)
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskPWG4HighPtTrackQA.C
CommitLineData
e49861e4 1void AddTaskPWG4HighPtTrackQA(TString year = "2010", TString prodType = "LHC10h",Bool_t isPbPb = kTRUE, Int_t iAODanalysis = 0, Bool_t bReduced = kTRUE, Int_t filterBit = 272)
7ef03cd9 2{
3
e49861e4 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 }
7ef03cd9 17 }
e49861e4 18 else if(iAODanalysis==1) {
e3d92bb5 19 AddTaskPWG4HighPtTrackQAAOD(prodType.Data(),isPbPb,iAODanalysis,filterBit);
7ef03cd9 20 }
21
22}
23
5c77d274 24void AddTaskPWG4HighPtTrackQAAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
25{
c3ff0a6e 26
5c77d274 27 int cent = 10;
28
7ef03cd9 29 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
30 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
31 // AliPWG4HighPtTrackQA *taskTrackQA02cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,2);
32 // AliPWG4HighPtTrackQA *taskTrackQA10cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,0);
33 // AliPWG4HighPtTrackQA *taskTrackQA11cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,1);
34 // AliPWG4HighPtTrackQA *taskTrackQA20cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,0);
35 // AliPWG4HighPtTrackQA *taskTrackQA21cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1);
36 // AliPWG4HighPtTrackQA *taskTrackQA40cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0);
37 // AliPWG4HighPtTrackQA *taskTrackQA41cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,1);
38 // AliPWG4HighPtTrackQA *taskTrackQA50cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,5,0);
39 // AliPWG4HighPtTrackQA *taskTrackQA60cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,6,0);
40 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
41 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
42 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
dbf52bac 43
5c77d274 44 if(isPbPb) {
45 for(cent=0; cent<4; cent++) {
7ef03cd9 46 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
47 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
48 // AliPWG4HighPtTrackQA *taskTrackQA02 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,2);
49 // AliPWG4HighPtTrackQA *taskTrackQA10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,0);
50 // AliPWG4HighPtTrackQA *taskTrackQA11 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,1,1);
51 // AliPWG4HighPtTrackQA *taskTrackQA20 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,0);
52 // AliPWG4HighPtTrackQA *taskTrackQA21 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1);
53 // AliPWG4HighPtTrackQA *taskTrackQA40 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0);
54 // AliPWG4HighPtTrackQA *taskTrackQA41 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,1);
55 // AliPWG4HighPtTrackQA *taskTrackQA50 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,5,0);
56 // AliPWG4HighPtTrackQA *taskTrackQA60 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,6,0);
57 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
58 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
59 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
5c77d274 60 }
61 }
62
63}
64
03372fd1 65void AddTaskPWG4HighPtTrackQAAll2011(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
a5e0d236 66{
67
68 Int_t cent = 10;
69 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB;
70 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
71 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
72
73
7ef03cd9 74 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
75 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
76 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
77 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
78 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
e49861e4 79
80 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
81 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
82 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
a5e0d236 83
84 if(isPbPb) {
85 for(cent=0; cent<4; cent++) {
7ef03cd9 86 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
87 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
88 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
89 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
90 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
e49861e4 91 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
92 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
93 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
a5e0d236 94
95 if(cent==0) {
7ef03cd9 96 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
97 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
98 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
99 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
100 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
e49861e4 101 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
102 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
103 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
a5e0d236 104 }
105 else {
7ef03cd9 106 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
107 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
108 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
109 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
110 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
e49861e4 111 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
112 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
113 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
a5e0d236 114 }
115
116 }
117 }
118
119}
120
03372fd1 121void AddTaskPWG4HighPtTrackQAAllReduced(char *prodType = "LHC11h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
b1041e3b 122{
123
124 int cent = 10;
125
126 if(isPbPb) {
127 for(cent=0; cent<4; cent++) {
7ef03cd9 128 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0);
129 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1);
130 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0);
131 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1);
132 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2);
b1041e3b 133 }
134 }
135
136}
137
03372fd1 138
139void AddTaskPWG4HighPtTrackQALHC11hLTS(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
140{
141
142 Int_t cent = 10;
143 UInt_t iPhysicsSelectionFlag = AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral;
144 UInt_t iPhysicsSelectionFlagEMCEJE = AliVEvent::kEMCEJE;
145
03372fd1 146 AliPWG4HighPtTrackQA *taskTrackQA00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
147 AliPWG4HighPtTrackQA *taskTrackQA01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
148 AliPWG4HighPtTrackQA *taskTrackQA70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
149 AliPWG4HighPtTrackQA *taskTrackQA71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
150 AliPWG4HighPtTrackQA *taskTrackQA72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
151 AliPWG4HighPtTrackQA *taskTrackQA05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
152 AliPWG4HighPtTrackQA *taskTrackQA74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
153 AliPWG4HighPtTrackQA *taskTrackQA75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
2461511f 154 AliPWG4HighPtTrackQA *taskTrackQA40cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0,iPhysicsSelectionFlag);
03372fd1 155
03372fd1 156 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
157 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
158 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
159 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
160 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
161 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
162 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
163 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
2461511f 164 AliPWG4HighPtTrackQA *taskTrackQAEMCJE40cent10 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0,iPhysicsSelectionFlagEMCEJE);
03372fd1 165
166 if(isPbPb) {
167 for(cent=0; cent<4; cent++) {
2461511f 168
03372fd1 169 AliPWG4HighPtTrackQA *taskTrackQA00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlag);
170 AliPWG4HighPtTrackQA *taskTrackQA01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlag);
171 AliPWG4HighPtTrackQA *taskTrackQA70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlag);
172 AliPWG4HighPtTrackQA *taskTrackQA71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlag);
173 AliPWG4HighPtTrackQA *taskTrackQA72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlag);
174 AliPWG4HighPtTrackQA *taskTrackQA05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlag);
175 AliPWG4HighPtTrackQA *taskTrackQA74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlag);
176 AliPWG4HighPtTrackQA *taskTrackQA75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlag);
2461511f 177 AliPWG4HighPtTrackQA *taskTrackQA40 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0,iPhysicsSelectionFlag);
03372fd1 178
179 AliPWG4HighPtTrackQA *taskTrackQAEMCJE00 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagEMCEJE);
180 AliPWG4HighPtTrackQA *taskTrackQAEMCJE01 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagEMCEJE);
181 AliPWG4HighPtTrackQA *taskTrackQAEMCJE70 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagEMCEJE);
182 AliPWG4HighPtTrackQA *taskTrackQAEMCJE71 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagEMCEJE);
183 AliPWG4HighPtTrackQA *taskTrackQAEMCJE72 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagEMCEJE);
184 AliPWG4HighPtTrackQA *taskTrackQAEMCJE05 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagEMCEJE);
185 AliPWG4HighPtTrackQA *taskTrackQAEMCJE74 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagEMCEJE);
186 AliPWG4HighPtTrackQA *taskTrackQAEMCJE75 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagEMCEJE);
2461511f 187 AliPWG4HighPtTrackQA *taskTrackQAEMCJE40 = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,4,0,iPhysicsSelectionFlagEMCEJE);
188
03372fd1 189 }
190 }
191
192}
193
194
195
196
a5e0d236 197void AddTaskPWG4HighPtTrackQAAllReduced2011(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
198{
199
200 int cent = 10;
201
202 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
203 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
204
7ef03cd9 205 AliPWG4HighPtTrackQA *taskTrackQA00C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
206 AliPWG4HighPtTrackQA *taskTrackQA01C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagCentral);
207 AliPWG4HighPtTrackQA *taskTrackQA21C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1,iPhysicsSelectionFlagCentral);
208 AliPWG4HighPtTrackQA *taskTrackQA70C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagCentral);
209 AliPWG4HighPtTrackQA *taskTrackQA71C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagCentral);
210 AliPWG4HighPtTrackQA *taskTrackQA72C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagCentral);
e49861e4 211 AliPWG4HighPtTrackQA *taskTrackQA05C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagCentral);
212 AliPWG4HighPtTrackQA *taskTrackQA74C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagCentral);
213 AliPWG4HighPtTrackQA *taskTrackQA75C = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagCentral);
006b2a30 214
7ef03cd9 215 AliPWG4HighPtTrackQA *taskTrackQA00SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
216 AliPWG4HighPtTrackQA *taskTrackQA01SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,1,iPhysicsSelectionFlagSemiCentral);
217 AliPWG4HighPtTrackQA *taskTrackQA21SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,2,1,iPhysicsSelectionFlagSemiCentral);
218 AliPWG4HighPtTrackQA *taskTrackQA70SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,0,iPhysicsSelectionFlagSemiCentral);
219 AliPWG4HighPtTrackQA *taskTrackQA71SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,1,iPhysicsSelectionFlagSemiCentral);
220 AliPWG4HighPtTrackQA *taskTrackQA72SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,2,iPhysicsSelectionFlagSemiCentral);
e49861e4 221 AliPWG4HighPtTrackQA *taskTrackQA05SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,5,iPhysicsSelectionFlagSemiCentral);
222 AliPWG4HighPtTrackQA *taskTrackQA74SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,4,iPhysicsSelectionFlagSemiCentral);
223 AliPWG4HighPtTrackQA *taskTrackQA75SC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,7,5,iPhysicsSelectionFlagSemiCentral);
a5e0d236 224
225}
226
a5e0d236 227void AddTaskPWG4HighPtTrackQAAOD(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 1, Int_t filterBit = 272)
b64acfb6 228{
229 UInt_t iPhysicsSelectionFlagMB = AliVEvent::kMB;
230 UInt_t iPhysicsSelectionFlagCentral = AliVEvent::kCentral;
231 UInt_t iPhysicsSelectionFlagSemiCentral = AliVEvent::kSemiCentral;
232
233 Int_t cent = 10;
234
235 TString strRunPeriod = TString(prodType);
236
237 if(isPbPb) {
238 for(cent=0; cent<4; cent++) {
239 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
240 taskTrackQAMB->SetFilterMask(filterBit);
241 }
242
243 cent = 10;
244
245 if(strRunPeriod.Contains("LHC11h")) {
246 AliPWG4HighPtTrackQA *taskTrackQAC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagCentral);
247 taskTrackQAC->SetFilterMask(filterBit);
248
249 AliPWG4HighPtTrackQA *taskTrackQASC = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagSemiCentral);
250 taskTrackQASC->SetFilterMask(filterBit);
251 }
252 }
253 else {
254 cent = 10;
255 AliPWG4HighPtTrackQA *taskTrackQAMB = ConfigureTaskPWG4HighPtTrackQA(prodType,isPbPb,iAODanalysis,cent,0,0,iPhysicsSelectionFlagMB);
256 taskTrackQAMB->SetFilterMask(filterBit);
257 }
c3ff0a6e 258}
259
7ef03cd9 260AliPWG4HighPtTrackQA* 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 261{
262 /*
263 trackType: 0 = global
264 1 = TPC stand alone
265 2 = TPC stand alone constrained to SPD vertex
aa3ba8d2 266 4 = TPC stand alone constrained to SPD vertex with QA track selection on global tracks
dbf52bac 267 5 = Hybrid tracks: constrained TPConly for which no tight ITS is available
268 6 = Hybrid tracks: constrained loose global for which no tight ITS is available
5a0bd31f 269 cuts: 0 (global) = standard ITSTPC2010 a la RAA analysis
270 1 (global) = ITSrefit, no SPD requirements -> standard for jet analysis
271 2 (global) = ITSrefit + no hits in SPD
272 3 (global) = standard ITS tight cuts with nCrossed rows cut for hybrid tracks
5c77d274 273 0 (TPC) = standard TPC + NClusters>70
274 1 (TPC) = standard TPC + NClusters>0 --> to study new TPC QA recommendations
dbf52bac 275 0 (hybrid 5) = constrained TPConly for which no tight ITS is available
276 0 (hybrid 6) = constrained loose global for which no tight ITS is available
5c77d274 277 */
278
380cff49 279 //Load common track cut class
5c4489e2 280 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
380cff49 281
5c77d274 282 // Creates HighPtTrackQA analysis task and adds it to the analysis manager.
283
284 // A. Get the pointer to the existing analysis manager via the static access method.
285 //==============================================================================
286 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
287 if (!mgr) {
288 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
289 return NULL;
290 }
291
292 // B. Check the analysis type using the event handlers connected to the analysis
293 // manager. The availability of MC handler can also be checked here.
294 //==============================================================================
295 if (!mgr->GetInputEventHandler()) {
296 ::Error("AddPWG4TaskHighPtTrackQA", "This task requires an input event handler");
297 return NULL;
298 }
299
300 // C. Create the task, add it to manager.
301 //===========================================================================
302
303 //CREATE THE CUTS -----------------------------------------------
304 //Use AliESDtrackCuts
305 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
b43ea0be 306 AliESDtrackCuts *trackCutsReject = 0x0;
dbf52bac 307 AliESDtrackCuts *trackCutsTPConly = new AliESDtrackCuts("AliESDtrackCutsTPConly","TPC only Cuts");
308
5c77d274 309 //Standard Cuts
310 //Set track cuts for global tracks
311 if(trackType==0 && cuts==0) {
380cff49 312 // tight global tracks - RAA analysis
5c4489e2 313 trackCuts = CreateTrackCutsPWGJE(1000);
5c77d274 314 }
315 if(trackType==0 && cuts==1) {
380cff49 316 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
5c4489e2 317 trackCuts = CreateTrackCutsPWGJE(10001006);
5c77d274 318 }
e49861e4 319 if(trackType==0 && cuts==5) {
320 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis + NCrossedRowsCut>120 recommended in 2011
f8bd6b9f 321 trackCuts = CreateTrackCutsPWGJE(10001008);
e49861e4 322 }
323
5c77d274 324 if(trackType==0 && cuts==2) {
5a0bd31f 325 //Cuts global tracks with ITSrefit requirement but without SPD
5c4489e2 326 trackCuts = CreateTrackCutsPWGJE(10011006);
380cff49 327 }
328 if(trackType==7 && cuts==0) {
329 // tight global tracks
5c4489e2 330 trackCuts = CreateTrackCutsPWGJE(10041006);
331 trackCutsReject = CreateTrackCutsPWGJE(1006);
b43ea0be 332 trackCutsReject->SetEtaRange(-0.9,0.9);
333 trackCutsReject->SetPtRange(0.15, 1e10);
5c77d274 334 }
e49861e4 335 if(trackType==7 && cuts==4) {
336 // tight global tracks + NCrossedRowsCut>120 recommended in 2011
f8bd6b9f 337 trackCuts = CreateTrackCutsPWGJE(10041008);
338 trackCutsReject = CreateTrackCutsPWGJE(1008);
e49861e4 339 trackCutsReject->SetEtaRange(-0.9,0.9);
340 trackCutsReject->SetPtRange(0.15, 1e10);
341 }
380cff49 342 if(trackType==7 && cuts==1) {
dbf52bac 343 // tight global tracks
5c4489e2 344 trackCuts = CreateTrackCutsPWGJE(10011006);
b43ea0be 345 }
e49861e4 346 if(trackType==7 && cuts==5) {
347 // tight global tracks + NCrossedRowsCut>120 recommended in 2011
f8bd6b9f 348 trackCuts = CreateTrackCutsPWGJE(10011008);
e49861e4 349 }
b43ea0be 350 if(trackType==7 && cuts==2) {
351 // no requirements on SPD and ITSrefit failed
5c4489e2 352 trackCuts = CreateTrackCutsPWGJE(10041006); //no ITSrefit requirement filter 256
353 trackCutsReject = CreateTrackCutsPWGJE(10001006); //ITSrefit requirement filter 16
b43ea0be 354 trackCutsReject->SetEtaRange(-0.9,0.9);
355 trackCutsReject->SetPtRange(0.15, 1e10);
dbf52bac 356 }
e49861e4 357 if(trackType==7 && cuts==6) {
358 // no requirements on SPD and ITSrefit failed
f8bd6b9f 359 trackCuts = CreateTrackCutsPWGJE(10041008); //no ITSrefit requirement filter 256
360 trackCutsReject = CreateTrackCutsPWGJE(10001008); //ITSrefit requirement filter 16
e49861e4 361 trackCutsReject->SetEtaRange(-0.9,0.9);
362 trackCutsReject->SetPtRange(0.15, 1e10);
363 }
dbf52bac 364
5c77d274 365 if(trackType==1 && cuts==0) {
366 //Set track cuts for TPConly tracks
5c4489e2 367 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 368 }
369 if(trackType==1 && cuts==1) {
370 //Set track cuts for TPConly tracks
5c4489e2 371 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 372 }
373
374 if(trackType==2 && cuts==0) {
03372fd1 375 //Set track cuts for TPConly constrained tracks
5c4489e2 376 trackCuts = CreateTrackCutsPWGJE(2001);
5c77d274 377 }
378 if(trackType==2 && cuts==1) {
03372fd1 379 //Set track cuts for TPConly constrained tracks w/o cut on NClusters or NCrossedRows
5c4489e2 380 trackCuts = CreateTrackCutsPWGJE(10032001);
5c77d274 381 }
aa3ba8d2 382
383 if(trackType==4 && cuts==0) {
384 // Set track cuts for TPConly constrained tracks
5c4489e2 385 trackCuts = CreateTrackCutsPWGJE(2001);
aa3ba8d2 386 }
387 if(trackType==4 && cuts==1) {
388 // Set track cuts for TPConly constrained tracks
5c4489e2 389 trackCuts = CreateTrackCutsPWGJE(10032001);
aa3ba8d2 390 }
dbf52bac 391 if(trackType==5 || trackType==6) {
392 // tight global tracks
5c4489e2 393 trackCuts = CreateTrackCutsPWGJE(1003);
380cff49 394
5c4489e2 395 trackCutsReject = CreateTrackCutsPWGJE(10021003);
380cff49 396
5c4489e2 397 trackCutsTPConly = CreateTrackCutsPWGJE(2002);
380cff49 398
b43ea0be 399 trackCutsReject->SetEtaRange(-0.9,0.9);
400 trackCutsReject->SetPtRange(0.15, 1e10);
380cff49 401
402 trackCutsTPConly->SetEtaRange(-0.9,0.9);
403 trackCutsTPConly->SetPtRange(0.15, 1e10);
404
dbf52bac 405 }
aa3ba8d2 406
5c77d274 407 trackCuts->SetEtaRange(-0.9,0.9);
408 trackCuts->SetPtRange(0.15, 1e10);
409
410
411
412 //Create the task
a5e0d236 413 AliPWG4HighPtTrackQA *taskPWG4TrackQA = new AliPWG4HighPtTrackQA(Form("AliPWG4HighPtTrackQACent%dTrack%dCuts%dPSF%d",centClass,trackType,cuts,iPhysicsSelectionFlag));
5c77d274 414 taskPWG4TrackQA->SetTrackType(trackType);
dbf52bac 415 taskPWG4TrackQA->SetCuts(trackCuts);
05a4d396 416 taskPWG4TrackQA->SetCutsITSLoose(trackCutsReject);
dbf52bac 417 taskPWG4TrackQA->SetCutsTPConly(trackCutsTPConly);
5c77d274 418
419 taskPWG4TrackQA->SetPtMax(100.);
420
421 if(iAODanalysis)
422 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kAOD);
423 else
424 taskPWG4TrackQA->SetDataType(AliPWG4HighPtTrackQA::kESD);
425
426 if(isPbPb) {
427 taskPWG4TrackQA->SetIsPbPb(kTRUE);
428 taskPWG4TrackQA->SetCentralityClass(centClass);
429 }
aa3ba8d2 430 // taskPWG4TrackQA->SetSigmaConstrainedMax(5.);
5c77d274 431
03372fd1 432 cout << "iPhysicsSelectionFlag: " << iPhysicsSelectionFlag << endl;
a5e0d236 433 taskPWG4TrackQA->SelectCollisionCandidates(iPhysicsSelectionFlag);
5c77d274 434
435
436 // E. Create ONLY the output containers for the data produced by the task.
437 // Get and connect other common input/output containers via the manager as below
438 //==============================================================================
5c77d274 439 TString outputfile = AliAnalysisManager::GetCommonFileName();
a5e0d236 440 if(iPhysicsSelectionFlag == AliVEvent::kMB)
441 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%d",centClass,trackType,cuts);
442 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
443 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkCentral",centClass,trackType,cuts);
444 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
445 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkSemiCentral",centClass,trackType,cuts);
03372fd1 446 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEJE)
447 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkEMCEJE",centClass,trackType,cuts);
448 else if(iPhysicsSelectionFlag == AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral)
449 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dkMBkCentralkSemiCentral",centClass,trackType,cuts);
1ec299ac 450 else
451 outputfile += Form(":PWG4_HighPtTrackQACent%dTrackType%dCuts%dPSF%d",centClass,trackType,cuts,iPhysicsSelectionFlag);
a5e0d236 452
453 AliAnalysisDataContainer *cout_histQAtrack = 0x0;
454 if(iPhysicsSelectionFlag == AliVEvent::kMB)
455 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%d",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
456 else if(iPhysicsSelectionFlag == AliVEvent::kCentral)
457 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkCentral",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
458 else if(iPhysicsSelectionFlag == AliVEvent::kSemiCentral)
459 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkSemiCentral",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
03372fd1 460 else if(iPhysicsSelectionFlag == AliVEvent::kEMCEJE)
461 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkEMCEJE",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
462 else if(iPhysicsSelectionFlag == AliVEvent::kMB|AliVEvent::kCentral|AliVEvent::kSemiCentral)
463 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dkMBkCentralSemiCentral",centClass,trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
1ec299ac 464 else
465 cout_histQAtrack = mgr->CreateContainer(Form("qa_histsQAtrackCent%dType%dcuts%dPSF%d",centClass,trackType,cuts,iPhysicsSelectionFlag), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
5c77d274 466
467 mgr->AddTask(taskPWG4TrackQA);
468 mgr->ConnectInput(taskPWG4TrackQA,0,mgr->GetCommonInputContainer());
469 mgr->ConnectOutput(taskPWG4TrackQA,1,cout_histQAtrack);
470
471 // Return task pointer at the end
472 return taskPWG4TrackQA;
473}