]>
Commit | Line | Data |
---|---|---|
39ebaf78 | 1 | Bool_t ReadContaminationFunctionsBeauty(TString filename, TF1 **functions, double sigma){ |
2 | TFile *in = TFile::Open(Form("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/%s", filename.Data())); | |
3 | gROOT->cd(); | |
4 | int isig = static_cast<int>(sigma * 100.); | |
5 | if (isig == -44) isig = -42; | |
6 | if (isig == 6) isig = 9; | |
7 | printf("Getting hadron background for the sigma cut: %d\n", isig); | |
8 | bool status = kTRUE; | |
9 | for(int icent = 0; icent < 12; icent++){ | |
10 | functions[icent] = dynamic_cast<TF1 *>(in->Get(Form("hback_%d_%d", isig, icent))); | |
11 | if(functions[icent]) printf("Config for centrality class %d found\n", icent); | |
12 | else{ | |
13 | printf("Config for the centrality class %d not found\n", icent); | |
14 | status = kFALSE; | |
15 | } | |
16 | } | |
17 | delete in; | |
18 | return status; | |
19 | } | |
20 | ||
8dc7fa14 | 21 | Bool_t ReadContaminationFunctions(TString filename, TF1 **functions, double sigma){ |
420bd2ea | 22 | TFile *in = TFile::Open(Form("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/%s", filename.Data())); |
8dc7fa14 | 23 | gROOT->cd(); |
24 | int isig = static_cast<int>(sigma * 100.); | |
25 | printf("Getting hadron background for the sigma cut: %d\n", isig); | |
26 | bool status = kTRUE; | |
27 | for(int icent = 0; icent < 12; icent++){ | |
28 | functions[icent] = dynamic_cast<TF1 *>(in->Get(Form("hback_%d_%d", isig, icent))); | |
29 | if(functions[icent]) printf("Config for centrality class %d found\n", icent); | |
30 | else{ | |
31 | printf("Config for the centrality class %d not found\n", icent); | |
32 | status = kFALSE; | |
33 | } | |
34 | } | |
35 | delete in; | |
36 | return status; | |
37 | } | |
38 | ||
39ebaf78 | 39 | |
40 | AliAnalysisTaskHFE* ConfigHFEnpepPb(Bool_t useMC, Bool_t isAOD, Bool_t isBeauty, TString appendix, | |
8dc7fa14 | 41 | UChar_t TPCcl=70, UChar_t TPCclPID = 80, |
42 | UChar_t ITScl=3, Double_t DCAxy=1000., Double_t DCAz=1000., | |
43 | Double_t* tpcdEdxcutlow=NULL, Double_t* tpcdEdxcuthigh=NULL, | |
44 | Double_t TOFs=3., Int_t TOFmis=0, | |
45 | Int_t itshitpixel = 0, Int_t icent, | |
b74766cf | 46 | Double_t etami=-0.8, Double_t etama=0.8, |
39ebaf78 | 47 | Double_t phimi=-1., Double_t phima=-1., |
48 | Double_t assETAm=-0.8, Double_t assETAp=0.8, | |
49 | Double_t assMinPt=0.2, Int_t assITS=2, | |
8dc7fa14 | 50 | Int_t assTPCcl=100, Int_t assTPCPIDcl=80, |
51 | Double_t assDCAr=1.0, Double_t assDCAz=2.0, | |
52 | Double_t *assTPCSminus=NULL, Double_t *assTPCSplus=NULL, | |
39ebaf78 | 53 | Double_t assITSpid=-3., |
54 | Double_t assTOFs=3., | |
55 | Bool_t useCat1Tracks = kTRUE, Bool_t useCat2Tracks = kTRUE, Int_t weightlevelback = -1, | |
56 | Bool_t nonPhotonicElectronBeauty = kFALSE, Bool_t ipCharge = kFALSE, Bool_t ipOpp = kFALSE, Int_t ipsys = 0) | |
8dc7fa14 | 57 | { |
39ebaf78 | 58 | Bool_t kAnalyseTaggedTracks = kTRUE; |
b74766cf | 59 | Bool_t kApplyPreselection = kFALSE; |
420bd2ea | 60 | |
8dc7fa14 | 61 | //***************************************// |
62 | // Setting up the HFE cuts // | |
63 | //***************************************// | |
420bd2ea | 64 | |
65 | AliHFEcuts *hfecuts = new AliHFEcuts(appendix,"HFE cuts for pPb"); | |
8dc7fa14 | 66 | //hfecuts->SetQAOn(); |
67 | hfecuts->CreateStandardCuts(); | |
68 | hfecuts->SetMinNClustersTPC(TPCcl); | |
69 | hfecuts->SetMinNClustersTPCPID(TPCclPID); | |
70 | hfecuts->SetMinNClustersITS(ITScl); | |
71 | hfecuts->SetMinRatioTPCclusters(0.6); | |
72 | hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable); | |
73 | hfecuts->SetCutITSpixel(itshitpixel); | |
74 | hfecuts->SetCheckITSLayerStatus(kFALSE); | |
75 | hfecuts->SetEtaRange(etami,etama); | |
39ebaf78 | 76 | if(phimi >= 0. && phima >= 0) hfecuts->SetPhiRange(phimi,phima); |
1452614c | 77 | hfecuts->SetRejectKinkDaughters(); |
78 | hfecuts->SetAcceptKinkMothers(); | |
8dc7fa14 | 79 | if(isAOD) hfecuts->SetAODFilterBit(4); |
80 | ||
81 | //if((iPixelAny==AliHFEextraCuts::kAny) || (iPixelAny==AliHFEextraCuts::kSecond)) | |
8dc7fa14 | 82 | |
83 | hfecuts->SetMaxImpactParam(DCAxy,DCAz); | |
84 | hfecuts->SetUseMixedVertex(kTRUE); | |
85 | hfecuts->SetVertexRange(10.); | |
86 | // New pPb cuts (February 2013) | |
87 | hfecuts->SetUseCorrelationVertex(); | |
88 | hfecuts->SetSPDVtxResolutionCut(); | |
89 | hfecuts->SetpApileupCut(); | |
90 | ||
39ebaf78 | 91 | Bool_t ipSig = kFALSE; |
92 | ||
93 | hfecuts->SetIPcutParam(0.0054,0.078,-0.56,0,ipSig,ipCharge,ipOpp); | |
94 | if(ipsys==1) hfecuts->SetIPcutParam(0.0054,0.057,-0.66,0,ipSig,ipCharge,ipOpp); | |
95 | if(ipsys==2) hfecuts->SetIPcutParam(0.012,0.088,-0.65,0,ipSig,ipCharge,ipOpp); | |
96 | ||
97 | if(isBeauty) hfecuts->SetProductionVertex(0,100,0,100); | |
98 | ||
8dc7fa14 | 99 | // TOF settings: |
100 | Int_t usetof=0; | |
101 | Bool_t kTOFmis=kFALSE; | |
102 | if (TOFs>0.){ | |
103 | usetof = 1; | |
104 | printf("CONFIGURATION FILE: TOF is used \n"); | |
105 | hfecuts->SetTOFPIDStep(kTRUE); | |
106 | printf("CONFIGURATION FILE: TOF PID step is requested !!!! \n"); | |
107 | if (TOFmis>0){ | |
108 | kTOFmis = kTRUE; | |
109 | printf("CONFIGURATION FILE: TOF mismatch rejection is set ON \n"); | |
110 | } | |
111 | } | |
112 | ||
113 | //***************************************// | |
114 | // Setting up the task // | |
115 | //***************************************// | |
116 | ||
117 | AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE(Form("HFEtask%s",appendix.Data())); | |
118 | printf("task %p\n", task); | |
119 | task->SetpPbAnalysis(); | |
8dc7fa14 | 120 | if(!isAOD) task->SetRemoveFirstEventInChunk(); |
420bd2ea | 121 | task->SetRemovePileUp(kFALSE); |
122 | task->SetHFECuts(hfecuts); | |
8dc7fa14 | 123 | task->GetPIDQAManager()->SetHighResolutionHistos(); |
1452614c | 124 | task->SetRejectKinkMother(kFALSE); |
8dc7fa14 | 125 | |
420bd2ea | 126 | // Determine the centrality estimator |
127 | task->SetCentralityEstimator("V0A"); | |
128 | if (icent == 2) task->SetCentralityEstimator("V0M"); | |
129 | else if (icent == 3) task->SetCentralityEstimator("CL1"); | |
130 | else if (icent == 4) task->SetCentralityEstimator("ZNA"); | |
8dc7fa14 | 131 | |
1452614c | 132 | //***************************************// |
133 | // Prepare preselection // | |
134 | // This mimics the ESD->AOD filter in // | |
135 | // case of the ESD analysis and selects // | |
136 | // only tracks which will be selected in // | |
137 | // the AOD analysis with the given filter// | |
138 | // bit. Not to be applied for AODS. // | |
139 | // For pPb the cuts used are (bit 4) // | |
140 | // esdTrackCutsHG0 from file $ALICE_ROOT/// | |
141 | // ANALYSIS/macros/AddTaskESDFilter.C // | |
142 | //***************************************// | |
143 | ||
144 | if(kApplyPreselection){ | |
145 | AliESDtrackCuts* esdfilter = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE); | |
146 | esdfilter->SetMaxDCAToVertexXY(2.4); | |
147 | esdfilter->SetMaxDCAToVertexZ(3.2); | |
148 | esdfilter->SetDCAToVertex2D(kTRUE); | |
149 | ||
150 | task->SetHFECutsPreselect(esdfilter); | |
151 | printf("Put a preselection cut\n"); | |
152 | task->SetFillNoCuts(kTRUE); | |
153 | } | |
154 | ||
8dc7fa14 | 155 | //***************************************// |
156 | // Variable manager // | |
157 | //***************************************// | |
8dc7fa14 | 158 | // Define Variables |
159 | Double_t ptbinning[36] = {0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5., 5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.}; | |
160 | Double_t etabinning[17] = {-0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8}; | |
161 | ||
162 | Int_t sizept=(sizeof(ptbinning)/sizeof(double))-1; | |
163 | Int_t sizeeta=(sizeof(etabinning)/sizeof(double))-1; | |
164 | ||
165 | AliHFEvarManager *vm = task->GetVarManager(); | |
166 | vm->AddVariable("pt", sizept, ptbinning); | |
167 | vm->AddVariable("eta", sizeeta, -0.8,0.8); | |
39ebaf78 | 168 | vm->AddVariable("phi",18, -0, 2*TMath::Pi()); |
8dc7fa14 | 169 | vm->AddVariable("charge"); |
170 | vm->AddVariable("source"); | |
171 | vm->AddVariable("centrality"); | |
172 | ||
8dc7fa14 | 173 | // For the moment, remove the part dedicated to the background subtraction. |
174 | // It will be implemented in a different way, reading it from a root file. | |
8dc7fa14 | 175 | |
176 | //***************************************// | |
177 | // Configure the PID // | |
178 | //***************************************// | |
179 | ||
180 | // Define PID | |
181 | AliHFEpid *pid = task->GetPID(); | |
182 | if(useMC) pid->SetHasMCData(kTRUE); | |
183 | ||
184 | if (usetof){ | |
185 | pid->AddDetector("TOF", 0); | |
186 | pid->AddDetector("TPC", 1); | |
187 | } else { | |
188 | pid->AddDetector("TPC", 0); | |
189 | } | |
190 | ||
191 | // Configure TPC PID | |
420bd2ea | 192 | // do the identical thing in data and MC |
193 | Double_t paramsTPCdEdxcutlow[12] ={0.0, 0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; | |
194 | if(tpcdEdxcutlow) memcpy(paramsTPCdEdxcutlow,tpcdEdxcutlow,sizeof(paramsTPCdEdxcutlow)); | |
8dc7fa14 | 195 | |
420bd2ea | 196 | Double_t paramsTPCdEdxcuthigh[12] ={3.0, 3.0, 3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0}; |
197 | if(tpcdEdxcuthigh) memcpy(paramsTPCdEdxcuthigh,tpcdEdxcuthigh,sizeof(paramsTPCdEdxcuthigh)); | |
198 | ||
39ebaf78 | 199 | char *cutmodel; |
eba5ec88 | 200 | |
39ebaf78 | 201 | if(useMC){ // constant (default) cut for MC |
202 | cutmodel="pol0(0)"; | |
203 | Double_t params[1]; | |
204 | params[0]=paramsTPCdEdxcutlow[0]; | |
205 | pid->ConfigureTPCdefaultCut(cutmodel, params,tpcdEdxcuthigh[0]); | |
206 | } else { // correct for mean shift in data | |
207 | cutmodel="min(pol1(0),pol0(2))"; | |
208 | Double_t params[3]; | |
209 | //params[0]=-0.12; params[1]=0.14; params[2]=0.09; | |
210 | params[0]=-0.21 + paramsTPCdEdxcutlow[0]; | |
211 | params[1]=0.14; | |
212 | params[2]=paramsTPCdEdxcutlow[0]; | |
213 | pid->ConfigureTPCdefaultCut(cutmodel, params,tpcdEdxcuthigh[0]); | |
214 | } | |
eba5ec88 | 215 | /* |
420bd2ea | 216 | char *cutmodel; |
217 | cutmodel="pol0"; | |
218 | ||
219 | for(Int_t a=0;a<11;a++){ | |
220 | // Not necessary anymore, since the pPb case is handled similarly to the pp case | |
221 | // cout << a << " " << paramsTPCdEdxcut[a] << endl; | |
222 | Double_t tpcparamlow[1]={paramsTPCdEdxcutlow[a]}; | |
223 | Float_t tpcparamhigh=paramsTPCdEdxcuthigh[a]; | |
224 | pid->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); | |
8dc7fa14 | 225 | } |
226 | pid->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); // After introducing the pPb flag, pPb is merged with pp and this line defines the cut | |
eba5ec88 | 227 | */ |
8dc7fa14 | 228 | |
229 | // Configure TOF PID | |
230 | if (usetof){ | |
231 | pid->ConfigureTOF(TOFs); | |
232 | AliHFEpidTOF *tofpid = pid->GetDetPID(AliHFEpid::kTOFpid); | |
233 | if (kTOFmis){ | |
234 | tofpid->SetRejectTOFmismatch(); | |
235 | } | |
236 | } | |
237 | ||
238 | // To make different upper TOF cut to see contamination effect | |
239 | // The below two lines should be removed after this check | |
240 | //AliHFEpidTOF *tofpid = pid->GetDetPID(AliHFEpid::kTOFpid); | |
241 | //if(TOFs<3.) tofpid->SetTOFnSigmaBand(-3,TOFs); //only to check the assymmetric tof cut | |
420bd2ea | 242 | |
8dc7fa14 | 243 | // Load hadron background |
244 | if(!useMC){ | |
245 | Bool_t status = kTRUE; | |
246 | TF1 *hBackground[12]; | |
eba5ec88 | 247 | if(isAOD==1) { |
248 | if (usetof) status = ReadContaminationFunctions("hadroncontamination_AOD139_TOFPID_pPb_eta06.root", hBackground, tpcdEdxcutlow[0]); | |
249 | else status = ReadContaminationFunctions("hadroncontamination_AOD139_noTOFPID_pPb_eta06.root", hBackground, tpcdEdxcutlow[0]); | |
250 | } | |
39ebaf78 | 251 | else if (isBeauty==1) { |
252 | status = ReadContaminationFunctionsBeauty("hadroncontamination_ESD_Beauty_TOFPID_pPb_eta06.root", hBackground, tpcdEdxcutlow[0]); | |
253 | } | |
eba5ec88 | 254 | else status = ReadContaminationFunctions("hadroncontamination_TOFTPC_pPb_eta06_newsplines_try3.root", hBackground, tpcdEdxcutlow[0]); |
8dc7fa14 | 255 | for(Int_t a=0;a<12;a++) { |
420bd2ea | 256 | //printf("back %f \n",hBackground[a]); |
8dc7fa14 | 257 | if(status) task->SetBackGroundFactorsFunction(hBackground[a],a); |
258 | else printf("not all background functions found\n"); | |
259 | } | |
260 | } | |
261 | ||
262 | //***************************************// | |
263 | // Configure NPE plugin // | |
264 | //***************************************// | |
420bd2ea | 265 | |
8dc7fa14 | 266 | AliHFENonPhotonicElectron *backe = new AliHFENonPhotonicElectron(Form("HFEBackGroundSubtractionPID2%s",appendix.Data()),"Background subtraction"); //appendix |
267 | //Setting the Cuts for the Associated electron-pool | |
268 | AliHFEcuts *hfeBackgroundCuts = new AliHFEcuts(Form("HFEBackSub%s",appendix.Data()),"Background sub Cuts"); | |
269 | // hfeBackgroundCuts->SetEtaRange(assETA); | |
270 | hfeBackgroundCuts->SetEtaRange(assETAm,assETAp); | |
39ebaf78 | 271 | hfeBackgroundCuts->SetPtRange(assMinPt,20.); |
8dc7fa14 | 272 | |
273 | hfeBackgroundCuts->SetMaxChi2perClusterTPC(4); | |
274 | hfeBackgroundCuts->SetMinNClustersITS(assITS); | |
275 | hfeBackgroundCuts->SetMinNClustersTPC(assTPCcl); | |
276 | hfeBackgroundCuts->SetMinNClustersTPCPID(assTPCPIDcl); | |
277 | hfeBackgroundCuts->SetMaxImpactParam(assDCAr,assDCAz); | |
278 | if(isAOD) hfeBackgroundCuts->SetAODFilterBit(4); | |
279 | hfeBackgroundCuts->SetQAOn(); // QA | |
280 | ||
281 | AliHFEpid *pidbackground = backe->GetPIDBackground(); | |
282 | if(useMC) pidbackground->SetHasMCData(kTRUE); | |
39ebaf78 | 283 | |
284 | if (assTOFs>0.){ | |
285 | pidbackground->AddDetector("TOF", 0); | |
286 | pidbackground->AddDetector("TPC", 1); | |
287 | } else { | |
288 | pidbackground->AddDetector("TPC", 0); | |
289 | } | |
290 | ||
8dc7fa14 | 291 | Double_t paramsTPCdEdxcutlowAssoc[12] ={-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0}; |
292 | if(assTPCSminus) memcpy(paramsTPCdEdxcutlowAssoc,assTPCSminus,sizeof(paramsTPCdEdxcutlowAssoc)); | |
293 | ||
294 | Double_t paramsTPCdEdxcuthighAssoc[12] ={3.0, 3.0, 3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0}; | |
295 | if(assTPCSplus) memcpy(paramsTPCdEdxcuthighAssoc,assTPCSplus,sizeof(paramsTPCdEdxcuthighAssoc)); | |
296 | ||
297 | char *cutmodelAssoc; | |
298 | cutmodelAssoc="pol0"; | |
420bd2ea | 299 | for(Int_t a=0;a<11;a++){ |
8dc7fa14 | 300 | // Not necessary anymore, since the pPb case is handled similarly to the pp case |
301 | // cout << a << " " << paramsTPCdEdxcut[a] << endl; | |
302 | Double_t tpcparamlow[1]={paramsTPCdEdxcutlowAssoc[a]}; | |
303 | Float_t tpcparamhigh=paramsTPCdEdxcuthighAssoc[a]; | |
304 | pidbackground->ConfigureTPCcentralityCut(a,cutmodelAssoc,tpcparamlow,tpcparamhigh); | |
305 | } | |
306 | pidbackground->ConfigureTPCdefaultCut(cutmodelAssoc,paramsTPCdEdxcutlowAssoc,paramsTPCdEdxcuthighAssoc[0]); // After introducing the pPb flag, pPb is merged with pp and this line defines the cut | |
b74766cf | 307 | //backe->GetPIDBackgroundQAManager()->SetHighResolutionHistos(); |
39ebaf78 | 308 | |
309 | if (assTOFs>0.){ | |
310 | pidbackground->ConfigureTOF(TOFs); | |
311 | } | |
312 | ||
8dc7fa14 | 313 | backe->SetHFEBackgroundCuts(hfeBackgroundCuts); |
314 | ||
315 | // Selection of associated tracks for the pool | |
316 | if(useCat1Tracks) backe->SelectCategory1Tracks(kTRUE); | |
1452614c | 317 | if(useCat2Tracks){ |
318 | backe->SelectCategory2Tracks(kTRUE); | |
39ebaf78 | 319 | backe->SetITSMeanShift(-0.5); |
320 | backe->SetITSnSigmaHigh(assITSpid); | |
321 | Double_t assITSminus = -1.0 * assITSpid; | |
322 | backe->SetITSnSigmaLow(assITSminus); | |
323 | //backe->SetminPt(assMinPt); | |
1452614c | 324 | } |
8dc7fa14 | 325 | |
326 | // apply opening angle cut to reduce file size | |
327 | backe->SetMaxInvMass(0.3); | |
1452614c | 328 | backe->SetPtBinning(sizept, ptbinning); |
329 | backe->SetEtaBinning(sizeeta, etabinning); | |
39ebaf78 | 330 | // MC weight |
331 | if(useMC) { | |
332 | //printf("test put weight %d\n",weightlevelback); | |
333 | if((weightlevelback >=0) && (weightlevelback < 3)) backe->SetWithWeights(weightlevelback); | |
334 | } | |
8dc7fa14 | 335 | task->SetHFEBackgroundSubtraction(backe); |
336 | ||
39ebaf78 | 337 | //task->SetWeightHist(); |
338 | ||
8dc7fa14 | 339 | //***************************************// |
340 | // V0 tagged tracks // | |
341 | //***************************************// | |
342 | ||
343 | if(kAnalyseTaggedTracks){ | |
344 | AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis"); | |
345 | v0trackCuts->CreateStandardCuts(); | |
346 | v0trackCuts->SetMinNClustersTPC(TPCcl); | |
420bd2ea | 347 | v0trackCuts->SetMinNClustersTPCPID(TPCclPID); |
8dc7fa14 | 348 | v0trackCuts->SetMinRatioTPCclusters(0.6); |
349 | v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable); | |
350 | v0trackCuts->SetMinNClustersITS(1); | |
351 | v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kFirst); | |
352 | v0trackCuts->SetCheckITSLayerStatus(kFALSE); | |
353 | v0trackCuts->UnsetVertexRequirement(); | |
354 | //hfecuts->SetSigmaToVertex(10); | |
420bd2ea | 355 | if(usetof) v0trackCuts->SetTOFPIDStep(kTRUE); |
8dc7fa14 | 356 | v0trackCuts->SetQAOn(); |
357 | ||
358 | task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis); | |
359 | task->SetTaggedTrackCuts(v0trackCuts); | |
360 | task->SetCleanTaggedTrack(kTRUE); | |
361 | } | |
362 | ||
363 | // QA | |
364 | printf("task %p\n", task); | |
365 | task->SetQAOn(AliAnalysisTaskHFE::kPIDqa); | |
366 | task->SetQAOn(AliAnalysisTaskHFE::kMCqa); | |
8dc7fa14 | 367 | task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep); |
39ebaf78 | 368 | if(nonPhotonicElectronBeauty) task->SwitchOnPlugin(AliAnalysisTaskHFE::kNonPhotonicElectronBeauty); |
369 | else task->SwitchOnPlugin(AliAnalysisTaskHFE::kNonPhotonicElectron); | |
8dc7fa14 | 370 | |
371 | printf("*************************************\n"); | |
372 | printf("Configuring standard Task:\n"); | |
373 | task->PrintStatus(); | |
374 | pid->PrintStatus(); | |
375 | printf("*************************************\n"); | |
376 | return task; | |
377 | } |