]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/FirstPhysics/AddTaskFPexample.C
updates in dNdPt analysis classes
[u/mrichter/AliRoot.git] / PWG0 / FirstPhysics / AddTaskFPexample.C
1
2 void AddTaskFPexample(AliAnalysisManager *mgr,
3                       AliAnalysisAlien *plugin,
4                       const char *runtype,
5                       const bool useRealData,
6                       const char *taskname,
7                       const Int_t gridRun = -1)
8 {
9   if (!mgr) {
10     Printf("ERROR: undefined manager, FPexample won't be added");
11     return;
12   }
13   if (!plugin) {
14     Printf("ERROR: undefined alien plugin, FPexample won't be added");
15     return;
16   }
17   // create task
18   gROOT->LoadMacro("AliAnalysisTaskFirstPhysics.cxx++g");
19   gROOT->LoadMacro("AliAnalysisHistosVertex.cxx++g");
20   gROOT->LoadMacro("AliAnalysisTaskFPexample.cxx++g");
21
22   AliAnalysisTaskFPexample* task = new AliAnalysisTaskFPexample(taskname);
23   task->SelectCollisionCandidates(AliVEvent::kMB); // if physics selection performed in UserExec(), this line should be commented
24   task->SetCutTrackPt(0.15, 1e10);
25   task->SetCutEta(0.8);
26   task->SetCutVertexZ(10);
27   mgr->AddTask(task);
28
29   // set output root file name for different analysis
30   TString outfilename;
31   if (runtype == "grid") {
32     outfilename = TString::Format("grid_%d_%s.root", gridRun, useRealData ? "data" : "sim");
33     plugin->SetDefaultOutputs(kFALSE);
34     plugin->SetOutputFiles(outfilename);
35   } else {
36     outfilename = TString::Format("%s_xx_%s.root", runtype, useRealData ? "data" : "sim");
37   }
38
39   // create containers for input/output
40   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
41   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput1", TList::Class(), AliAnalysisManager::kOutputContainer, outfilename.Data());
42   // connect input/output
43   mgr->ConnectInput(task, 0, cinput);
44   mgr->ConnectOutput(task, 1, coutput1);
45 }