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->SelectTrigger(selectTrigger, AliVEvent::kMB);
32 task->MatchTrigger(matchTrig);
33 task->ApplyAccCut(applyAccCut);
34 task->SetMinMomentum(minMomentum);
35 task->CorrectForSystematics(correctForSystematics);
36 task->SetExtrapMode(extrapMode);
38 // Add task to analysis manager
41 // Connect input container
42 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
44 // Define output file directory
45 TString outputfile = AliAnalysisManager::GetCommonFileName();
46 if ( outputfile.IsNull() ) {
47 Error("AddTaskMuonResolution", "Common output file is not defined!");
50 outputfile += ":MUON_Resolution";
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);
55 AliAnalysisDataContainer *cout_histo3 = mgr->CreateContainer("ResidualsVsCent", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
56 AliAnalysisDataContainer *cout_histo4 = mgr->CreateContainer("LocalChi2", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
57 AliAnalysisDataContainer *cout_histo5 = mgr->CreateContainer("ChamberRes", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
58 AliAnalysisDataContainer *cout_histo6 = mgr->CreateContainer("TrackRes", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
59 mgr->ConnectOutput(task, 1, cout_histo1);
60 mgr->ConnectOutput(task, 2, cout_histo2);
61 mgr->ConnectOutput(task, 3, cout_histo3);
62 mgr->ConnectOutput(task, 4, cout_histo4);
63 mgr->ConnectOutput(task, 5, cout_histo5);
64 mgr->ConnectOutput(task, 6, cout_histo6);