]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AddTaskSingleMuonAnalysis.C
1. Correctly fill the theta values for ghosts. 2. Improve the efficiency plots in...
[u/mrichter/AliRoot.git] / PWG3 / muon / AddTaskSingleMuonAnalysis.C
CommitLineData
b201705a 1AliAnalysisTaskSingleMu *AddTaskSingleMuonAnalysis(Bool_t fillNtuple=kFALSE, Bool_t keepAll=kFALSE){
d394951c 2
3 // Get the pointer to the existing analysis manager via the static access method.
4 //==============================================================================
4583fe14 5
d394951c 6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7 if (!mgr) {
8 ::Error("AddtaskSingleMuonAnalysis", "No analysis manager to connect to.");
9 return NULL;
10 }
d394951c 11
b201705a 12 // This task requires an ESD or AOD output handler.
13 // Check this using the analysis manager.
14 //===============================================================================
15 TString type = mgr->GetInputEventHandler()->GetDataType();
16 if (!type.Contains("ESD") && !type.Contains("AOD")) {
17 ::Error("AddtaskSingleMuonAnalysis", "SingleMuon task needs the manager to have an ESD or AOD input handler.");
18 return NULL;
19 }
d394951c 20
d08e8cce 21 TString outputfile = AliAnalysisManager::GetCommonFileName();
22 outputfile += ":PWG3Muon_SingleMuon";
23
24 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("SingleMuon",TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
4583fe14 25 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("SingleMuonMC",TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
b201705a 26 AliAnalysisDataContainer *coutput3 = 0x0;
27
28 if ( fillNtuple ) {
29 coutput3 = mgr->CreateContainer("SingleMuonNtuple",TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
30 coutput3->SetSpecialOutput();
31 }
32
d394951c 33
4583fe14 34 // Create the task, add it to the manager and configure it.
d394951c 35 //===========================================================================
4583fe14 36
b201705a 37 AliAnalysisTaskSingleMu *SingleMuonAnalysisTask = new AliAnalysisTaskSingleMu("Single Muon Analysis Task", fillNtuple, keepAll);
d394951c 38 mgr->AddTask(SingleMuonAnalysisTask);
39
40 // Create ONLY the output containers for the data produced by the task.
41 // Get and connect other common input/output containers via the manager as below
42 //==============================================================================
4583fe14 43
d394951c 44 mgr->ConnectInput (SingleMuonAnalysisTask, 0, mgr->GetCommonInputContainer());
45 mgr->ConnectOutput (SingleMuonAnalysisTask, 1, coutput1);
4583fe14 46 mgr->ConnectOutput (SingleMuonAnalysisTask, 2, coutput2);
d394951c 47
b201705a 48 if ( fillNtuple )
49 mgr->ConnectOutput (SingleMuonAnalysisTask, 3, coutput3);
50
d394951c 51 return SingleMuonAnalysisTask;
52}