3 #include <ANALYSIS/AliAnalysisManager.h>
4 #include <AliRsnAnalysisTask.h>
5 #include <PWG2/RESONANCES/AliRsnDaughterSelector.h>
6 #include <PWG2/RESONANCES/AliRsnMiniAnalysisTask.h>
8 AliAnalysisTaskSE *AddRsnAnalysisTask(TString format = "esd", Bool_t useMC = kFALSE,Bool_t isMixing = kFALSE,AliRsnInputHandler *rsnIH=0,TList *listRsn=0,TString postfix="")
11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 if (!mgr) { Printf("Error [AddRsnAnalysisTask%s] : mgr is null !!!",postfix.Data()); return 0;}
14 // initialize task with all available slots, even if not all of them will be used:
15 AliAnalysisTaskSE *task = 0;
18 Int_t isRsnMini = AliAnalysisManager::GetGlobalInt("rsnUseMiniPackage",valid);
21 postfix.Prepend("Mini");
22 AliRsnMiniAnalysisTask *taskRsnMini = new AliRsnMiniAnalysisTask(Form("Rsn%s",postfix.Data()),useMC);
23 Int_t refreshPrint = AliAnalysisManager::GetGlobalInt("rsnMixPrintRefresh",valid);
24 if (valid) taskRsnMini->SetMixPrintRefresh(refreshPrint);
25 task = (AliAnalysisTaskSE *) taskRsnMini;
28 AliRsnAnalysisTask *taskRsn = new AliRsnAnalysisTask(Form("Rsn%s",postfix.Data()));
29 task = (AliAnalysisTaskSE *) taskRsn;
32 // TODO this is tmp hack
33 if (!rsnIH) rsnIH = new AliRsnInputHandler();
35 // gROOT->LoadMacro("RsnConfig.C");
36 if (!RsnConfig(task,useMC,isMixing,rsnIH,listRsn)) {
37 Printf("Error in RsnConfig.C");
41 // add the task to manager
44 AliRsnDaughterSelector *sel = 0;
47 sel = rsnIH->GetSelector();
51 // connect input container according to source choice
52 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
54 // create paths for the output in the common file
55 TString commonPath = AliAnalysisManager::GetCommonFileName();
57 // create containers for output
58 AliAnalysisDataContainer *output = mgr->CreateContainer(Form("RsnHist%s", postfix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, commonPath.Data());
60 // big outout (expert only)
61 Int_t useBigOutput = 0;
63 Printf("Using Big output ...");
65 output->SetSpecialOutput();
66 mgr->SetSpecialOutputLocation("root://lx000.saske.sk:21094//tmp/mvala/");
69 mgr->ConnectOutput(task, 1, output);