1 AliAnalysisTaskMuonFakes* AddTaskMuonFakes(Bool_t useMCLabels = kFALSE)
3 /// Add AliAnalysisTaskMuonFakes to the train (Philippe Pillot)
5 // Get the pointer to the existing analysis manager via the static access method.
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 Error("AddTaskMuonFakes","AliAnalysisManager not set!");
12 // This task run on ESDs
13 TString type = mgr->GetInputEventHandler()->GetDataType();
14 if (!type.Contains("ESD")) {
15 Error("AddTaskMuonFakes", "ESD input handler needed!");
19 // Create and configure task
20 AliAnalysisTaskMuonFakes *task = new AliAnalysisTaskMuonFakes("MUONFakes");
22 Error("AddTaskMuonFakes", "Muon fakes task cannot be created!");
25 task->UseMCLabels(useMCLabels);
27 // Add task to analysis manager
30 // Connect input container
31 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
33 // Define output file directory
34 TString outputfile = AliAnalysisManager::GetCommonFileName();
35 if ( outputfile.IsNull() ) {
36 Error("AddTaskMuonFakes", "Common output file is not defined!");
39 outputfile += ":MUON_Fakes";
41 // Create and connect output containers
42 AliAnalysisDataContainer *cout_histo = mgr->CreateContainer("histos", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
43 AliAnalysisDataContainer *cout_track = mgr->CreateContainer("trackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
44 AliAnalysisDataContainer *cout_fakeTrack = mgr->CreateContainer("fakeTrackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
45 AliAnalysisDataContainer *cout_matchTrack = mgr->CreateContainer("matchedTrackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
46 AliAnalysisDataContainer *cout_event = mgr->CreateContainer("eventCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
47 mgr->ConnectOutput(task, 1, cout_histo);
48 mgr->ConnectOutput(task, 2, cout_track);
49 mgr->ConnectOutput(task, 3, cout_fakeTrack);
50 mgr->ConnectOutput(task, 4, cout_matchTrack);
51 mgr->ConnectOutput(task, 5, cout_event);