]>
Commit | Line | Data |
---|---|---|
e1ec553d | 1 | AliAnalysisTaskMuonTrackingEff *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); | |
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; | |
6db6876c | 55 | } |