]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AddTaskMuonQA.C
Changes related to PID mode and parameters configuration (Rossella, Francesco)
[u/mrichter/AliRoot.git] / PWG3 / muon / AddTaskMuonQA.C
CommitLineData
94ef1a28 1AliAnalysisTaskMuonQA *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}