]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/macros/AddTaskHFEnpepPb.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFEnpepPb.C
CommitLineData
b74766cf 1AliAnalysisTask *AddTaskHFEnpepPb(Bool_t MCthere,
0b7c6a7b 2 Bool_t isAOD,
b74766cf 3 Bool_t kNPERef = kTRUE,
39ebaf78 4 Bool_t kNPERefTPConly = kFALSE,
b74766cf 5 Bool_t kNPEkAny = kFALSE,
420bd2ea 6 Bool_t kNPEsystematics = kFALSE,
39ebaf78 7 Bool_t kNPEpidsys = kFALSE,
8 Bool_t kNPEw = kFALSE,
9 Bool_t kBeauty = kFALSE
b74766cf 10){
8dc7fa14 11
12 // Default settings (TOF-TPC pPb)
39ebaf78 13 const int kDefTPCcl = 100;
8dc7fa14 14 const int kDefTPCclPID = 80;
15 const int kDefITScl = 4;
16 const double kDefDCAr = 1.;
17 const double kDefDCAz = 2.;
8dc7fa14 18 const double kDefTOFs = 3.;
39ebaf78 19 const double kDefEtaIncMin = -0.8;
20 const double kDefEtaIncMax = 0.8;
21 const double kDefPhiMin = -1.; // by default no phi cut, otherwise units of 2.*TMath::Pi()/18.
22 const double kDefPhiMax = -1.; // by default no phi cut
23
eba5ec88 24
420bd2ea 25 // TPC PID Cuts Inclusive leg:
eba5ec88 26 // General, if mean=0 and sigma=1:
27 // Above 3 sigma we neglect 0.13%
28 // cut in sigma (effective efficiency from cut to 3 sigma)
29 // -1 (84%), -0.75 (77.2%), -0.5 (69%), -0.25 (59.7%), -0.129 (55%)
30 // 0 (49.9%), 0.122 (45%), 0.25 (40%), 0.5 (30.7%)
31
32 // ESDs: mean 0.06, sigma 1 --> -0.94, -0.69, -0.44, -0.19, -0.009 ,0.06, 0.182, 0.31, 0.56
33 // AODs: mean 0.09, sigma 1 --> -0.91, -0.66, -0.41, -0.16, -0.039 ,0.09, 0.212, 0.34, 0.59
34 // AODs: mean 0.09, sigma 1.03 --> -0.94, -0.68, -0.425, -0.17, -0.043 ,0.09, 0.216, 0.35, 0.60
35
eba5ec88 36 // On ESD:
420bd2ea 37 // mean is actually 0.06 (abs(eta)<0.6)
38 Double_t dEdxhm[12] = {3.06,3.06,3.06,3.06,3.06,3.06,3.06,3.06,3.06,3.06,3.06,3.06}; // Above 3 sigma we neglect 0.13%
420bd2ea 39 Double_t tpcl0[12] = {-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94}; // 84%
40 Double_t tpcl1[12] = {-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44,-0.44}; // 69%
41 Double_t tpcl2[12] = {0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06}; // 50%
420bd2ea 42 Double_t tpcl3[12] = {-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69}; // 77.2%
43 Double_t tpcl4[12] = {-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19}; // 59.7%
44 Double_t tpcl5[12] = {0.186,0.186,0.186,0.186,0.186,0.186,0.186,0.186,0.186,0.186,0.186,0.186}; // 45%
45 Double_t tpcl6[12] = {0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31}; // 40%
46 Double_t tpcl7[12] = {0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56}; // 30.7%
47
eba5ec88 48 // AOD 139 with TPC multi cor; w/o TOF PID
39ebaf78 49 Double_t dEdxhmAOD[12] = {3.18,3.18,3.18,3.18,3.18,3.18,3.18,3.18,3.18,3.18,3.18,3.18}; // upper cut
50 Double_t tpcl0AOD[12] = {-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94,-0.94}; // 84% <-- hadron contamination
eba5ec88 51 Double_t tpcl1AOD[12] = {-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68}; // 77.2%
39ebaf78 52 Double_t tpcl2AOD[12] = {-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425,-0.425}; // 69% <-- had cont
53 Double_t tpcl3AOD[12] = {-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17,-0.17}; // 59.7% <-- had cont
eba5ec88 54 Double_t tpcl4AOD[12] = {-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043,-0.043}; // 55%
39ebaf78 55 Double_t tpcl5AOD[12] = {0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09}; // 49.9% <-- had cont
eba5ec88 56 Double_t tpcl6AOD[12] = {0.216,0.216,0.216,0.216,0.216,0.216,0.216,0.216,0.216,0.216,0.216,0.216}; // 45%
57 Double_t tpcl7AOD[12] = {0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35}; // 40%
58 Double_t tpcl8AOD[12] = {0.60,0.60,0.60,0.60,0.60,0.60,0.60,0.60,0.60,0.60,0.60,0.60}; // 30.7%
59
8dc7fa14 60 // Default setting for the associated electron for the NonPhotonic Analysis
39ebaf78 61 const double kassETAm = -0.8;
62 const double kassETAp = 0.8;
63 const double kassMinPt = 0.1;
64 const int kassITS = 2;
65 const int kassTPCcl = 60;
66 const int kassTPCPIDcl = 60;
67 const double kassDCAr = 1.0;
68 const double kassDCAz = 2.0;
69 const double kassTPCSminus = -3.0;
70 const double kassTPCSplus = 3.0;
71 const double kassITSpid = 3.0;
72 const double kassTOFpid = 0.0;
8dc7fa14 73
74 enum{
75 kHFEV0A = 1,
76 kHFEV0M = 2,
77 kHFECL1 = 3,
78 kHFEZNA = 4
79 };
80
39ebaf78 81 const Bool_t isBeauty = kFALSE;
82
8dc7fa14 83 //get the current analysis manager
84 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
85 if (!mgr) {
86 Error("AddTask_hfe_HFE", "No analysis manager found.");
87 return 0;
88 }
89
90 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
91
92 //@@ 0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
93
420bd2ea 94 Double_t dEdxaclm[12], dEdxachm[12],dEdxaclm1[12], dEdxachm1[12],dEdxaclm2[12], dEdxachm2[12];
8dc7fa14 95 for(int icent = 0; icent < 12; icent++){
8dc7fa14 96 dEdxaclm[icent] = kassTPCSminus;
97 dEdxachm[icent] = kassTPCSplus;
420bd2ea 98 dEdxaclm1[icent] = -2;
99 dEdxachm1[icent] = 2;
100 dEdxaclm2[icent] = -4;
101 dEdxachm2[icent] = 4;
8dc7fa14 102 }
103
39ebaf78 104 Int_t kWei = -1;
105 if (MCthere) kWei = 0;
106 enum {
107 // updated after changes by Jan on 17.04, commit 21648
108 kb2weiData = 3, // DPMJET weights
109 kd3weiData = 4, // HIJING weights
110 kd3weib2 = 5, // HIJING weights for DPMJET
111 };
112
113
114
8dc7fa14 115 if(kNPERef){
116 // **************************************************************
117 //
118 // Reference task
119 //
120 // **************************************************************
39ebaf78 121 if(isAOD==1){
122 // Reference
123 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
124 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
125 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
126 /*
127 if (MCthere){ // run without weights
128 // this is an exceptional case, so I handle it by hand for the moment
129 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
130 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
131 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData);
132 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
133 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
134 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weib2);
135 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
136 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
137 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE);
eba5ec88 138 }
39ebaf78 139 // no ITS SA
140 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
141 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
142 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kFALSE, kWei, kd3weiData);
143 */
144 }
145 else {
146 // Reference
147 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
148 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
149 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
eba5ec88 150 }
b74766cf 151 }
39ebaf78 152
b74766cf
J
153 if(kNPERefTPConly){
154 // **************************************************************
155 //
156 // Reference task for TPC-only on the inclusive leg
157 //
39ebaf78 158 // **************************************************************
159 if(isAOD==1){
160 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl5AOD,
161 dEdxhmAOD, 0., AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
162 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE);
163 }
164 else
165 {
166 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
167 dEdxhm, 0., AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
168 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE);
eba5ec88 169 }
8dc7fa14 170 }
39ebaf78 171
8dc7fa14 172 if(kNPEkAny){
173 // **************************************************************
174 //
175 // task for kAny instead of kBoth
176 //
177 // **************************************************************
39ebaf78 178
179 // coming soon
180 }
181
182 if (kNPEpidsys){
183 if(isAOD==1){
184 // Inclusive: TPC pid cuts
185 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl0AOD,
186 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
187 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
188 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl3AOD,
189 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
190 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
191 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl5AOD,
192 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
193 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
194 // Inclusive: TOF PID cuts
195 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
196 dEdxhmAOD, 2.0, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
197 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
198 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
199 dEdxhmAOD, 2.5, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
200 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
201 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
202 dEdxhmAOD, 4.0, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
203 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
204 }
205 else
206 {
207 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl5,
208 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
209 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE);
210 }
211
420bd2ea 212 }
8dc7fa14 213
214 if(kNPEsystematics){
215 // **************************************************************
216 //
39ebaf78 217 // Cut systematics
8dc7fa14 218 //
219 // **************************************************************
39ebaf78 220 if(isAOD==1){
221
222 // TPC clusters for tracking
223 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, 80, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
224 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
225 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
226 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, 90, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
227 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
228 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
229 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty,100, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
230 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
231 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
232 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty,120, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
233 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
234 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
235 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty,130, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
236 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
237 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
238 // TPC clusters for PID
239 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, 60, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
240 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
241 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
242 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl,100, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
243 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
244 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
245 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl,110, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
246 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
247 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
248
249 /* SYST 2
250 // Cat1 + cat2 tracks: vary ITS PID
251 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
252 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
253 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, 2.0, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
254 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
255 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
256 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, 4.0, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
257 // Cat1 + cat2 tracks: vary TPC PID
258 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
259 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
260 kassDCAr, kassDCAz, dEdxaclm1, dEdxachm1, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
261 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
262 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
263 kassDCAr, kassDCAz, dEdxaclm2, dEdxachm2, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kd3weiData);
264 // no ITS SA: add TOF PID
265 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
266 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
267 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, 2.0, kTRUE, kFALSE, kWei, kd3weiData);
268 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
269 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
270 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, 3.0, kTRUE, kFALSE, kWei, kd3weiData);
271 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
272 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
273 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, 4.0, kTRUE, kFALSE, kWei, kd3weiData);
274 // no ITS SA: add TOF PID, vary TPC PID
275 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
276 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
277 kassDCAr, kassDCAz, dEdxaclm1, dEdxachm1, kassITSpid, kassTOFpid, kTRUE, kFALSE, kWei, kd3weiData);
278 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
279 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
280 kassDCAr, kassDCAz, dEdxaclm2, dEdxachm2, kassITSpid, kassTOFpid, kTRUE, kFALSE, kWei, kd3weiData);
281 */
282 /* SYST 1
283 // Inclusive DCA cuts
284 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, 0.5, 1.0, tpcl2AOD,
285 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
286 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
287 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, 2.0, 5.0, tpcl2AOD,
288 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
289 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
290 // Associated DCA cuts
291 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
292 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
293 0.5, 1.0, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
294 RegisterTaskNPEpPb( MCthere, isAOD, isBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD,
295 dEdxhmAOD, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
296 2.0, 5.0, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei);
297 */
298 }
8dc7fa14 299 }
300
39ebaf78 301 if(kBeauty){
302 // **************************************************************
303 //
304 // Beauty task
305 //
306 // **************************************************************
307 if(isAOD==1){
308 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD, dEdxhmAOD, kDefTOFs,
309 AliHFEextraCuts::kBoth, kHFEV0A, kDefEtaIncMin, kDefEtaIncMax, kassETAm, kassETAp, kassITS, kassTPCcl,
310 kassTPCPIDcl, kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kTRUE, kTRUE, -1, kTRUE);
311 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD, dEdxhmAOD, kDefTOFs,
312 AliHFEextraCuts::kBoth, kHFEV0A, kDefEtaIncMin, kDefEtaIncMax, kassETAm, kassETAp, kassITS, kassTPCcl,
313 kassTPCPIDcl, kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kTRUE, kTRUE,-1, kTRUE, kTRUE, kFALSE);
314 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2AOD, dEdxhmAOD, kDefTOFs,
315 AliHFEextraCuts::kBoth, kHFEV0A, kDefEtaIncMin, kDefEtaIncMax, kassETAm, kassETAp, kassITS, kassTPCcl,
316 kassTPCPIDcl, kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kTRUE, kTRUE,-1, kTRUE, kTRUE, kTRUE);
317 }
318 else{
319 // reference
320 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
321 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
322 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
323 // nonphotonic bg
324 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
325 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
326 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiDataSys, kTRUE);
327 //ip sys
328 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
329 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
330 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE, kFALSE, kFALSE, 1);
331 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
332 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
333 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE, kFALSE, kFALSE, 2);
334
335 // tpc cluster
336 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, 100, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
337 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
338 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
339 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, 120, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
340 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
341 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
342
343 // tpc pid cluster
344 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, 60, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
345 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
346 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
347 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, 100, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
348 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
349 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
350
351 // dca xy
352 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, 2, kDefDCAz, tpcl1,
353 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
354 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
355 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, 0.5, kDefDCAz, tpcl1,
356 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
357 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
358 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, 0.1, 0.5, tpcl1,
359 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
360 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
361
362 // dca z
363 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, 4, tpcl1,
364 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
365 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
366 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, 1, tpcl1,
367 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
368 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
369
370 // ITS cluster
371 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, 2, kDefDCAr, kDefDCAz, tpcl1,
372 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
373 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
374 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, 3, kDefDCAr, kDefDCAz, tpcl1,
375 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
376 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
377
378 // TOF PID
379 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
380 dEdxhm, 2, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
381 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
382 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl1,
383 dEdxhm, 4, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
384 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
385
386 // TPC PID
387 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl0, //84%
388 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
389 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
390 RegisterTaskNPEpPb( MCthere, isAOD, kBeauty, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, tpcl2, //50%
391 dEdxhm, kDefTOFs, AliHFEextraCuts::kBoth, kHFEV0A, kassITS, kassTPCcl, kassTPCPIDcl,
392 kassDCAr, kassDCAz, dEdxaclm, dEdxachm, kassITSpid, kassTOFpid, kTRUE, kTRUE, kWei, kb2weiData, kTRUE);
393 }
420bd2ea 394 }
39ebaf78 395
8dc7fa14 396 return NULL;
397}
398
399//===============================================================================
39ebaf78 400AliAnalysisTask *RegisterTaskNPEpPb(Bool_t useMC, Bool_t isAOD, Bool_t beauty,
8dc7fa14 401 Int_t tpcCls=120, Int_t tpcClsPID=80,
402 Int_t itsCls=4, Double_t dcaxy=1.0, Double_t dcaz=2.0,
403 Double_t *tpcdEdxcutlow=NULL, Double_t *tpcdEdxcuthigh=NULL,
39ebaf78 404 Double_t tofs=3., Int_t itshitpixel =AliHFEextraCuts::kBoth,
405 //Double_t phimi=-1., Double_t phima=-1.,
406 Int_t icent=1,
407 Int_t assITS=2, Int_t assTPCcl=100,
420bd2ea 408 Int_t assTPCPIDcl=80, Double_t assDCAr=1.0, Double_t assDCAz=2.0,
409 Double_t *assTPCSminus = NULL, Double_t *assTPCSplus=NULL,
39ebaf78 410 Double_t assITSpid = 3.0, Double_t assTOFpid = 0.0,
411 Bool_t useCat1Tracks = kTRUE, Bool_t useCat2Tracks = kTRUE,
412 Int_t weightlevelback = -1, Int_t WhichWei = 0,
413 Bool_t npeBeauty = kFALSE, Bool_t ipCharge = kFALSE, Bool_t isOpp = kFALSE, Int_t ipSys = 0)
8dc7fa14 414{
39ebaf78 415 // Fixed values
416 Double_t etaIncMin = -0.8; Double_t etaIncMax = 0.8;
417 Double_t phimi = -1.; Double_t phima = -1.;
418 Double_t assETAm=-0.8; Double_t assETAp=0.8;
419 Double_t assMinPt = 0.1;
420
b74766cf
J
421 //
422 // Cuts on the inclusive leg
423 //
424 Int_t idcaxy = (Int_t)(dcaxy*10.);
425 Int_t idcaz = (Int_t)(dcaz*10.);
426 Int_t tpclow = 0;
427 if(tpcdEdxcutlow) tpclow = (Int_t) (tpcdEdxcutlow[0]*1000.);
428 Int_t itofs = (Int_t)(tofs*10.);
429 Int_t ipixelany = itshitpixel;
39ebaf78 430 TString phirange("");
431 if (phimi >= 0. && phima >= 0.){
432 phirange += "Phi";
433 phirange += phimi;
434 phirange += "-";
435 phirange += phima;
436 }
8dc7fa14 437
b74766cf
J
438 //
439 // Cuts on the associated leg
440 //
8dc7fa14 441 Int_t iassDCAr = (Int_t)(assDCAr*10);
442 Int_t iassDCAz = (Int_t)(assDCAz*10);
b74766cf 443 Int_t iassTPCSminus = assTPCSplus ? (Int_t)(assTPCSplus[0]*1000.) : 0;
39ebaf78 444 Int_t iassTOF = (Int_t)(assTOFpid*10);
445 Int_t iassITS = (Int_t)(assITSpid * 10.);
446 Int_t phoTrack = 0;
447 if (useCat1Tracks) phoTrack = 1;
448 if (useCat2Tracks) phoTrack = 2;
8dc7fa14 449
39ebaf78 450 //printf("Argument passed to function to determine the centrality estimator %i\n", icent);
8dc7fa14 451 if (icent == 2) TString cesti("V0M");
452 else if (icent == 3) TString cesti("CL1");
453 else if (icent == 4) TString cesti("ZNA");
454 else TString cesti("V0A");
39ebaf78 455 //printf("Centrality estimator %s\n", cesti.Data());
456
457 TString cweightsback("");
458 if(weightlevelback>=0) {
459 cweightsback += "Wa";
460 if (WhichWei>0){
461 cweightsback += WhichWei;
462 //cweightsback += weightlevelback;
463 }
464 }
465
466 if(beauty) {
467 if(ipCharge && isOpp) TString cbeauty("BeautyIPopp");
468 else if(ipCharge) TString cbeauty("BeautyIPcrg");
469 else if(!ipCharge) TString cbeauty("Beauty");
470 else TString cbeauty("BeautyWrong");
471 cbeauty = cbeauty+Form("ip%dwei%d",ipSys,WhichWei);
472 }
473 else TString cbeauty("");
474
475 TString appendix(TString::Format("incTPCc%dp%dITS%dSPD%dDCAr%dz%dTPCs%dTOFs%d_photTPCc%dp%dITS%dDCAr%dz%dTPCs%dITSs%dTOFs%dtr%dce%s%s%s",
476 tpcCls,tpcClsPID,itsCls,ipixelany,idcaxy,idcaz,tpclow,itofs,assTPCcl,assTPCPIDcl,assITS,iassDCAr,
477 iassDCAz,iassTPCSminus,iassITS,iassTOF,phoTrack,cesti.Data(),cweightsback.Data(),cbeauty.Data()));
8dc7fa14 478
8dc7fa14 479 printf("Add macro appendix %s\n", appendix.Data());
480
39ebaf78 481 if(!gROOT->GetListOfGlobalFunctions()->FindObject("ConfigWeightFactors"))
482 gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/ConfigWeightFactors.C");
483 if(!gROOT->GetListOfGlobalFunctions()->FindObject("ConfigHFEnpepPb"))
484 gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/ConfigHFEnpepPb.C");
8dc7fa14 485
486 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
487 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
39ebaf78 488 AliAnalysisTaskHFE *task = ConfigHFEnpepPb(useMC, isAOD, beauty, appendix, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz,
489 tpcdEdxcutlow, tpcdEdxcuthigh, tofs, 0, itshitpixel, icent, etaIncMin, etaIncMax,
490 phimi*TMath::Pi()/9., phima*TMath::Pi()/9.,
491 assETAm, assETAp, assMinPt, assITS, assTPCcl, assTPCPIDcl, assDCAr, assDCAz, assTPCSminus,
492 assTPCSplus,assITSpid,assTOFpid,
493 useCat1Tracks, useCat2Tracks, weightlevelback, npeBeauty, ipCharge, isOpp, ipSys);
494
8dc7fa14 495 if(isAOD)
496 task->SetAODAnalysis();
497 else
498 task->SetESDAnalysis();
499
420bd2ea 500 if (useMC) task->SetHasMCData(kTRUE);
8dc7fa14 501 else task->SetHasMCData(kFALSE);
502
503 task->SelectCollisionCandidates(AliVEvent::kINT7);
504
39ebaf78 505 if(useMC&&(beauty || (weightlevelback>=0))) {
506 ConfigWeightFactors(task,kFALSE,WhichWei);
507 if(WhichWei==8) {
508 ConfigWeightFactors(task,kTRUE,3);
509 task->SetNonHFEsystematics(kTRUE);
510 }
511 }
8dc7fa14 512 TString containerName = mgr->GetCommonFileName();
513 containerName += ":HFEtask";
514 containerName += appendix.Data();
515 printf("container name: %s\n", containerName.Data());
516
517 //create data containers
518 task->ConnectOutput(1, mgr->CreateContainer(Form("HFE_Results_%s", appendix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, containerName.Data() ));
519 task->ConnectOutput(2, mgr->CreateContainer(Form("HFE_QA_%s", appendix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, containerName.Data()));
520 mgr->ConnectInput(task, 0, cinput );
521
522 mgr->AddTask(task);
523
524 return NULL;
525}