]>
Commit | Line | Data |
---|---|---|
a55e4f1d | 1 | AliEmcalPhysicsSelectionTask* 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 | } |