]>
Commit | Line | Data |
---|---|---|
94ef1a28 | 1 | AliAnalysisTaskMuonQA *AddTaskMuonQA(Bool_t selectPhysics = kTRUE, Short_t selectCharge = 0) |
2 | { | |
3 | /// Add AliAnalysisTaskMuonQA to the train (Philippe Pillot) | |
4 | ||
5 | ||
6 | // Get the pointer to the existing analysis manager via the static access method. | |
7 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
8 | if(!mgr) { | |
9 | Error("AddTaskMuonQA","AliAnalysisManager not set!"); | |
10 | return NULL; | |
11 | } | |
12 | ||
13 | // This task run on ESDs | |
14 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
15 | if (!type.Contains("ESD")) { | |
16 | Error("AddTaskMuonQA", "ESD input handler needed!"); | |
17 | return NULL; | |
18 | } | |
19 | ||
20 | // Create and configure task | |
21 | AliAnalysisTaskMuonQA *task = new AliAnalysisTaskMuonQA("MuonQA"); | |
22 | if (!task) { | |
23 | Error("AddTaskMuonQA", "Muon QA task cannot be created!"); | |
24 | return NULL; | |
25 | } | |
26 | task->SelectPhysics(selectPhysics); | |
27 | task->SelectCharge(selectCharge); | |
28 | ||
29 | // Add task to analysis manager | |
30 | mgr->AddTask(task); | |
31 | ||
32 | // Connect input container | |
33 | mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer()); | |
34 | ||
35 | // Define output file directory | |
36 | TString outputfile = AliAnalysisManager::GetCommonFileName(); | |
37 | if ( outputfile.IsNull() ) { | |
38 | Error("AddTaskMuonQA", "Common output file is not defined!"); | |
39 | return NULL; | |
40 | } | |
41 | outputfile += ":MUON_QA"; | |
42 | ||
43 | // Create and connect output containers | |
44 | AliAnalysisDataContainer *cout_histo1 = mgr->CreateContainer("general", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile); | |
45 | AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer("expert", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile); | |
46 | AliAnalysisDataContainer *cout_trackStat = mgr->CreateContainer("trackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile); | |
47 | AliAnalysisDataContainer *cout_eventStat = mgr->CreateContainer("eventCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile); | |
48 | mgr->ConnectOutput(task, 1, cout_histo1); | |
49 | mgr->ConnectOutput(task, 2, cout_histo2); | |
50 | mgr->ConnectOutput(task, 3, cout_trackStat); | |
51 | mgr->ConnectOutput(task, 4, cout_eventStat); | |
52 | ||
53 | return task; | |
54 | } |