]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/muondep/AddTaskMUONTrackingEfficiency.C
bug fix - intorduced with coverity changes
[u/mrichter/AliRoot.git] / PWG3 / muondep / AddTaskMUONTrackingEfficiency.C
1 AliAnalysisTaskMuonTrackingEff *AddTaskMUONTrackingEfficiency(Bool_t matchTrig = kTRUE, Bool_t applyAccCut = kTRUE) 
2 {
3   //
4   // Task for the determination of the MUON tracking chamber efficiency
5   //
6   // lenhardt@subatech.in2p3.fr
7   // lardeux@subatech.in2p3.fr
8   //
9   
10   // Get the pointer to the existing analysis manager via the static access method
11   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12   if (!mgr) {
13     ::Error("AddTaskMUONTrackingEfficiency", "No analysis manager to connect to.");
14     return NULL;
15   }   
16   
17   // This task run on ESDs
18   TString type = mgr->GetInputEventHandler()->GetDataType();
19   if (!type.Contains("ESD")) {
20     ::Error("AddTaskMUONTrackingEfficiency", "ESD input handler needed!");
21     return NULL;
22   }
23   
24   // Define output file directory
25   TString fileName = AliAnalysisManager::GetCommonFileName();
26   if (fileName.IsNull()) {
27     ::Error("AddTaskMUONTrackingEfficiency", "Common output file is not defined!");
28     return NULL;
29   }
30   fileName += ":MUON_Efficiency";
31   
32   
33   // Create and configure task
34   AliAnalysisTaskMuonTrackingEff* taskMuonTrackingEff = new AliAnalysisTaskMuonTrackingEff("MuonTrackingEfficiency");
35   taskMuonTrackingEff->MatchTrigger(matchTrig);
36   taskMuonTrackingEff->ApplyAccCut(applyAccCut);
37   
38   // Add to the manager
39   mgr->AddTask(taskMuonTrackingEff);
40   
41   // Connect input container
42   mgr->ConnectInput (taskMuonTrackingEff, 0, mgr->GetCommonInputContainer());
43   
44   // Create and connect output containers
45   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("TracksDetectedPerDE", TList::Class(),AliAnalysisManager::kOutputContainer,  fileName);
46   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("TotalTracksPerDE", TList::Class(),AliAnalysisManager::kOutputContainer,  fileName);
47   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("TracksDetectedPerChamber", TList::Class(),AliAnalysisManager::kOutputContainer,  fileName);
48   AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("TotalTracksPerChamber", TList::Class(),AliAnalysisManager::kOutputContainer,  fileName);
49   mgr->ConnectOutput(taskMuonTrackingEff, 1, coutput1);
50   mgr->ConnectOutput(taskMuonTrackingEff, 2, coutput2);
51   mgr->ConnectOutput(taskMuonTrackingEff, 3, coutput3);
52   mgr->ConnectOutput(taskMuonTrackingEff, 4, coutput4);
53   
54   return taskMuonTrackingEff;
55 }