3 AliEmcalPhysicsSelectionTask* AddTaskEmcalPhysicsSelection(
5 Bool_t wHistos = kTRUE,
10 Bool_t vzdiff = kFALSE,
13 Double_t minCellTrackScale = -1,
14 Double_t maxCellTrackScale = -1
17 // Add EMCAL physics selection task.
19 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 ::Error("AddTaskEmcalPhysicsSelection", "No analysis manager found.");
25 if (!mgr->GetInputEventHandler()) {
26 ::Error("AddTaskEmcalPhysicsSelection", "This task requires an input event handler");
30 Bool_t isMC = (mgr->GetMCtruthEventHandler()) ? kTRUE:kFALSE;
31 AliEmcalPhysicsSelectionTask *pseltask = new AliEmcalPhysicsSelectionTask("EmcalPSel");
32 pseltask->SetDoWriteHistos(wHistos);
33 AliEmcalPhysicsSelection *physSel = static_cast<AliEmcalPhysicsSelection*>(pseltask->GetPhysicsSelection());
35 physSel->SetSkipFastOnly(exFOnly);
37 physSel->SetAnalyzeMC();
38 physSel->SetClusMinE(minE);
39 physSel->SetTrackMinPt(minPt);
40 physSel->SetTriggers(triggers);
41 physSel->SetCentRange(cmin,cmax);
42 physSel->SetZVertex(vz);
43 physSel->SetCheckZvertexDiff(vzdiff);
44 physSel->SetCellTrackScale(minCellTrackScale,maxCellTrackScale);
46 ::Error("AddTaskEmcalPhysicsSelection", "No AliEmcalPhysicsSelection object found.");
49 mgr->AddTask(pseltask);
51 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
52 AliAnalysisDataContainer *coutput = mgr->CreateContainer("cstatsout",
54 AliAnalysisManager::kOutputContainer,
55 "EventStat_temp.root");
57 mgr->ConnectInput(pseltask, 0, cinput);
58 mgr->ConnectOutput(pseltask, 1, coutput);