]>
Commit | Line | Data |
---|---|---|
00612ffc | 1 | AliAnalysisTaskMuonResolution *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 | } |