]>
Commit | Line | Data |
---|---|---|
b74766cf | 1 | AliAnalysisTask *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 | 400 | AliAnalysisTask *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 | } |