2 // *** Configuration script for phi->KK 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 ConfigPhi(AliRsnMiniAnalysisTask *task, Bool_t isMC, const char *suffix)
14 // -- Define track cuts -------------------------------------------------------------------------
17 // integrated kaon cut
18 AliRsnCutKaonForPhi2010PP *cutStd = new AliRsnCutKaonForPhi2010PP("cutStd");
20 AliRsnCutSet *cutSetStd = new AliRsnCutSet("kaonForPhi", AliRsnTarget::kDaughter);
21 cutSetStd->AddCut(cutStd);
22 cutSetStd->SetCutScheme(cutStd->GetName());
24 Int_t iCutStd = task->AddTrackCuts(cutSetStd);
27 // -- Values ------------------------------------------------------------------------------------
31 Int_t imID = task->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
33 // transverse momentum
34 Int_t ptID = task->CreateValue(AliRsnMiniValue::kPt, kFALSE);
37 // -- Pair cuts ---------------------------------------------------------------------------------
40 AliRsnCutMiniPair *cutY = new AliRsnCutMiniPair("cutRapidity", AliRsnCutMiniPair::kRapidityRange);
41 cutY->SetRangeD(-0.5, 0.5);
43 AliRsnCutSet *cutsPair = new AliRsnCutSet("pairCuts", AliRsnTarget::kMother);
44 cutsPair->AddCut(cutY);
45 cutsPair->SetCutScheme(cutY->GetName());
48 // -- Create all needed outputs -----------------------------------------------------------------
51 // use an array for more compact writing, which are different on mixing and charges
56 Bool_t use [5] = { 1 , 1 , 1 , 1 , 1 };
57 TString name [5] = {"Unlike", "Mixing", "LikePP", "LikeMM", "Trues" };
58 TString comp [5] = {"PAIR" , "MIX" , "PAIR" , "PAIR" , "TRUE" };
59 TString output [5] = {"HIST" , "HIST" , "HIST" , "HIST" , "HIST" };
60 Char_t charge1 [5] = {'+' , '+' , '+' , '-' , '+' };
61 Char_t charge2 [5] = {'-' , '-' , '+' , '-' , '-' };
62 Int_t cutID [5] = { iCutStd, iCutStd, iCutStd, iCutStd, iCutStd };
64 for (Int_t i = 0; i < 5; i++) {
65 if (!use[i]) continue;
67 AliRsnMiniOutput *out = task->CreateOutput(Form("phi_%s_%s", name[i].Data(), suffix), output[i].Data(), comp[i].Data());
69 out->SetCutID(0, cutID[i]);
70 out->SetCutID(1, cutID[i]);
71 out->SetDaughter(0, AliRsnDaughter::kKaon);
72 out->SetDaughter(1, AliRsnDaughter::kKaon);
73 out->SetCharge(0, charge1[i]);
74 out->SetCharge(1, charge2[i]);
75 out->SetMotherPDG(333);
76 out->SetMotherMass(1.019455);
78 out->SetPairCuts(cutsPair);
80 out->AddAxis(imID, 500, 0.9, 1.4);
81 out->AddAxis(ptID, 200, 0.0, 10.0);