1 AliAnalysisTaskMuonTrackingEff *AddTaskMUONTrackingEfficiency(AliMuonTrackCuts &trackCuts, TString extension = "")
4 // Task for the determination of the MUON tracking chamber efficiency
6 // lenhardt@subatech.in2p3.fr
7 // lardeux@subatech.in2p3.fr
10 // Get the pointer to the existing analysis manager via the static access method
11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
13 ::Error("AddTaskMUONTrackingEfficiency", "No analysis manager to connect to.");
17 // This task run on ESDs
18 TString type = mgr->GetInputEventHandler()->GetDataType();
19 if (!type.Contains("ESD")) {
20 ::Error("AddTaskMUONTrackingEfficiency", "ESD input handler needed!");
24 // Define output file directory
25 TString fileName = AliAnalysisManager::GetCommonFileName();
26 if (fileName.IsNull()) {
27 ::Error("AddTaskMUONTrackingEfficiency", "Common output file is not defined!");
30 fileName += ":MUON_Efficiency";
31 TString suffix = (!extension.IsNull()) ? Form("_%s",extension.Data()) : "";
35 // Create and configure task
36 TString name = Form("MuonTrackingEfficiency%s",extension.Data());
37 AliAnalysisTaskMuonTrackingEff* taskMuonTrackingEff = new AliAnalysisTaskMuonTrackingEff(name.Data());
38 taskMuonTrackingEff->SetMuonTrackCuts(trackCuts);
41 mgr->AddTask(taskMuonTrackingEff);
43 // Connect input container
44 mgr->ConnectInput (taskMuonTrackingEff, 0, mgr->GetCommonInputContainer());
46 // Create and connect output containers
47 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("ClustersCounters%s",suffix.Data()), AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, fileName);
48 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("TracksDetectedPerChamber%s",suffix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
49 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(Form("TotalTracksPerChamber%s",suffix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
50 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(Form("SingleDetectedPerChamber%s",suffix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
51 AliAnalysisDataContainer *coutput5 = mgr->CreateContainer(Form("ExtraHistos%s",suffix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
52 mgr->ConnectOutput(taskMuonTrackingEff, 1, coutput1);
53 mgr->ConnectOutput(taskMuonTrackingEff, 2, coutput2);
54 mgr->ConnectOutput(taskMuonTrackingEff, 3, coutput3);
55 mgr->ConnectOutput(taskMuonTrackingEff, 4, coutput4);
56 mgr->ConnectOutput(taskMuonTrackingEff, 5, coutput5);
58 return taskMuonTrackingEff;