]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | AliAnalysisTaskFlowSingleMu* 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 | } |