1 #if !defined(__CINT__) || defined(__MAKECINT__)
6 #include "AliVEventHandler.h"
8 #include "AliAnalysisManager.h"
9 #include "AliAnalysisDataContainer.h"
11 #include "AliMuonTrackCuts.h"
12 #include "AliAnalysisTaskSingleMu.h"
15 AliAnalysisTaskSingleMu* AddTaskSingleMuonAnalysis(Bool_t isMC = kFALSE)
17 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 ::Error("AddtaskSingleMu", "No analysis manager to connect to.");
23 TString type = mgr->GetInputEventHandler()->GetDataType();
24 if (!type.Contains("ESD") && !type.Contains("AOD")) {
25 ::Error("AddtaskSingleMu", "SingleMu task needs the manager to have an ESD or AOD input handler.");
30 TString currName = "";
31 TString outputfile = mgr->GetCommonFileName();
32 if ( ! outputfile.IsNull() ) outputfile += ":PWG3_SingleMu";
33 else outputfile = "SingleMuAnalysis.root";
35 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("SingleMuOut",TObjArray::Class(),AliAnalysisManager::kOutputContainer,outputfile);
38 AliMuonTrackCuts* muonTrackCuts = new AliMuonTrackCuts("TestStandardMuonTrackCuts", "TestStandardMuonTrackCuts");
39 muonTrackCuts->SetIsMC(isMC);
42 AliAnalysisTaskSingleMu *singleMuAnalysisTask = new AliAnalysisTaskSingleMu("SingleMuTask", *muonTrackCuts);
43 if ( isMC ) singleMuAnalysisTask->SetTrigClassPatterns("ANY");
44 mgr->AddTask(singleMuAnalysisTask);
47 mgr->ConnectInput (singleMuAnalysisTask, 0, mgr->GetCommonInputContainer());
48 mgr->ConnectOutput (singleMuAnalysisTask, 1, coutput1);
50 return singleMuAnalysisTask;