]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / macros / AddTaskEmcalPhysicsSelection.C
CommitLineData
a55e4f1d 1AliEmcalPhysicsSelectionTask* AddTaskEmcalPhysicsSelection(
a6eee76f 2 Bool_t exFOnly,
2e998475 3 Bool_t wHistos = kTRUE,
4 UInt_t triggers = 0,
5 Double_t minE = -1,
1dc3ded9 6 Double_t minPt = -1,
7 Double_t vz = -1,
8 Bool_t vzdiff = kFALSE,
9 Double_t cmin = -1,
6a7fb48f 10 Double_t cmax = -1,
11 Double_t minCellTrackScale = -1,
3bdd173f 12 Double_t maxCellTrackScale = -1,
703b9eab 13 Bool_t byPassPhysSelTask = kFALSE
89d0bb11 14)
f71e445a 15{
3bdd173f 16 if(byPassPhysSelTask)
17 return 0;
18
f71e445a 19 // Add EMCAL physics selection task.
20
f71e445a 21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22 if (!mgr) {
a6eee76f 23 ::Error("AddTaskEmcalPhysicsSelection", "No analysis manager found.");
f71e445a 24 return 0;
25 }
a6eee76f 26
27 if (!mgr->GetInputEventHandler()) {
28 ::Error("AddTaskEmcalPhysicsSelection", "This task requires an input event handler");
29 return NULL;
30 }
31
27fde6c7 32 Bool_t isMC = (mgr->GetMCtruthEventHandler()) ? kTRUE:kFALSE;
a6eee76f 33 AliEmcalPhysicsSelectionTask *pseltask = new AliEmcalPhysicsSelectionTask("EmcalPSel");
34 pseltask->SetDoWriteHistos(wHistos);
6a7fb48f 35 AliEmcalPhysicsSelection *physSel = static_cast<AliEmcalPhysicsSelection*>(pseltask->GetPhysicsSelection());
2e998475 36 if (physSel) {
37 physSel->SetSkipFastOnly(exFOnly);
38 if (isMC)
39 physSel->SetAnalyzeMC();
40 physSel->SetClusMinE(minE);
41 physSel->SetTrackMinPt(minPt);
42 physSel->SetTriggers(triggers);
1dc3ded9 43 physSel->SetCentRange(cmin,cmax);
44 physSel->SetZVertex(vz);
45 physSel->SetCheckZvertexDiff(vzdiff);
6a7fb48f 46 physSel->SetCellTrackScale(minCellTrackScale,maxCellTrackScale);
2e998475 47 } else {
48 ::Error("AddTaskEmcalPhysicsSelection", "No AliEmcalPhysicsSelection object found.");
49 }
50
f71e445a 51 mgr->AddTask(pseltask);
52
53 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
a6eee76f 54 AliAnalysisDataContainer *coutput = mgr->CreateContainer("cstatsout",
55 TList::Class(),
56 AliAnalysisManager::kOutputContainer,
57 "EventStat_temp.root");
58
59 mgr->ConnectInput(pseltask, 0, cinput);
60 mgr->ConnectOutput(pseltask, 1, coutput);
61
27fde6c7 62 return pseltask;
f71e445a 63}