]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/macros/mini/ConfigPhiRAApPb.C
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / mini / ConfigPhiRAApPb.C
1 //
2 // *** Configuration script for phi->KK analysis with 2010 runs ***
3 //
4 // A configuration script for RSN package needs to define the followings:
5 //
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
10 //
11 Bool_t ConfigPhiRAApPb
12 (
13    AliRsnMiniAnalysisTask *task,
14    Bool_t                  isMC,
15    Bool_t                  isESD,
16    const char             *suffix,
17    AliRsnCutSet           *cutsPair,
18    AliRsnCutSet           *cutsPair2
19 )
20 {
21    // manage suffix
22    if (strlen(suffix) > 0) suffix = Form("_%s", suffix);
23
24    //
25    // -- Define track cuts -------------------------------------------------------------------------
26    //
27
28
29    gROOT->LoadMacro("AliRsnCutPhiRAA.cxx++g");
30    // standard kaon cut
31    AliRsnCutPhiRAA *cut = new AliRsnCutPhiRAA("cut1");
32    cut->SetMode(AliRsnCutPhiRAA::k2011_1);
33
34
35    // TPC 3 sigma pid
36    AliRsnCutPIDNSigma *cutKTPC3 = new AliRsnCutPIDNSigma("cut3SigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
37    cutKTPC3->SinglePIDRange(3.0);
38    // TPC 2 sigma pid
39    AliRsnCutPIDNSigma *cutKTPC2 = new AliRsnCutPIDNSigma("cut2SigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
40    cutKTPC2->SinglePIDRange(2.0);
41    // TPC 4 sigma pid
42    AliRsnCutPIDNSigma *cutKTPC4 = new AliRsnCutPIDNSigma("cut4SigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
43    cutKTPC4->SinglePIDRange(4.0);
44    // TPC 5 sigma pid
45    AliRsnCutPIDNSigma *cutKTPC5 = new AliRsnCutPIDNSigma("cut5SigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
46    cutKTPC5->SinglePIDRange(5.0);
47    // TPC 6 sigma pid
48    AliRsnCutPIDNSigma *cutKTPC6 = new AliRsnCutPIDNSigma("cut6SigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
49    cutKTPC6->SinglePIDRange(6.0);
50
51 ////////////////////////// Cut Sets ///////////////////////////////////////////////
52
53       AliRsnCutSet *cutSet = new AliRsnCutSet("set_NoPID", AliRsnTarget::kDaughter);
54       AliRsnCutSet *cutSet5 = new AliRsnCutSet("set_2sigmaTPC", AliRsnTarget::kDaughter);
55       AliRsnCutSet *cutSet7 = new AliRsnCutSet("set_3sigmaTPC", AliRsnTarget::kDaughter);
56       AliRsnCutSet *cutSet12 = new AliRsnCutSet("set_4sigmaTPC", AliRsnTarget::kDaughter);
57       AliRsnCutSet *cutSet13 = new AliRsnCutSet("set_5sigmaTPC", AliRsnTarget::kDaughter);
58       AliRsnCutSet *cutSet14 = new AliRsnCutSet("set_6sigmaTPC", AliRsnTarget::kDaughter);
59
60 ////////////////////////////////////////////////////////////////////////////////////
61       // no PID (only standard cuts)
62       cutSet->AddCut(cut);
63       cutSet->SetCutScheme(cut->GetName());
64
65       // TPC 2 sigma cut
66       cutSet5->AddCut(cut);
67       cutSet5->AddCut(cutKTPC2);
68       cutSet5->SetCutScheme("cut1&cut2SigmaTPCK");
69
70       // TPC 3 sigma cut
71       cutSet7->AddCut(cut);
72       cutSet7->AddCut(cutKTPC3);
73       cutSet7->SetCutScheme("cut1&cut3SigmaTPCK");
74
75       // TPC 4 sigma cut
76       cutSet12->AddCut(cut);
77       cutSet12->AddCut(cutKTPC4);
78       cutSet12->SetCutScheme("cut1&cut4SigmaTPCK");
79
80       // TPC 5 sigma cut
81       cutSet13->AddCut(cut);
82       cutSet13->AddCut(cutKTPC5);
83       cutSet13->SetCutScheme("cut1&cut5SigmaTPCK");
84
85       // TPC 6 sigma cut
86       cutSet14->AddCut(cut);
87       cutSet14->AddCut(cutKTPC6);
88       cutSet14->SetCutScheme("cut1&cut6SigmaTPCK");
89
90
91 //////////////////////////////////////////////////////////////////////////////
92
93
94
95    // add to task
96       Int_t icut = task->AddTrackCuts(cutSet);
97       Int_t icut5 = task->AddTrackCuts(cutSet5);
98       Int_t icut7 = task->AddTrackCuts(cutSet7);
99       Int_t icut12 = task->AddTrackCuts(cutSet12);
100       Int_t icut13 = task->AddTrackCuts(cutSet13);
101       Int_t icut14 = task->AddTrackCuts(cutSet14);
102
103       Printf("======== Monitoring cut AliRsnCutSetDaughterParticle enabled");
104       gROOT->LoadMacro("$ALICE_ROOT/PWGLF/RESONANCES/macros/mini/AddMonitorOutput.C");
105       AddMonitorOutput(isMC, cutSet->GetMonitorOutput());
106
107    //
108    // -- Values ------------------------------------------------------------------------------------
109    //
110
111    /* invariant mass   */ Int_t imID   = task->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
112    /* IM resolution    */ Int_t resID  = task->CreateValue(AliRsnMiniValue::kInvMassRes, kTRUE);
113    /* IM resolution    */ Int_t resID  = task->CreateValue(AliRsnMiniValue::kInvMassRes, kFALSE);
114    /* transv. momentum */ Int_t ptID   = task->CreateValue(AliRsnMiniValue::kPt, kFALSE);
115    /* centrality       */ Int_t centID = task->CreateValue(AliRsnMiniValue::kMult, kFALSE);
116
117    //
118    // -- Create all needed outputs -----------------------------------------------------------------
119    //
120
121    // use an array for more compact writing, which are different on mixing and charges
122    // [0] = unlike
123    // [1] = mixing
124    // [2] = like ++
125    // [3] = like --
126
127 /////////////////// NoPID 03 ///////////////////////////////////////////////////////////////
128
129          Bool_t  use     [4] = { 1           ,  1           ,  1           ,  1           };
130          Bool_t  useIM   [4] = { 1           ,  1           ,  1           ,  1           };
131          TString name    [4] = {"UnlikeNoPID_03", "MixingNoPID_03", "LikePPNoPID_03", "LikeMMNoPID_03"};
132          TString comp    [4] = {"PAIR"       , "MIX"        , "PAIR"       , "PAIR"       };
133          TString output  [4] = {"HIST"       , "HIST"       , "HIST"       , "HIST"       };
134          Char_t  charge1 [4] = {'+'          , '+'          , '+'          , '-'          };
135          Char_t  charge2 [4] = {'-'          , '-'          , '+'          , '-'          };
136          Int_t   cutID   [4] = { icut        ,  icut        ,  icut        ,  icut        };
137
138          for (Int_t i = 0; i < 4; i++) {
139             if (!use[i]) continue;
140             // create output
141             AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name[i].Data(), suffix), output[i].Data(), comp[i].Data());
142             // selection settings
143             out->SetCutID(0, cutID[i]);
144             out->SetCutID(1, cutID[i]);
145             out->SetDaughter(0, AliRsnDaughter::kKaon);
146             out->SetDaughter(1, AliRsnDaughter::kKaon);
147             out->SetCharge(0, charge1[i]);
148             out->SetCharge(1, charge2[i]);
149             out->SetMotherPDG(333);
150             out->SetMotherMass(1.019455);
151             // pair cuts
152             out->SetPairCuts(cutsPair);
153             // axis X: invmass (or resolution)
154             if (useIM)
155                out->AddAxis(imID, 500, 0.9,  1.4);
156             else
157                out->AddAxis(resID, 200, -0.02, 0.02);
158             // axis Y: transverse momentum
159             out->AddAxis(ptID, 400, 0.0, 40.0);
160             // axis Z: centrality
161       //      out->AddAxis(centID, 100, 0.0, 100.0);
162          }
163
164 /////////////////// NoPID 05 ///////////////////////////////////////////////////////////////
165
166          TString name_1    [4] = {"UnlikeNoPID_05", "MixingNoPID_05", "LikePPNoPID_05", "LikeMMNoPID_05"};
167
168          for (Int_t i = 0; i < 4; i++) {
169            if (!use[i]) continue;
170            // create output
171            AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
172            // selection settings
173            out->SetCutID(0, cutID[i]);
174            out->SetCutID(1, cutID[i]);
175            out->SetDaughter(0, AliRsnDaughter::kKaon);
176            out->SetDaughter(1, AliRsnDaughter::kKaon);
177            out->SetCharge(0, charge1[i]);
178            out->SetCharge(1, charge2[i]);
179            out->SetMotherPDG(333);
180            out->SetMotherMass(1.019455);
181            // pair cuts
182            out->SetPairCuts(cutsPair2);
183            // axis X: invmass (or resolution)
184            if (useIM)
185              out->AddAxis(imID, 500, 0.9,  1.4);
186            else
187              out->AddAxis(resID, 200, -0.02, 0.02);
188            // axis Y: transverse momentum
189              out->AddAxis(ptID, 400, 0.0, 40.0);
190            // axis Z: centrality
191            //      out->AddAxis(centID, 100, 0.0, 100.0);
192          }
193
194 ////////////////////// 2s TPC 03 /////////////////////////////////////////////////
195
196         TString  name5   [4] = {"Unlike2sigmaTPC_03", "Mixing2sigmaTPC_03", "LikePP2sigmaTPC_03", "LikeMM2sigmaTPC_03"};
197         Int_t    cutID5  [4] = { icut5       ,  icut5       ,  icut5       ,  icut5       };
198
199         for (Int_t i = 0; i < 4; i++) {
200           if (!use[i]) continue;
201           // create output
202           AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name5[i].Data(), suffix), output[i].Data(), comp[i].Data());
203           // selection settings
204           out->SetCutID(0, cutID5[i]);
205           out->SetCutID(1, cutID5[i]);
206           out->SetDaughter(0, AliRsnDaughter::kKaon);
207           out->SetDaughter(1, AliRsnDaughter::kKaon);
208           out->SetCharge(0, charge1[i]);
209           out->SetCharge(1, charge2[i]);
210           out->SetMotherPDG(333);
211           out->SetMotherMass(1.019455);
212           // pair cuts
213           out->SetPairCuts(cutsPair);
214           // axis X: invmass (or resolution)
215           if (useIM)
216             out->AddAxis(imID, 500, 0.9,  1.4);
217           else
218             out->AddAxis(resID, 200, -0.02, 0.02);
219           // axis Y: transverse momentum
220           out->AddAxis(ptID, 400, 0.0, 40.0);
221           // axis Z: centrality
222           //      out->AddAxis(centID, 100, 0.0, 100.0);
223         }
224
225 ////////////////////// 2s TPC 05 /////////////////////////////////////////////////
226
227         TString  name5_1   [4] = {"Unlike2sigmaTPC_05", "Mixing2sigmaTPC_05", "LikePP2sigmaTPC_05", "LikeMM2sigmaTPC_05"};
228
229         for (Int_t i = 0; i < 4; i++) {
230           if (!use[i]) continue;
231           // create output
232           AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name5_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
233           // selection settings
234           out->SetCutID(0, cutID5[i]);
235           out->SetCutID(1, cutID5[i]);
236           out->SetDaughter(0, AliRsnDaughter::kKaon);
237           out->SetDaughter(1, AliRsnDaughter::kKaon);
238           out->SetCharge(0, charge1[i]);
239           out->SetCharge(1, charge2[i]);
240           out->SetMotherPDG(333);
241           out->SetMotherMass(1.019455);
242           // pair cuts
243           out->SetPairCuts(cutsPair2);
244           // axis X: invmass (or resolution)
245           if (useIM)
246             out->AddAxis(imID, 500, 0.9,  1.4);
247           else
248             out->AddAxis(resID, 200, -0.02, 0.02);
249           // axis Y: transverse momentum
250           out->AddAxis(ptID, 400, 0.0, 40.0);
251           // axis Z: centrality
252           //      out->AddAxis(centID, 100, 0.0, 100.0);
253         }
254
255 ////////////////////// 3s TPC  03 //////////////////////////////////////////////////////////
256
257        TString  name7   [4] = {"Unlike3sigmTPC_03", "Mixing3sigmTPC_03", "LikePP3sigmTPC_03", "LikeMM3sigmTPC_03"};
258        Int_t    cutID7  [4] = { icut7       ,  icut7       ,  icut7       ,  icut7       };
259
260        for (Int_t i = 0; i < 4; i++) {
261          if (!use[i]) continue;
262          // create output
263          AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name7[i].Data(), suffix), output[i].Data(), comp[i].Data());
264          // selection settings
265          out->SetCutID(0, cutID7[i]);
266          out->SetCutID(1, cutID7[i]);
267          out->SetDaughter(0, AliRsnDaughter::kKaon);
268          out->SetDaughter(1, AliRsnDaughter::kKaon);
269          out->SetCharge(0, charge1[i]);
270          out->SetCharge(1, charge2[i]);
271          out->SetMotherPDG(333);
272          out->SetMotherMass(1.019455);
273          // pair cuts
274          out->SetPairCuts(cutsPair);
275          // axis X: invmass (or resolution)
276          if (useIM)
277            out->AddAxis(imID, 500, 0.9,  1.4);
278          else
279            out->AddAxis(resID, 200, -0.02, 0.02);
280          // axis Y: transverse momentum
281          out->AddAxis(ptID, 400, 0.0, 40.0);
282          // axis Z: centrality
283          //      out->AddAxis(centID, 100, 0.0, 100.0);
284        }
285
286 ////////////////////// 3s TPC 05 //////////////////////////////////////////////////////////
287
288               TString  name7_1   [4] = {"Unlike3sigmTPC_05", "Mixing3sigmTPC_05", "LikePP3sigmTPC_05", "LikeMM3sigmTPC_05"};
289
290               for (Int_t i = 0; i < 4; i++) {
291                 if (!use[i]) continue;
292                 // create output
293                 AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name7_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
294                 // selection settings
295                 out->SetCutID(0, cutID7[i]);
296                 out->SetCutID(1, cutID7[i]);
297                 out->SetDaughter(0, AliRsnDaughter::kKaon);
298                 out->SetDaughter(1, AliRsnDaughter::kKaon);
299                 out->SetCharge(0, charge1[i]);
300                 out->SetCharge(1, charge2[i]);
301                 out->SetMotherPDG(333);
302                 out->SetMotherMass(1.019455);
303                 // pair cuts
304                 out->SetPairCuts(cutsPair2);
305                 // axis X: invmass (or resolution)
306                 if (useIM)
307                   out->AddAxis(imID, 500, 0.9,  1.4);
308                 else
309                   out->AddAxis(resID, 200, -0.02, 0.02);
310                 // axis Y: transverse momentum
311                 out->AddAxis(ptID, 400, 0.0, 40.0);
312                 // axis Z: centrality
313                 //      out->AddAxis(centID, 100, 0.0, 100.0);
314               }
315
316
317 ////////////////////// 4s TPC  03/////////////////////////////////////////////////
318
319       TString  name12   [4] = {"Unlike4sigmaTPC_03", "Mixing4sigmaTPC_03", "LikePP4sigmaTPC_03", "LikeMM4sigmaTPC_03"};
320       Int_t    cutID12  [4] = { icut12       ,  icut12       ,  icut12       ,  icut12       };
321
322       for (Int_t i = 0; i < 4; i++) {
323         if (!use[i]) continue;
324         // create output
325         AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name12[i].Data(), suffix), output[i].Data(), comp[i].Data());
326         // selection settings
327         out->SetCutID(0, cutID12[i]);
328         out->SetCutID(1, cutID12[i]);
329         out->SetDaughter(0, AliRsnDaughter::kKaon);
330         out->SetDaughter(1, AliRsnDaughter::kKaon);
331         out->SetCharge(0, charge1[i]);
332         out->SetCharge(1, charge2[i]);
333         out->SetMotherPDG(333);
334         out->SetMotherMass(1.019455);
335         // pair cuts
336         out->SetPairCuts(cutsPair);
337         // axis X: invmass (or resolution)
338         if (useIM)
339           out->AddAxis(imID, 500, 0.9,  1.4);
340         else
341           out->AddAxis(resID, 200, -0.02, 0.02);
342         // axis Y: transverse momentum
343         out->AddAxis(ptID, 400, 0.0, 40.0);
344         // axis Z: centrality
345         //      out->AddAxis(centID, 100, 0.0, 100.0);
346       }
347
348 ////////////////////// 4s TPC  05 /////////////////////////////////////////////////
349
350             TString  name12_1   [4] = {"Unlike4sigmaTPC_05", "Mixing4sigmaTPC_05", "LikePP4sigmaTPC_05", "LikeMM4sigmaTPC_05"};
351
352             for (Int_t i = 0; i < 4; i++) {
353               if (!use[i]) continue;
354               // create output
355               AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name12_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
356               // selection settings
357               out->SetCutID(0, cutID12[i]);
358               out->SetCutID(1, cutID12[i]);
359               out->SetDaughter(0, AliRsnDaughter::kKaon);
360               out->SetDaughter(1, AliRsnDaughter::kKaon);
361               out->SetCharge(0, charge1[i]);
362               out->SetCharge(1, charge2[i]);
363               out->SetMotherPDG(333);
364               out->SetMotherMass(1.019455);
365               // pair cuts
366               out->SetPairCuts(cutsPair2);
367               // axis X: invmass (or resolution)
368               if (useIM)
369                 out->AddAxis(imID, 500, 0.9,  1.4);
370               else
371                 out->AddAxis(resID, 200, -0.02, 0.02);
372               // axis Y: transverse momentum
373               out->AddAxis(ptID, 400, 0.0, 40.0);
374               // axis Z: centrality
375               //      out->AddAxis(centID, 100, 0.0, 100.0);
376             }
377
378 ////////////////////// 5s TPC  03/////////////////////////////////////////////////
379
380        TString  name13   [4] = {"Unlike5sigmaTPC_03", "Mixing5sigmaTPC_03", "LikePP5sigmaTPC_03", "LikeMM5sigmaTPC_03"};
381        Int_t    cutID13  [4] = { icut13       ,  icut13       ,  icut13       ,  icut13       };
382
383        for (Int_t i = 0; i < 4; i++) {
384          if (!use[i]) continue;
385          // create output
386          AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name13[i].Data(), suffix), output[i].Data(), comp[i].Data());
387          // selection settings
388          out->SetCutID(0, cutID13[i]);
389          out->SetCutID(1, cutID13[i]);
390          out->SetDaughter(0, AliRsnDaughter::kKaon);
391          out->SetDaughter(1, AliRsnDaughter::kKaon);
392          out->SetCharge(0, charge1[i]);
393          out->SetCharge(1, charge2[i]);
394          out->SetMotherPDG(333);
395          out->SetMotherMass(1.019455);
396          // pair cuts
397          out->SetPairCuts(cutsPair);
398          // axis X: invmass (or resolution)
399          if (useIM)
400            out->AddAxis(imID, 500, 0.9,  1.4);
401          else
402            out->AddAxis(resID, 200, -0.02, 0.02);
403          // axis Y: transverse momentum
404          out->AddAxis(ptID, 400, 0.0, 40.0);
405          // axis Z: centrality
406          //      out->AddAxis(centID, 100, 0.0, 100.0);
407        }
408
409 ////////////////////// 5s TPC  05 /////////////////////////////////////////////////
410
411        TString  name13_1   [4] = {"Unlike5sigmaTPC_05", "Mixing5sigmaTPC_05", "LikePP5sigmaTPC_05", "LikeMM5sigmaTPC_05"};
412
413        for (Int_t i = 0; i < 4; i++) {
414          if (!use[i]) continue;
415          // create output
416          AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name13_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
417          // selection settings
418          out->SetCutID(0, cutID13[i]);
419          out->SetCutID(1, cutID13[i]);
420          out->SetDaughter(0, AliRsnDaughter::kKaon);
421          out->SetDaughter(1, AliRsnDaughter::kKaon);
422          out->SetCharge(0, charge1[i]);
423          out->SetCharge(1, charge2[i]);
424          out->SetMotherPDG(333);
425          out->SetMotherMass(1.019455);
426          // pair cuts
427          out->SetPairCuts(cutsPair2);
428          // axis X: invmass (or resolution)
429          if (useIM)
430            out->AddAxis(imID, 500, 0.9,  1.4);
431          else
432            out->AddAxis(resID, 200, -0.02, 0.02);
433          // axis Y: transverse momentum
434          out->AddAxis(ptID, 400, 0.0, 40.0);
435          // axis Z: centrality
436          //      out->AddAxis(centID, 100, 0.0, 100.0);
437        }
438
439
440 ////////////////////// 6s TPC  03/////////////////////////////////////////////////
441
442       TString  name14   [4] = {"Unlike6sigmaTPC_03", "Mixing6sigmaTPC_03", "LikePP6sigmaTPC_03", "LikeMM6sigmaTPC_03"};
443       Int_t    cutID14  [4] = { icut14       ,  icut14       ,  icut14       ,  icut14       };
444
445       for (Int_t i = 0; i < 4; i++) {
446         if (!use[i]) continue;
447         // create output
448         AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name14[i].Data(), suffix), output[i].Data(), comp[i].Data());
449         // selection settings
450         out->SetCutID(0, cutID14[i]);
451         out->SetCutID(1, cutID14[i]);
452         out->SetDaughter(0, AliRsnDaughter::kKaon);
453         out->SetDaughter(1, AliRsnDaughter::kKaon);
454         out->SetCharge(0, charge1[i]);
455         out->SetCharge(1, charge2[i]);
456         out->SetMotherPDG(333);
457         out->SetMotherMass(1.019455);
458         // pair cuts
459         out->SetPairCuts(cutsPair);
460         // axis X: invmass (or resolution)
461         if (useIM)
462           out->AddAxis(imID, 500, 0.9,  1.4);
463         else
464           out->AddAxis(resID, 200, -0.02, 0.02);
465         // axis Y: transverse momentum
466         out->AddAxis(ptID, 400, 0.0, 40.0);
467         // axis Z: centrality
468         //      out->AddAxis(centID, 100, 0.0, 100.0);
469       }
470
471 ////////////////////// 6s TPC  05 /////////////////////////////////////////////////
472
473        TString  name14_1   [4] = {"Unlike6sigmaTPC_05", "Mixing6sigmaTPC_05", "LikePP6sigmaTPC_05", "LikeMM6sigmaTPC_05"};
474
475        for (Int_t i = 0; i < 4; i++) {
476          if (!use[i]) continue;
477          // create output
478          AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s%s", name14_1[i].Data(), suffix), output[i].Data(), comp[i].Data());
479          // selection settings
480          out->SetCutID(0, cutID14[i]);
481          out->SetCutID(1, cutID14[i]);
482          out->SetDaughter(0, AliRsnDaughter::kKaon);
483          out->SetDaughter(1, AliRsnDaughter::kKaon);
484          out->SetCharge(0, charge1[i]);
485          out->SetCharge(1, charge2[i]);
486          out->SetMotherPDG(333);
487          out->SetMotherMass(1.019455);
488          // pair cuts
489          out->SetPairCuts(cutsPair2);
490          // axis X: invmass (or resolution)
491          if (useIM)
492            out->AddAxis(imID, 500, 0.9,  1.4);
493          else
494            out->AddAxis(resID, 200, -0.02, 0.02);
495          // axis Y: transverse momentum
496          out->AddAxis(ptID, 400, 0.0, 40.0);
497          // axis Z: centrality
498          //      out->AddAxis(centID, 100, 0.0, 100.0);
499        }
500
501 ////////////////////// THE END! ////////////////////////////////////////////////////////
502
503    return kTRUE;
504 }