#if !defined(__CINT__) || defined(__MAKECINT__)
#include "TString.h"
#include "TObjArray.h"
#include "AliLog.h"
#include "AliVEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisDataContainer.h"
#include "AliMuonTrackCuts.h"
#include "AliAnalysisTaskSingleMu.h"
#endif
AliAnalysisTaskSingleMu* AddTaskSingleMuonAnalysis(Bool_t isMC = kFALSE, TString changeName = "")
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddtaskSingleMu", "No analysis manager to connect to.");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType();
if (!type.Contains("ESD") && !type.Contains("AOD")) {
::Error("AddtaskSingleMu", "SingleMu task needs the manager to have an ESD or AOD input handler.");
return NULL;
}
// Create container
TString outputfile = mgr->GetCommonFileName();
if ( ! outputfile.IsNull() ) outputfile += ":PWG3_SingleMu" + changeName;
else outputfile = "SingleMuAnalysis" + changeName + ".root";
TString containerName = "SingleMuOut" + changeName;
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containerName.Data(),TObjArray::Class(),AliAnalysisManager::kOutputContainer,outputfile);
// Create cuts
TString cutsName = "StdMuonTrackCuts" + changeName;
AliMuonTrackCuts* muonTrackCuts = new AliMuonTrackCuts(cutsName.Data(), cutsName.Data());
muonTrackCuts->SetIsMC(isMC);
// Create task
TString taskName = "SingleMuTask" + changeName;
AliAnalysisTaskSingleMu *singleMuAnalysisTask = new AliAnalysisTaskSingleMu(taskName.Data(), *muonTrackCuts);
if ( isMC ) singleMuAnalysisTask->SetTrigClassPatterns("ANY");
mgr->AddTask(singleMuAnalysisTask);
// Connect containers
mgr->ConnectInput (singleMuAnalysisTask, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput (singleMuAnalysisTask, 1, coutput1);
return singleMuAnalysisTask;
}
AddTaskSingleMuonAnalysis.C:1 AddTaskSingleMuonAnalysis.C:2 AddTaskSingleMuonAnalysis.C:3 AddTaskSingleMuonAnalysis.C:4 AddTaskSingleMuonAnalysis.C:5 AddTaskSingleMuonAnalysis.C:6 AddTaskSingleMuonAnalysis.C:7 AddTaskSingleMuonAnalysis.C:8 AddTaskSingleMuonAnalysis.C:9 AddTaskSingleMuonAnalysis.C:10 AddTaskSingleMuonAnalysis.C:11 AddTaskSingleMuonAnalysis.C:12 AddTaskSingleMuonAnalysis.C:13 AddTaskSingleMuonAnalysis.C:14 AddTaskSingleMuonAnalysis.C:15 AddTaskSingleMuonAnalysis.C:16 AddTaskSingleMuonAnalysis.C:17 AddTaskSingleMuonAnalysis.C:18 AddTaskSingleMuonAnalysis.C:19 AddTaskSingleMuonAnalysis.C:20 AddTaskSingleMuonAnalysis.C:21 AddTaskSingleMuonAnalysis.C:22 AddTaskSingleMuonAnalysis.C:23 AddTaskSingleMuonAnalysis.C:24 AddTaskSingleMuonAnalysis.C:25 AddTaskSingleMuonAnalysis.C:26 AddTaskSingleMuonAnalysis.C:27 AddTaskSingleMuonAnalysis.C:28 AddTaskSingleMuonAnalysis.C:29 AddTaskSingleMuonAnalysis.C:30 AddTaskSingleMuonAnalysis.C:31 AddTaskSingleMuonAnalysis.C:32 AddTaskSingleMuonAnalysis.C:33 AddTaskSingleMuonAnalysis.C:34 AddTaskSingleMuonAnalysis.C:35 AddTaskSingleMuonAnalysis.C:36 AddTaskSingleMuonAnalysis.C:37 AddTaskSingleMuonAnalysis.C:38 AddTaskSingleMuonAnalysis.C:39 AddTaskSingleMuonAnalysis.C:40 AddTaskSingleMuonAnalysis.C:41 AddTaskSingleMuonAnalysis.C:42 AddTaskSingleMuonAnalysis.C:43 AddTaskSingleMuonAnalysis.C:44 AddTaskSingleMuonAnalysis.C:45 AddTaskSingleMuonAnalysis.C:46 AddTaskSingleMuonAnalysis.C:47 AddTaskSingleMuonAnalysis.C:48 AddTaskSingleMuonAnalysis.C:49 AddTaskSingleMuonAnalysis.C:50 AddTaskSingleMuonAnalysis.C:51 AddTaskSingleMuonAnalysis.C:52 AddTaskSingleMuonAnalysis.C:53 AddTaskSingleMuonAnalysis.C:54