//
// General macro to configure the RSN analysis task.
// It calls all configs desired by the user, by means
// of the boolean switches defined in the first lines.
// ---
// Inputs:
// 1) flag to know if running on MC or data
// 2) path where all configs are stored
// ---
// Returns:
// kTRUE --> initialization successful
// kFALSE --> initialization failed (some config gave errors)
//
AliRsnMiniAnalysisTask * AddAnalysisTaskPhiRAApPb
(
Bool_t isMC,
Bool_t isPP,
const char *path,
Int_t nmix = 0
)
{
//
// -- INITIALIZATION ----------------------------------------------------------------------------
//
// retrieve analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
// create the task and connect with physics selection
AliRsnMiniAnalysisTask *task = new AliRsnMiniAnalysisTask("RSN", isMC);
task->UseESDTriggerMask(AliVEvent::kINT7);
// settings
if (isPP)
task->UseMultiplicity("QUALITY");
else
task->UseCentrality("V0A");
// set mixing
task->UseContinuousMix();
//task->UseBinnedMix();
task->SetNMix(nmix);
task->SetMaxDiffVz(5.0);
task->SetMaxDiffMult(20.0);
task->SetMaxDiffAngle(1E20);
mgr->AddTask(task);
//
// -- EVENT CUTS (same for all configs) ---------------------------------------------------------
//
AliRsnCutEventUtils *cutEventUtils = new AliRsnCutEventUtils("cutEventUtils", kTRUE, kTRUE);
cutEventUtils->SetUseVertexSelection2013pA(kTRUE);
cutEventUtils->SetMinPlpContribSPD(5);
// define and fill cut set
AliRsnCutSet *eventCuts = new AliRsnCutSet("eventCuts", AliRsnTarget::kEvent);
eventCuts->AddCut(cutEventUtils);
eventCuts->SetCutScheme(cutEventUtils->GetName());
// set cuts in task
task->SetEventCuts(eventCuts);
//
// -- EVENT-ONLY COMPUTATIONS -------------------------------------------------------------------
//
// initialize value computation for multiplicity/centrality
// second argument tells if the value must be taken from MC
// (when this can be done)
// after creating the value, the task returns its ID
Int_t multID = task->CreateValue(AliRsnMiniValue::kMult, kFALSE);
// create event-related output
AliRsnMiniOutput *outMult = task->CreateOutput("eventMult", "HIST", "EVENT");
// set axes, by passing value ID and defining the binning
if (isPP)
outMult->AddAxis(multID, 300, 0.0, 300.0);
else
outMult->AddAxis(multID, 100, 0.0, 100.0);
//
// -- PAIR CUTS (common to all resonances) ------------------------------------------------------
//
AliRsnCutMiniPair *cutY = new AliRsnCutMiniPair("cutRapidity", AliRsnCutMiniPair::kRapidityRange);
cutY->SetRangeD(-0.765, -0.165);
AliRsnCutMiniPair *cutY2 = new AliRsnCutMiniPair("cutRapidity2", AliRsnCutMiniPair::kRapidityRange);
cutY2->SetRangeD(-0.465, 0.035);
AliRsnCutSet *cutsPair = new AliRsnCutSet("pairCuts", AliRsnTarget::kMother);
cutsPair->AddCut(cutY);
cutsPair->SetCutScheme(cutY->GetName());
AliRsnCutSet *cutsPair2 = new AliRsnCutSet("pairCuts2", AliRsnTarget::kMother);
cutsPair2->AddCut(cutY2);
cutsPair2->SetCutScheme(cutY2->GetName());
//
// -- CONFIGS -----------------------------------------------------------------------------------
//
gROOT->LoadMacro(Form("%s/ConfigPhiRAApPb.C", path));
if (!ConfigPhiRAApPb(task, isMC, isPP, "", cutsPair, cutsPair2)) return 0x0;
//
// -- CONTAINERS --------------------------------------------------------------------------------
//
const char *file = AliAnalysisManager::GetCommonFileName();
AliAnalysisDataContainer *output = mgr->CreateContainer("RsnOut", TList::Class(), AliAnalysisManager::kOutputContainer, file);
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task, 1, output);
return task;
}
AddAnalysisTaskPhiRAApPb.C:1 AddAnalysisTaskPhiRAApPb.C:2 AddAnalysisTaskPhiRAApPb.C:3 AddAnalysisTaskPhiRAApPb.C:4 AddAnalysisTaskPhiRAApPb.C:5 AddAnalysisTaskPhiRAApPb.C:6 AddAnalysisTaskPhiRAApPb.C:7 AddAnalysisTaskPhiRAApPb.C:8 AddAnalysisTaskPhiRAApPb.C:9 AddAnalysisTaskPhiRAApPb.C:10 AddAnalysisTaskPhiRAApPb.C:11 AddAnalysisTaskPhiRAApPb.C:12 AddAnalysisTaskPhiRAApPb.C:13 AddAnalysisTaskPhiRAApPb.C:14 AddAnalysisTaskPhiRAApPb.C:15 AddAnalysisTaskPhiRAApPb.C:16 AddAnalysisTaskPhiRAApPb.C:17 AddAnalysisTaskPhiRAApPb.C:18 AddAnalysisTaskPhiRAApPb.C:19 AddAnalysisTaskPhiRAApPb.C:20 AddAnalysisTaskPhiRAApPb.C:21 AddAnalysisTaskPhiRAApPb.C:22 AddAnalysisTaskPhiRAApPb.C:23 AddAnalysisTaskPhiRAApPb.C:24 AddAnalysisTaskPhiRAApPb.C:25 AddAnalysisTaskPhiRAApPb.C:26 AddAnalysisTaskPhiRAApPb.C:27 AddAnalysisTaskPhiRAApPb.C:28 AddAnalysisTaskPhiRAApPb.C:29 AddAnalysisTaskPhiRAApPb.C:30 AddAnalysisTaskPhiRAApPb.C:31 AddAnalysisTaskPhiRAApPb.C:32 AddAnalysisTaskPhiRAApPb.C:33 AddAnalysisTaskPhiRAApPb.C:34 AddAnalysisTaskPhiRAApPb.C:35 AddAnalysisTaskPhiRAApPb.C:36 AddAnalysisTaskPhiRAApPb.C:37 AddAnalysisTaskPhiRAApPb.C:38 AddAnalysisTaskPhiRAApPb.C:39 AddAnalysisTaskPhiRAApPb.C:40 AddAnalysisTaskPhiRAApPb.C:41 AddAnalysisTaskPhiRAApPb.C:42 AddAnalysisTaskPhiRAApPb.C:43 AddAnalysisTaskPhiRAApPb.C:44 AddAnalysisTaskPhiRAApPb.C:45 AddAnalysisTaskPhiRAApPb.C:46 AddAnalysisTaskPhiRAApPb.C:47 AddAnalysisTaskPhiRAApPb.C:48 AddAnalysisTaskPhiRAApPb.C:49 AddAnalysisTaskPhiRAApPb.C:50 AddAnalysisTaskPhiRAApPb.C:51 AddAnalysisTaskPhiRAApPb.C:52 AddAnalysisTaskPhiRAApPb.C:53 AddAnalysisTaskPhiRAApPb.C:54 AddAnalysisTaskPhiRAApPb.C:55 AddAnalysisTaskPhiRAApPb.C:56 AddAnalysisTaskPhiRAApPb.C:57 AddAnalysisTaskPhiRAApPb.C:58 AddAnalysisTaskPhiRAApPb.C:59 AddAnalysisTaskPhiRAApPb.C:60 AddAnalysisTaskPhiRAApPb.C:61 AddAnalysisTaskPhiRAApPb.C:62 AddAnalysisTaskPhiRAApPb.C:63 AddAnalysisTaskPhiRAApPb.C:64 AddAnalysisTaskPhiRAApPb.C:65 AddAnalysisTaskPhiRAApPb.C:66 AddAnalysisTaskPhiRAApPb.C:67 AddAnalysisTaskPhiRAApPb.C:68 AddAnalysisTaskPhiRAApPb.C:69 AddAnalysisTaskPhiRAApPb.C:70 AddAnalysisTaskPhiRAApPb.C:71 AddAnalysisTaskPhiRAApPb.C:72 AddAnalysisTaskPhiRAApPb.C:73 AddAnalysisTaskPhiRAApPb.C:74 AddAnalysisTaskPhiRAApPb.C:75 AddAnalysisTaskPhiRAApPb.C:76 AddAnalysisTaskPhiRAApPb.C:77 AddAnalysisTaskPhiRAApPb.C:78 AddAnalysisTaskPhiRAApPb.C:79 AddAnalysisTaskPhiRAApPb.C:80 AddAnalysisTaskPhiRAApPb.C:81 AddAnalysisTaskPhiRAApPb.C:82 AddAnalysisTaskPhiRAApPb.C:83 AddAnalysisTaskPhiRAApPb.C:84 AddAnalysisTaskPhiRAApPb.C:85 AddAnalysisTaskPhiRAApPb.C:86 AddAnalysisTaskPhiRAApPb.C:87 AddAnalysisTaskPhiRAApPb.C:88 AddAnalysisTaskPhiRAApPb.C:89 AddAnalysisTaskPhiRAApPb.C:90 AddAnalysisTaskPhiRAApPb.C:91 AddAnalysisTaskPhiRAApPb.C:92 AddAnalysisTaskPhiRAApPb.C:93 AddAnalysisTaskPhiRAApPb.C:94 AddAnalysisTaskPhiRAApPb.C:95 AddAnalysisTaskPhiRAApPb.C:96 AddAnalysisTaskPhiRAApPb.C:97 AddAnalysisTaskPhiRAApPb.C:98 AddAnalysisTaskPhiRAApPb.C:99 AddAnalysisTaskPhiRAApPb.C:100 AddAnalysisTaskPhiRAApPb.C:101 AddAnalysisTaskPhiRAApPb.C:102 AddAnalysisTaskPhiRAApPb.C:103 AddAnalysisTaskPhiRAApPb.C:104 AddAnalysisTaskPhiRAApPb.C:105 AddAnalysisTaskPhiRAApPb.C:106 AddAnalysisTaskPhiRAApPb.C:107 AddAnalysisTaskPhiRAApPb.C:108 AddAnalysisTaskPhiRAApPb.C:109 AddAnalysisTaskPhiRAApPb.C:110 AddAnalysisTaskPhiRAApPb.C:111 AddAnalysisTaskPhiRAApPb.C:112 AddAnalysisTaskPhiRAApPb.C:113 AddAnalysisTaskPhiRAApPb.C:114 AddAnalysisTaskPhiRAApPb.C:115 AddAnalysisTaskPhiRAApPb.C:116 AddAnalysisTaskPhiRAApPb.C:117 AddAnalysisTaskPhiRAApPb.C:118 AddAnalysisTaskPhiRAApPb.C:119 AddAnalysisTaskPhiRAApPb.C:120 AddAnalysisTaskPhiRAApPb.C:121 AddAnalysisTaskPhiRAApPb.C:122 AddAnalysisTaskPhiRAApPb.C:123 AddAnalysisTaskPhiRAApPb.C:124