+++ /dev/null
-AliAnalysisTaskMuonFakes* AddTaskMuonFakes(Bool_t useMCLabels = kFALSE, Bool_t combineMCId = kFALSE,
- Bool_t matchTrig = kFALSE, Bool_t applyAccCut = kFALSE,
- TString extension = "")
-{
- /// Add AliAnalysisTaskMuonFakes to the train (Philippe Pillot)
-
- // Get the pointer to the existing analysis manager via the static access method.
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if(!mgr) {
- Error("AddTaskMuonFakes","AliAnalysisManager not set!");
- return NULL;
- }
-
- // This task run on ESDs
- TString type = mgr->GetInputEventHandler()->GetDataType();
- if (!type.Contains("ESD")) {
- Error("AddTaskMuonFakes", "ESD input handler needed!");
- return NULL;
- }
-
- // Create and configure task
- TString name = Form("MUONFakes%s",extension.Data());
- AliAnalysisTaskMuonFakes *task = new AliAnalysisTaskMuonFakes(name.Data());
- if (!task) {
- Error("AddTaskMuonFakes", "Muon fakes task cannot be created!");
- return NULL;
- }
- task->UseMCLabels(useMCLabels);
- task->CombineMCId(combineMCId);
- task->MatchTrigger(matchTrig);
- task->ApplyAccCut(applyAccCut);
-
- // Add task to analysis manager
- mgr->AddTask(task);
-
- // Connect input container
- mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
-
- // Define output file directory
- TString outputfile = AliAnalysisManager::GetCommonFileName();
- if ( outputfile.IsNull() ) {
- Error("AddTaskMuonFakes", "Common output file is not defined!");
- return NULL;
- }
- outputfile += ":MUON_Fakes";
- TString suffix = (!extension.IsNull()) ? Form("_%s",extension.Data()) : "";
- outputfile += suffix;
-
- // Create and connect output containers
- AliAnalysisDataContainer *cout_histo = mgr->CreateContainer(Form("histos%s",suffix.Data()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_track = mgr->CreateContainer(Form("trackCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_fakeTrack = mgr->CreateContainer(Form("fakeTrackCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_matchTrack = mgr->CreateContainer(Form("matchedTrackCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_event = mgr->CreateContainer(Form("eventCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer(Form("histos2%s",suffix.Data()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- AliAnalysisDataContainer *cout_pair = mgr->CreateContainer(Form("pairCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data());
- mgr->ConnectOutput(task, 1, cout_histo);
- mgr->ConnectOutput(task, 2, cout_track);
- mgr->ConnectOutput(task, 3, cout_fakeTrack);
- mgr->ConnectOutput(task, 4, cout_matchTrack);
- mgr->ConnectOutput(task, 5, cout_event);
- mgr->ConnectOutput(task, 6, cout_histo2);
- mgr->ConnectOutput(task, 7, cout_pair);
-
- return task;
-}
-