]>
Commit | Line | Data |
---|---|---|
1 | AliAnalysisTaskJetsTriggerTRD* AddTaskJetsTriggerTRD(const char *name = "jets_trg_trd", const char *jetBranchName = "") | |
2 | { | |
3 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
4 | if(!mgr){ | |
5 | ::Error("AddTaskJetsTriggerTRD", "No analysis manager to connect to."); | |
6 | return NULL; | |
7 | } | |
8 | if(!mgr->GetInputEventHandler()){ | |
9 | ::Error("AddTaskJetsTriggerTRD", "This task requires an input event handler."); | |
10 | return NULL; | |
11 | } | |
12 | ||
13 | Bool_t isMC = (mgr->GetMCtruthEventHandler() != 0x0); | |
14 | TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); | |
15 | ||
16 | AliAnalysisTaskJetsTriggerTRD *task = new AliAnalysisTaskJetsTriggerTRD(name); | |
17 | ||
18 | // if no jet branch is specified, set default values depending on data type | |
19 | if (strlen(jetBranchName) > 0) { | |
20 | task->SetJetBranchName(jetBranchName); | |
21 | } | |
22 | else { | |
23 | // for ESDs (MC and real) we use a preceding jet finder | |
24 | if (isMC) { | |
25 | task->SetJetBranchName("clustersAODMC_ANTIKT04_B0_Filter00272_Cut00150_Skip00"); | |
26 | } | |
27 | else if (inputDataType.Contains("ESD")) { | |
28 | task->SetJetBranchName("clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00"); | |
29 | } | |
30 | // for AODs we use an existing jet branch | |
31 | else if (inputDataType.Contains("AOD")) { | |
32 | task->SetJetBranchName("clustersAOD_ANTIKT02_B0_Filter00272_Cut00150_Skip00"); | |
33 | } | |
34 | else { | |
35 | printf("unknown input data type\n"); | |
36 | } | |
37 | } | |
38 | ||
39 | mgr->AddTask(task); | |
40 | ||
41 | AliAnalysisDataContainer *coutput = | |
42 | mgr->CreateContainer(Form("hist_%s", name), TList::Class(), AliAnalysisManager::kOutputContainer, | |
43 | Form("%s:PWGJE_jets_trg_trd", AliAnalysisManager::GetCommonFileName())); | |
44 | ||
45 | mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer()); | |
46 | if (mgr->GetCommonOutputContainer()) | |
47 | mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer()); | |
48 | mgr->ConnectOutput(task, 1, coutput); | |
49 | ||
50 | return task; | |
51 | } |