1 AliAnalysisTaskSingleMu *AddTaskSingleMuonAnalysis(){
3 // Get the pointer to the existing analysis manager via the static access method.
4 //==============================================================================
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7 ::Error("AddtaskSingleMuonAnalysis", "No analysis manager to connect to.");
11 // Check this using the analysis manager.
12 //===============================================================================
13 TString type = mgr->GetInputEventHandler()->GetDataType();
14 if (!type.Contains("ESD")) {
15 ::Error("AddTaskSingleMuonAnalysis", "ESD filtering task needs the manager to have an ESD input handler.");
19 // // Check if MC handler is connected in case kine filter requested
21 AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
23 ::Error("AddTaskSingleMuonAnalysis", "No MC handler connected");
27 TString outputfile = AliAnalysisManager::GetCommonFileName();
28 outputfile += ":PWG3Muon_SingleMuon";
30 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("SingleMuon",TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
32 // Create the task, add it to the manager and configure it.
33 //===========================================================================
34 // Barrel tracks filter
35 AliAnalysisTaskSingleMu *SingleMuonAnalysisTask = new AliAnalysisTaskSingleMu("Single Muon Analysis Task");
36 mgr->AddTask(SingleMuonAnalysisTask);
38 // Create ONLY the output containers for the data produced by the task.
39 // Get and connect other common input/output containers via the manager as below
40 //==============================================================================
41 mgr->ConnectInput (SingleMuonAnalysisTask, 0, mgr->GetCommonInputContainer());
42 mgr->ConnectOutput (SingleMuonAnalysisTask, 1, coutput1);
44 return SingleMuonAnalysisTask;