2 // *** Configuration script for Sigma*->Lambda-Pi analysis with 2010 runs ***
4 // A configuration script for RSN package needs to define the followings:
6 // (1) decay tree of each resonance to be studied, which is needed to select
7 // true pairs and to assign the right mass to all candidate daughters
8 // (2) cuts at all levels: single daughters, tracks, events
9 // (3) output objects: histograms or trees
11 Bool_t ConfigSigmaStarPbPb
13 AliRsnMiniAnalysisTask *task,
22 Float_t lambdaCosPoinAn,
23 Float_t lambdaDaughDCA,
26 AliRsnCutSet *cutsPair
30 if (strlen(suffix) > 0) suffix = Form("_%s", suffix);
33 // -- Define track cuts -------------------------------------------------------------------------
36 TString s = ""; s+=trackDCAcut; s+="*(0.0026+0.0050/pt^1.01)";
38 const char *formula = s;
40 // integrated pion cut
41 AliRsnCutDaughterSigmaStar2010PP *cutPi = new AliRsnCutDaughterSigmaStar2010PP("cutPionForSigmaStar", AliPID::kPion);
42 cutPi->SetPIDCut(piPIDCut);
43 cutPi->SetMinTPCcluster(NTPCcluster);
44 AliRsnCutTrackQuality *cutQuality = (AliRsnCutTrackQuality*) cutPi->CutQuality();
45 cutQuality->SetAODTestFilterBit(aodFilterBit);
46 cutQuality->SetDCARPtFormula(formula);
49 AliRsnCutSet *cutSetPi = new AliRsnCutSet("setPionForSigmaStar", AliRsnTarget::kDaughter);
50 cutSetPi->AddCut(cutPi);
51 cutSetPi->SetCutScheme(cutPi->GetName());
53 Int_t iCutPi = task->AddTrackCuts(cutSetPi);
56 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("qualityDaughterLambda");
58 esdTrackCuts->SetAcceptKinkDaughters(0); // 0 = kFalse
59 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
60 esdTrackCuts->SetMaxChi2PerClusterTPC(4);
61 esdTrackCuts->SetMinNClustersTPC(NTPCcluster);
62 esdTrackCuts->SetRequireTPCRefit();
65 AliRsnCutV0 *cutLambda = new AliRsnCutV0("cutLambda", kLambda0, AliPID::kProton, AliPID::kPion);
66 cutLambda->SetESDtrackCuts(esdTrackCuts);
67 cutLambda->SetTolerance(massTol);
68 cutLambda->SetMaxDCAVertex(lambdaDCA);
69 cutLambda->SetMinCosPointingAngle(lambdaCosPoinAn);
70 cutLambda->SetMaxDaughtersDCA(lambdaDaughDCA);
71 cutLambda->SetMinTPCcluster(NTPCcluster);
72 cutLambda->SetMaxRapidity(0.8);
73 cutLambda->SetDCARPtFormula(formula);
74 cutLambda->SetAODTestFilterBit(aodFilterBit);
75 cutLambda->SetPIDCutProton(pPIDCut);
76 cutLambda->SetPIDCutPion(piPIDCut);
79 AliRsnCutSet *cutSetLambda = new AliRsnCutSet("setLambda", AliRsnTarget::kDaughter);
80 cutSetLambda->AddCut(cutLambda);
81 cutSetLambda->SetCutScheme(cutLambda->GetName());
84 Int_t iCutLambda = task->AddTrackCuts(cutSetLambda);
86 // cut anti-AntiLambda
87 AliRsnCutV0 *cutAntiLambda = new AliRsnCutV0("cutAntiLambda", kLambda0Bar, AliPID::kProton, AliPID::kPion);
88 cutAntiLambda->SetESDtrackCuts(esdTrackCuts);
89 cutAntiLambda->SetTolerance(massTol);
90 cutAntiLambda->SetMaxDCAVertex(lambdaDCA);
91 cutAntiLambda->SetMinCosPointingAngle(lambdaCosPoinAn);
92 cutAntiLambda->SetMaxDaughtersDCA(lambdaDaughDCA);
93 cutAntiLambda->SetMinTPCcluster(NTPCcluster);
94 cutAntiLambda->SetMaxRapidity(0.8);
95 cutAntiLambda->SetDCARPtFormula(formula);
96 cutAntiLambda->SetAODTestFilterBit(aodFilterBit);
97 cutAntiLambda->SetPIDCutProton(pPIDCut);
98 cutAntiLambda->SetPIDCutPion(piPIDCut);
101 AliRsnCutSet *cutSetAntiLambda = new AliRsnCutSet("setAntiLambda", AliRsnTarget::kDaughter);
102 cutSetAntiLambda->AddCut(cutAntiLambda);
103 cutSetAntiLambda->SetCutScheme(cutAntiLambda->GetName());
105 Int_t iCutAntiLambda = task->AddTrackCuts(cutSetAntiLambda);
108 //######################################################################################################
111 // -- Values ------------------------------------------------------------------------------------
114 /* invariant mass */ Int_t imID = task->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
115 /* transv. momentum */ Int_t ptID = task->CreateValue(AliRsnMiniValue::kPt, kFALSE);
116 /* centrality */ Int_t centID = task->CreateValue(AliRsnMiniValue::kMult, kFALSE);
119 // -- Create all needed outputs -----------------------------------------------------------------
122 // use an array for more compact writing, which are different on mixing and charges
127 Bool_t use [18] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 };
128 Bool_t useIM [18] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 };
129 TString name [18] = {"SigmaP" , "SigmaM" , "ASigmaP" , "ASigmaM" , "SigmaPmix", "SigmaMmix", "ASigmaPmix" , "ASigmaMmix" , "SigmaPt" , "SigmaMt" , "ASigmaPt" , "ASigmaMt" , "XiM" , "XiP" , "Lambda1520P" , "Lambda1520M" , "Lambda1520PBar", "Lambda1520MBar"};
130 TString comp [18] = {"PAIR" , "PAIR" , "PAIR" , "PAIR" , "MIX" , "MIX" , "MIX" , "MIX" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" , "TRUE" };
131 TString output [18] = {"HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" , "HIST" };
132 Char_t charge1 [18] = {'0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' , '0' };
133 Char_t charge2 [18] = {'+' , '-' , '-' , '+' , '+' , '-' , '-' , '+' , '+' , '-' , '-' , '+' , '-' , '+' , '+' , '-' , '-' , '+' };
134 Int_t cutID1 [18] = { iCutLambda, iCutLambda, iCutAntiLambda, iCutAntiLambda, iCutLambda, iCutLambda, iCutAntiLambda, iCutAntiLambda, iCutLambda, iCutLambda, iCutAntiLambda, iCutAntiLambda, iCutLambda , iCutAntiLambda , iCutLambda , iCutLambda , iCutAntiLambda , iCutAntiLambda };
135 Int_t cutID2 [18] = { iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi , iCutPi };
136 Int_t ipdg [18] = { 3224 , 3114 , -3224 , -3114 , 3224 , 3114 , -3224 , -3114 , 3224 , 3114 , -3224 , -3114 , 3312 , -3312 , 3124 , 3124 , -3124 , -3124 };
137 Double_t mass [18] = { 1.3828 , 1.3872 , 1.3828 , 1.3872 , 1.3828 , 1.3872 , 1.3828 , 1.3872 , 1.3828 , 1.3872 , 1.3828 , 1.3872 , 1.32171 , 1.32171 , 1.5195 , 1.5195 , 1.5195 , 1.5195 };
139 for (Int_t i = 0; i < 18; i++) {
140 if (!use[i]) continue;
141 if (!isPP) output[i] = "SPARSE";
143 AliRsnMiniOutput *out = task->CreateOutput(Form("sigmastar_%s%s", name[i].Data(), suffix), output[i].Data(), comp[i].Data());
144 // selection settings
145 out->SetCutID(0, cutID1[i]);
146 out->SetCutID(1, cutID2[i]);
147 out->SetDaughter(0, AliRsnDaughter::kLambda);
148 out->SetDaughter(1, AliRsnDaughter::kPion);
149 out->SetCharge(0, charge1[i]);
150 out->SetCharge(1, charge2[i]);
151 out->SetMotherPDG(ipdg[i]);
152 out->SetMotherMass(mass[i]);
154 out->SetPairCuts(cutsPair);
157 out->AddAxis(imID, 800, 1.2, 2.0);
158 // axis Y: transverse momentum
159 out->AddAxis(ptID, 100, 0.0, 10.0);
161 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
165 AddMonitorOutput_PionDCA(cutSetPi->GetMonitorOutput());
166 AddMonitorOutput_PionPIDCut(cutSetPi->GetMonitorOutput());
167 AddMonitorOutput_PionNTPC(cutSetPi->GetMonitorOutput());
169 AddMonitorOutput_LambdaMass(cutSetLambda->GetMonitorOutput());
170 AddMonitorOutput_LambdaDCA(cutSetLambda->GetMonitorOutput());
171 AddMonitorOutput_LambdaDaughterDCA(cutSetLambda->GetMonitorOutput());
172 AddMonitorOutput_LambdaCosPointAngle(cutSetLambda->GetMonitorOutput());
173 AddMonitorOutput_LambdaProtonPID(cutSetLambda->GetMonitorOutput());
174 AddMonitorOutput_LambdaPionPID(cutSetLambda->GetMonitorOutput());
176 AddMonitorOutput_LambdaMass(cutSetAntiLambda->GetMonitorOutput());
177 AddMonitorOutput_LambdaDCA(cutSetAntiLambda->GetMonitorOutput());
178 AddMonitorOutput_LambdaDaughterDCA(cutSetAntiLambda->GetMonitorOutput());
179 AddMonitorOutput_LambdaCosPointAngle(cutSetAntiLambda->GetMonitorOutput());
180 AddMonitorOutput_LambdaAntiProtonPID(cutSetAntiLambda->GetMonitorOutput());
181 AddMonitorOutput_LambdaAntiPionPID(cutSetAntiLambda->GetMonitorOutput());
185 TString mode = "HIST";
186 if (!isPP) mode = "SPARSE";
189 AliRsnMiniOutput *out = task->CreateOutput(Form("sigmastarP_TrueMC%s", suffix), mode.Data(), "MOTHER");
190 // selection settings
191 out->SetDaughter(0, AliRsnDaughter::kLambda);
192 out->SetDaughter(1, AliRsnDaughter::kPion);
193 out->SetMotherPDG(3224);
194 out->SetMotherMass(1.3828);
196 out->SetPairCuts(cutsPair);
198 out->AddAxis(imID, 800, 1.2, 2.0);
199 out->AddAxis(ptID, 100, 0.0, 10.0);
201 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
204 AliRsnMiniOutput *out = task->CreateOutput(Form("sigmastarM_TrueMC%s", suffix), mode.Data(), "MOTHER");
205 // selection settings
206 out->SetDaughter(0, AliRsnDaughter::kLambda);
207 out->SetDaughter(1, AliRsnDaughter::kPion);
208 out->SetMotherPDG(3114);
209 out->SetMotherMass(1.3872);
211 out->SetPairCuts(cutsPair);
213 out->AddAxis(imID, 800, 1.2, 2.0);
214 out->AddAxis(ptID, 100, 0.0, 10.0);
216 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
219 AliRsnMiniOutput *out = task->CreateOutput(Form("sigmastarPBar_TrueMC%s", suffix), mode.Data(), "MOTHER");
220 // selection settings
221 out->SetDaughter(0, AliRsnDaughter::kLambda);
222 out->SetDaughter(1, AliRsnDaughter::kPion);
223 out->SetMotherPDG(-3224);
224 out->SetMotherMass(1.3828);
226 out->SetPairCuts(cutsPair);
228 out->AddAxis(imID, 800, 1.2, 2.0);
229 out->AddAxis(ptID, 100, 0.0, 10.0);
231 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
235 AliRsnMiniOutput *out = task->CreateOutput(Form("sigmastarMBar_TrueMC%s", suffix), mode.Data(), "MOTHER");
236 // selection settings
237 out->SetDaughter(0, AliRsnDaughter::kLambda);
238 out->SetDaughter(1, AliRsnDaughter::kPion);
239 out->SetMotherPDG(-3114);
240 out->SetMotherMass(1.3872);
242 out->SetPairCuts(cutsPair);
244 out->AddAxis(imID, 800, 1.2, 2.0);
245 out->AddAxis(ptID, 100, 0.0, 10.0);
247 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
250 AliRsnMiniOutput *out = task->CreateOutput(Form("XiP_TrueMC%s", suffix), mode.Data(), "MOTHER");
251 // selection settings
252 out->SetDaughter(0, AliRsnDaughter::kLambda);
253 out->SetDaughter(1, AliRsnDaughter::kPion);
254 out->SetMotherPDG(-3312);
255 out->SetMotherMass(1.32171);
257 out->SetPairCuts(cutsPair);
259 out->AddAxis(imID, 800, 1.2, 2.0);
260 out->AddAxis(ptID, 100, 0.0, 10.0);
262 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
266 AliRsnMiniOutput *out = task->CreateOutput(Form("XiM_TrueMC%s", suffix), mode.Data(), "MOTHER");
267 // selection settings
268 out->SetDaughter(0, AliRsnDaughter::kLambda);
269 out->SetDaughter(1, AliRsnDaughter::kPion);
270 out->SetMotherPDG(3312);
271 out->SetMotherMass(1.32171);
273 out->SetPairCuts(cutsPair);
275 out->AddAxis(imID, 800, 1.2, 2.0);
276 out->AddAxis(ptID, 100, 0.0, 10.0);
278 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
281 AliRsnMiniOutput *out = task->CreateOutput(Form("Lambda1520P_TrueMC%s", suffix), mode.Data(), "MOTHER");
282 // selection settings
283 out->SetDaughter(0, AliRsnDaughter::kLambda);
284 out->SetDaughter(1, AliRsnDaughter::kPion);
285 out->SetCharge(0, 0);
286 out->SetCharge(1, 1);
287 out->SetMotherPDG(3124);
288 out->SetMotherMass(1.5195);
290 out->SetPairCuts(cutsPair);
292 out->AddAxis(imID, 800, 1.2, 2.0);
293 out->AddAxis(ptID, 100, 0.0, 10.0);
295 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
297 AliRsnMiniOutput *out = task->CreateOutput(Form("Lambda1520M_TrueMC%s", suffix), mode.Data(), "MOTHER");
298 // selection settings
299 out->SetDaughter(0, AliRsnDaughter::kLambda);
300 out->SetDaughter(1, AliRsnDaughter::kPion);
301 out->SetCharge(0, 0);
302 out->SetCharge(1, -1);
303 out->SetMotherPDG(3124);
304 out->SetMotherMass(1.5195);
306 out->SetPairCuts(cutsPair);
308 out->AddAxis(imID, 800, 1.2, 2.0);
309 out->AddAxis(ptID, 100, 0.0, 10.0);
311 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
315 AliRsnMiniOutput *out = task->CreateOutput(Form("Lambda1520PBar_TrueMC%s", suffix), mode.Data(), "MOTHER");
316 // selection settings
317 out->SetDaughter(0, AliRsnDaughter::kLambda);
318 out->SetDaughter(1, AliRsnDaughter::kPion);
319 out->SetCharge(0, 0);
320 out->SetCharge(1, 1);
321 out->SetMotherPDG(-3124);
322 out->SetMotherMass(1.5195);
324 out->SetPairCuts(cutsPair);
326 out->AddAxis(imID, 800, 1.2, 2.0);
327 out->AddAxis(ptID, 100, 0.0, 10.0);
329 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
331 AliRsnMiniOutput *out = task->CreateOutput(Form("Lambda1520MBar_TrueMC%s", suffix), mode.Data(), "MOTHER");
332 // selection settings
333 out->SetDaughter(0, AliRsnDaughter::kLambda);
334 out->SetDaughter(1, AliRsnDaughter::kPion);
335 out->SetCharge(0, 0);
336 out->SetCharge(1, -1);
337 out->SetMotherPDG(-3124);
338 out->SetMotherMass(1.5195);
340 out->SetPairCuts(cutsPair);
342 out->AddAxis(imID, 800, 1.2, 2.0);
343 out->AddAxis(ptID, 100, 0.0, 10.0);
345 if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
354 void AddMonitorOutput_PionDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *pdca=0)
358 AliRsnValueDaughter *axisPionDCA = new AliRsnValueDaughter("pion_dca", AliRsnValueDaughter::kDCAXY);
359 axisPionDCA->SetBins(0.0,1,0.001);
361 // output: 2D histogram
362 AliRsnListOutput *outMonitorPionDCA = new AliRsnListOutput("Pion_DCA", AliRsnListOutput::kHistoDefault);
363 outMonitorPionDCA->AddValue(axisPionDCA);
365 // add outputs to loop
366 if (mon) mon->Add(outMonitorPionDCA);
367 if (pdca) pdca->AddOutput(outMonitorPionDCA);
371 void AddMonitorOutput_PionPIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *piPID=0)
375 AliRsnValueDaughter *axisPionPIDCut = new AliRsnValueDaughter("pionPID", AliRsnValueDaughter::kTPCnsigmaPi);
376 axisPionPIDCut->SetBins(0.0,5,0.01);
378 // output: 2D histogram
379 AliRsnListOutput *outMonitorPionPIDCut = new AliRsnListOutput("Pion_PID_Cut", AliRsnListOutput::kHistoDefault);
380 outMonitorPionPIDCut->AddValue(axisPionPIDCut);
382 // add outputs to loop
383 if (mon) mon->Add(outMonitorPionPIDCut);
384 if (piPID) piPID->AddOutput(outMonitorPionPIDCut);
388 void AddMonitorOutput_PionNTPC(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *piNTPC=0)
392 AliRsnValueDaughter *axisPionNTPC = new AliRsnValueDaughter("pionNTPC", AliRsnValueDaughter::kNTPCclusters);
393 axisPionNTPC->SetBins(0.0,200,1);
395 // output: 2D histogram
396 AliRsnListOutput *outMonitorPionNTPC = new AliRsnListOutput("Pion_NTPC", AliRsnListOutput::kHistoDefault);
397 outMonitorPionNTPC->AddValue(axisPionNTPC);
399 // add outputs to loop
400 if (mon) mon->Add(outMonitorPionNTPC);
401 if (piNTPC) pNTPC->AddOutput(outMonitorPionNTPC);
406 void AddMonitorOutput_LambdaMass(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lm=0)
410 AliRsnValueDaughter *axisMass = new AliRsnValueDaughter("lambda_mass", AliRsnValueDaughter::kMass);
411 axisMass->SetBins(0.7,1.5,0.001);
413 // output: 2D histogram
414 AliRsnListOutput *outMonitorM = new AliRsnListOutput("Lambda_Mass", AliRsnListOutput::kHistoDefault);
415 outMonitorM->AddValue(axisMass);
417 // add outputs to loop
418 if (mon) mon->Add(outMonitorM);
419 if (lm) lm->AddOutput(outMonitorM);
423 void AddMonitorOutput_LambdaDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ldca=0)
427 AliRsnValueDaughter *axisLambdaDCA = new AliRsnValueDaughter("lambda_dca", AliRsnValueDaughter::kV0DCA);
428 axisLambdaDCA->SetBins(0.0,1,0.001);
430 // output: 2D histogram
431 AliRsnListOutput *outMonitorLambdaDCA = new AliRsnListOutput("Lambda_DCA", AliRsnListOutput::kHistoDefault);
432 outMonitorLambdaDCA->AddValue(axisLambdaDCA);
434 // add outputs to loop
435 if (mon) mon->Add(outMonitorLambdaDCA);
436 if (ldca) ldca->AddOutput(outMonitorLambdaDCA);
440 void AddMonitorOutput_LambdaDaughterDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ldaugdca=0)
443 // Lambda Daughter DCA
444 AliRsnValueDaughter *axisLambdaDDCA = new AliRsnValueDaughter("lambda_daughterDCA", AliRsnValueDaughter::kDaughterDCA);
445 axisLambdaDDCA->SetBins(0.0,1,0.001);
447 // output: 2D histogram
448 AliRsnListOutput *outMonitorLambdaDDCA = new AliRsnListOutput("Lambda_DaughterDCA", AliRsnListOutput::kHistoDefault);
449 outMonitorLambdaDDCA->AddValue(axisLambdaDDCA);
451 // add outputs to loop
452 if (mon) mon->Add(outMonitorLambdaDDCA);
453 if (ldaugdca) ldaugdca->AddOutput(outMonitorLambdaDDCA);
457 void AddMonitorOutput_LambdaCosPointAngle(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lcpa=0)
460 // Lambda Cosine of the Pointing Angle
461 AliRsnValueDaughter *axisLambdaCPA = new AliRsnValueDaughter("lambda_cospointang", AliRsnValueDaughter::kCosPointAng);
462 axisLambdaCPA->SetBins(0.97,1,0.0001);
464 // output: 2D histogram
465 AliRsnListOutput *outMonitorLambdaCPA = new AliRsnListOutput("Lambda_CosineOfPointingAngle", AliRsnListOutput::kHistoDefault);
466 outMonitorLambdaCPA->AddValue(axisLambdaCPA);
468 // add outputs to loop
469 if (mon) mon->Add(outMonitorLambdaCPA);
470 if (lcpa) lcpa->AddOutput(outMonitorLambdaCPA);
474 void AddMonitorOutput_LambdaProtonPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lpPID=0)
477 // Lambda Cosine of the Pointing Angle
478 AliRsnValueDaughter *axisLambdaProtonPID = new AliRsnValueDaughter("lambda_protonPID", AliRsnValueDaughter::kLambdaProtonPIDCut);
479 axisLambdaProtonPID->SetBins(0.0,5,0.01);
481 // output: 2D histogram
482 AliRsnListOutput *outMonitorLambdaProtonPID = new AliRsnListOutput("Lambda_ProtonPID", AliRsnListOutput::kHistoDefault);
483 outMonitorLambdaProtonPID->AddValue(axisLambdaProtonPID);
485 // add outputs to loop
486 if (mon) mon->Add(outMonitorLambdaProtonPID);
487 if (lpPID) lpPID->AddOutput(outMonitorLambdaProtonPID);
491 void AddMonitorOutput_LambdaPionPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lpiPID=0)
494 // Lambda Cosine of the Pointing Angle
495 AliRsnValueDaughter *axisLambdaPionPID = new AliRsnValueDaughter("lambda_pionPID", AliRsnValueDaughter::kLambdaPionPIDCut);
496 axisLambdaPionPID->SetBins(0.0,5,0.01);
498 // output: 2D histogram
499 AliRsnListOutput *outMonitorLambdaPionPID = new AliRsnListOutput("Lambda_PionPID", AliRsnListOutput::kHistoDefault);
500 outMonitorLambdaPionPID->AddValue(axisLambdaPionPID);
502 // add outputs to loop
503 if (mon) mon->Add(outMonitorLambdaPionPID);
504 if (lpiPID) lpiPID->AddOutput(outMonitorLambdaPionPID);
508 void AddMonitorOutput_LambdaAntiProtonPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lapPID=0)
511 // Lambda Cosine of the Pointing Angle
512 AliRsnValueDaughter *axisLambdaAntiProtonPID = new AliRsnValueDaughter("lambda_antiprotonPID", AliRsnValueDaughter::kAntiLambdaAntiProtonPIDCut);
513 axisLambdaAntiProtonPID->SetBins(0.0,5,0.01);
515 // output: 2D histogram
516 AliRsnListOutput *outMonitorLambdaAntiProtonPID = new AliRsnListOutput("Lambda_AntiProtonPID", AliRsnListOutput::kHistoDefault);
517 outMonitorLambdaAntiProtonPID->AddValue(axisLambdaAntiProtonPID);
519 // add outputs to loop
520 if (mon) mon->Add(outMonitorLambdaAntiProtonPID);
521 if (lapPID) lapPID->AddOutput(outMonitorLambdaAntiProtonPID);
525 void AddMonitorOutput_LambdaAntiPionPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lapiPID=0)
528 // Lambda Cosine of the Pointing Angle
529 AliRsnValueDaughter *axisLambdaAntiPionPID = new AliRsnValueDaughter("lambda_antipionPID", AliRsnValueDaughter::kAntiLambdaAntiPionPIDCut);
530 axisLambdaAntiPionPID->SetBins(0.0,5,0.01);
532 // output: 2D histogram
533 AliRsnListOutput *outMonitorLambdaAntiPionPID = new AliRsnListOutput("Lambda_AntiPionPID", AliRsnListOutput::kHistoDefault);
534 outMonitorLambdaAntiPionPID->AddValue(axisLambdaAntiPionPID);
536 // add outputs to loop
537 if (mon) mon->Add(outMonitorLambdaAntiPionPID);
538 if (lapiPID) lpiPID->AddOutput(outMonitorLambdaAntiPionPID);