1 AliAnalysisTaskMuonFakes* AddTaskMuonFakes(Bool_t useMCLabels = kFALSE, Bool_t matchTrig = kFALSE, Bool_t applyAccCut = 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);
26 task->MatchTrigger(matchTrig);
27 task->ApplyAccCut(applyAccCut);
29 // Add task to analysis manager
32 // Connect input container
33 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
35 // Define output file directory
36 TString outputfile = AliAnalysisManager::GetCommonFileName();
37 if ( outputfile.IsNull() ) {
38 Error("AddTaskMuonFakes", "Common output file is not defined!");
41 outputfile += ":MUON_Fakes";
43 // Create and connect output containers
44 AliAnalysisDataContainer *cout_histo = mgr->CreateContainer("histos", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
45 AliAnalysisDataContainer *cout_track = mgr->CreateContainer("trackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
46 AliAnalysisDataContainer *cout_fakeTrack = mgr->CreateContainer("fakeTrackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
47 AliAnalysisDataContainer *cout_matchTrack = mgr->CreateContainer("matchedTrackCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
48 AliAnalysisDataContainer *cout_event = mgr->CreateContainer("eventCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
49 AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer("histos2", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
50 AliAnalysisDataContainer *cout_pair = mgr->CreateContainer("pairCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
51 mgr->ConnectOutput(task, 1, cout_histo);
52 mgr->ConnectOutput(task, 2, cout_track);
53 mgr->ConnectOutput(task, 3, cout_fakeTrack);
54 mgr->ConnectOutput(task, 4, cout_matchTrack);
55 mgr->ConnectOutput(task, 5, cout_event);
56 mgr->ConnectOutput(task, 6, cout_histo2);
57 mgr->ConnectOutput(task, 7, cout_pair);