]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/MUON/dep/AddTaskMuonResolution.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / MUON / dep / AddTaskMuonResolution.C
CommitLineData
00612ffc 1AliAnalysisTaskMuonResolution *AddTaskMuonResolution(Bool_t selectPhysics = kFALSE, Bool_t selectTrigger = kFALSE,
2 Bool_t matchTrig = kTRUE, Bool_t applyAccCut = kTRUE,
3 Double_t minMomentum = 0., Bool_t correctForSystematics = kTRUE,
4 Int_t extrapMode = 1)
7cbb1928 5{
6 /// Add AliAnalysisTaskMuonResolution to the train (Philippe Pillot)
7
8
9 // Get the pointer to the existing analysis manager via the static access method.
10 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11 if(!mgr) {
12 Error("AddTaskMuonResolution","AliAnalysisManager not set!");
13 return NULL;
14 }
15
16 // This task run on ESDs
17 TString type = mgr->GetInputEventHandler()->GetDataType();
18 if (!type.Contains("ESD")) {
19 Error("AddTaskMuonResolution", "ESD input handler needed!");
20 return NULL;
21 }
22
23 // Create and configure task
24 AliAnalysisTaskMuonResolution *task = new AliAnalysisTaskMuonResolution("MuonResolution");
25 if (!task) {
26 Error("AddTaskMuonResolution", "Muon resolution task cannot be created!");
27 return NULL;
28 }
29 task->SelectPhysics(selectPhysics);
00612ffc 30 task->SelectTrigger(selectTrigger);
4060971a 31// task->SelectTrigger(selectTrigger, AliVEvent::kMB);
7cbb1928 32 task->MatchTrigger(matchTrig);
00612ffc 33 task->ApplyAccCut(applyAccCut);
7cbb1928 34 task->SetMinMomentum(minMomentum);
35 task->CorrectForSystematics(correctForSystematics);
36 task->SetExtrapMode(extrapMode);
37
38 // Add task to analysis manager
39 mgr->AddTask(task);
40
41 // Connect input container
42 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
43
44 // Define output file directory
45 TString outputfile = AliAnalysisManager::GetCommonFileName();
46 if ( outputfile.IsNull() ) {
47 Error("AddTaskMuonResolution", "Common output file is not defined!");
48 return NULL;
49 }
50 outputfile += ":MUON_Resolution";
51
52 // Create and connect output containers
53 AliAnalysisDataContainer *cout_histo1 = mgr->CreateContainer("Residuals", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
54 AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer("ResidualsVsP", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
4060971a 55 AliAnalysisDataContainer *cout_histo3 = mgr->CreateContainer("ResidualsVsCent", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
09233fcd 56 AliAnalysisDataContainer *cout_histo4 = mgr->CreateContainer("ResidualsVsAngle", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
57 AliAnalysisDataContainer *cout_histo5 = mgr->CreateContainer("TrackRes", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
58 AliAnalysisDataContainer *cout_histo6 = mgr->CreateContainer("LocalChi2", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
59 AliAnalysisDataContainer *cout_histo7 = mgr->CreateContainer("ChamberRes", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
7cbb1928 60 mgr->ConnectOutput(task, 1, cout_histo1);
61 mgr->ConnectOutput(task, 2, cout_histo2);
62 mgr->ConnectOutput(task, 3, cout_histo3);
63 mgr->ConnectOutput(task, 4, cout_histo4);
64 mgr->ConnectOutput(task, 5, cout_histo5);
4060971a 65 mgr->ConnectOutput(task, 6, cout_histo6);
09233fcd 66 mgr->ConnectOutput(task, 7, cout_histo7);
7cbb1928 67
68 return task;
69}