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,
6 /// Add AliAnalysisTaskMuonResolution to the train (Philippe Pillot)
9 // Get the pointer to the existing analysis manager via the static access method.
10 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 Error("AddTaskMuonResolution","AliAnalysisManager not set!");
16 // This task run on ESDs
17 TString type = mgr->GetInputEventHandler()->GetDataType();
18 if (!type.Contains("ESD")) {
19 Error("AddTaskMuonResolution", "ESD input handler needed!");
23 // Create and configure task
24 AliAnalysisTaskMuonResolution *task = new AliAnalysisTaskMuonResolution("MuonResolution");
26 Error("AddTaskMuonResolution", "Muon resolution task cannot be created!");
29 task->SelectPhysics(selectPhysics);
30 task->SelectTrigger(selectTrigger);
31 task->MatchTrigger(matchTrig);
32 task->ApplyAccCut(applyAccCut);
33 task->SetMinMomentum(minMomentum);
34 task->CorrectForSystematics(correctForSystematics);
35 task->SetExtrapMode(extrapMode);
37 // Add task to analysis manager
40 // Connect input container
41 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
43 // Define output file directory
44 TString outputfile = AliAnalysisManager::GetCommonFileName();
45 if ( outputfile.IsNull() ) {
46 Error("AddTaskMuonResolution", "Common output file is not defined!");
49 outputfile += ":MUON_Resolution";
51 // Create and connect output containers
52 AliAnalysisDataContainer *cout_histo1 = mgr->CreateContainer("Residuals", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
53 AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer("ResidualsVsP", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
54 AliAnalysisDataContainer *cout_histo3 = mgr->CreateContainer("LocalChi2", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
55 AliAnalysisDataContainer *cout_histo4 = mgr->CreateContainer("ChamberRes", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
56 AliAnalysisDataContainer *cout_histo5 = mgr->CreateContainer("TrackRes", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
57 mgr->ConnectOutput(task, 1, cout_histo1);
58 mgr->ConnectOutput(task, 2, cout_histo2);
59 mgr->ConnectOutput(task, 3, cout_histo3);
60 mgr->ConnectOutput(task, 4, cout_histo4);
61 mgr->ConnectOutput(task, 5, cout_histo5);