]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/MUON/dep/AddTaskMUONTrackingEfficiency.C
o add Reset function to CalPad and CalROC o Add functionality to AliTPCdataQA - Reset...
[u/mrichter/AliRoot.git] / PWGPP / MUON / dep / AddTaskMUONTrackingEfficiency.C
CommitLineData
e1ec553d 1AliAnalysisTaskMuonTrackingEff *AddTaskMUONTrackingEfficiency(Bool_t matchTrig = kTRUE, Bool_t applyAccCut = kTRUE)
6db6876c 2{
3 //
e1ec553d 4 // Task for the determination of the MUON tracking chamber efficiency
6db6876c 5 //
6 // lenhardt@subatech.in2p3.fr
e1ec553d 7 // lardeux@subatech.in2p3.fr
6db6876c 8 //
e1ec553d 9
10 // Get the pointer to the existing analysis manager via the static access method
6db6876c 11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 if (!mgr) {
e1ec553d 13 ::Error("AddTaskMUONTrackingEfficiency", "No analysis manager to connect to.");
6db6876c 14 return NULL;
15 }
e1ec553d 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
499d6132 34 AliAnalysisTaskMuonTrackingEff* taskMuonTrackingEff = new AliAnalysisTaskMuonTrackingEff("MuonTrackingEfficiency");
e1ec553d 35 taskMuonTrackingEff->MatchTrigger(matchTrig);
36 taskMuonTrackingEff->ApplyAccCut(applyAccCut);
37
6db6876c 38 // Add to the manager
39 mgr->AddTask(taskMuonTrackingEff);
e1ec553d 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);
8bd6d05b 47 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("SingleDetectedPerDE", TList::Class(),AliAnalysisManager::kOutputContainer, fileName);
48 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("TracksDetectedPerChamber", TList::Class(),AliAnalysisManager::kOutputContainer, fileName);
49 AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("TotalTracksPerChamber", TList::Class(),AliAnalysisManager::kOutputContainer, fileName);
50 AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("SingleDetectedPerChamber", TList::Class(),AliAnalysisManager::kOutputContainer, fileName);
51 AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("ExtraHistos", TList::Class(),AliAnalysisManager::kOutputContainer, fileName);
e1ec553d 52 mgr->ConnectOutput(taskMuonTrackingEff, 1, coutput1);
53 mgr->ConnectOutput(taskMuonTrackingEff, 2, coutput2);
54 mgr->ConnectOutput(taskMuonTrackingEff, 3, coutput3);
55 mgr->ConnectOutput(taskMuonTrackingEff, 4, coutput4);
8bd6d05b 56 mgr->ConnectOutput(taskMuonTrackingEff, 5, coutput5);
57 mgr->ConnectOutput(taskMuonTrackingEff, 6, coutput6);
58 mgr->ConnectOutput(taskMuonTrackingEff, 7, coutput7);
e1ec553d 59
60 return taskMuonTrackingEff;
6db6876c 61}
8bd6d05b 62