]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AddTaskFlowSingleMu.C
Added Tender to PHOSPi0Flow single-task macros.
[u/mrichter/AliRoot.git] / PWG / muon / AddTaskFlowSingleMu.C
CommitLineData
7e70f6e0 1#if !defined(__CINT__) || defined(__MAKECINT__)
2#include "TString.h"
3#include "TObjArray.h"
4
5#include "AliLog.h"
6#include "AliVEventHandler.h"
7
8#include "AliAnalysisManager.h"
9#include "AliAnalysisDataContainer.h"
10
11#include "AliMuonTrackCuts.h"
12#include "AliAnalysisTaskFlowSingleMu.h"
13#endif
14
15AliAnalysisTaskFlowSingleMu* AddTaskFlowSingleMu(Bool_t isMC = kFALSE)
16{
17 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18 if (!mgr) {
19 ::Error("AddtaskFlowSingleMu", "No analysis manager to connect to.");
20 return NULL;
21 }
22
23 TString type = mgr->GetInputEventHandler()->GetDataType();
24 if (!type.Contains("ESD") && !type.Contains("AOD")) {
25 ::Error("AddtaskFlowSingleMu", "FlowSingleMu task needs the manager to have an ESD or AOD input handler.");
26 return NULL;
27 }
28
29 // Create container
30 TString currName = "";
31 TString outputfile = mgr->GetCommonFileName();
32 if ( ! outputfile.IsNull() ) outputfile += ":PWGHF_FlowSingleMu";
33 else outputfile = "FlowSingleMuAnalysis.root";
34
35 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("FlowSingleMuOut",TObjArray::Class(),AliAnalysisManager::kOutputContainer,outputfile);
36
37 // Create cuts
38 AliMuonTrackCuts* muonTrackCuts = new AliMuonTrackCuts("TestStandardMuonTrackCuts", "TestStandardMuonTrackCuts");
39 muonTrackCuts->SetIsMC(isMC);
40
41 // Create task
42 AliAnalysisTaskFlowSingleMu *flowSingleMuTask = new AliAnalysisTaskFlowSingleMu("FlowSingleMuTask", *muonTrackCuts);
43 if ( isMC ) flowSingleMuTask->SetTrigClassPatterns("ANY");
ebba9ef0 44 flowSingleMuTask->GetMuonEventCuts()->SetVertexVzLimits(-10., 10.);
7e70f6e0 45 mgr->AddTask(flowSingleMuTask);
46
47 // Connect containers
48 mgr->ConnectInput (flowSingleMuTask, 0, mgr->GetCommonInputContainer());
49 mgr->ConnectOutput (flowSingleMuTask, 1, coutput1);
50
51 return flowSingleMuTask;
52}