1 #if !defined(__CINT__) || defined(__MAKECINT__)
6 #include "AliVEventHandler.h"
8 #include "AliAnalysisManager.h"
9 #include "AliAnalysisDataContainer.h"
11 #include "AliMuonTrackCuts.h"
12 #include "AliAnalysisTaskTrigChEff.h"
15 AliAnalysisTaskTrigChEff* AddTaskMTRchamberEfficiency(Bool_t useGhosts = kFALSE, Bool_t isMC = kFALSE)
18 // Task for the determination of the MUON trigger chamber efficiency
20 // stocco@subatech.in2p3.fr
23 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 ::Error("AddTaskMTRchamberEfficiency", "No analysis manager to connect to.");
29 TString type = mgr->GetInputEventHandler()->GetDataType();
30 if (!type.Contains("ESD") && !type.Contains("AOD")) {
31 ::Error("AddTaskMTRchamberEfficiency", "AliAnalysisTaskTrigChEff task needs the manager to have an ESD or AOD input handler.");
36 AliMuonTrackCuts* muonTrackCuts = new AliMuonTrackCuts("StdMuonTrackCuts", "StdMuonTrackCuts", type.Contains("ESD"));
37 muonTrackCuts->SetFilterMask ( AliMuonTrackCuts::kMuEta | AliMuonTrackCuts::kMuThetaAbs | AliMuonTrackCuts::kMuPdca | AliMuonTrackCuts::kMuMatchApt );
38 muonTrackCuts->SetIsMC(isMC);
41 AliAnalysisTaskTrigChEff* taskTrigChEff = new AliAnalysisTaskTrigChEff("TriggerChamberEfficiency", *muonTrackCuts);
42 taskTrigChEff->SetUseGhostTracks(useGhosts);
43 if ( isMC ) taskTrigChEff->SetTrigClassPatterns("ANY");
44 else taskTrigChEff->SetTrigClassPatterns("ANY CINT CMU !CMUP CMBAC CPBI !-ACE- !-AC- !-E- !WU !EGA !EJE");
45 mgr->AddTask(taskTrigChEff);
48 TString currName = "";
49 TString outputfile = mgr->GetCommonFileName();
50 if ( ! outputfile.IsNull() ) outputfile += ":MTR_ChamberEffMap";
51 else outputfile = "TestTrigChEffAnalysis.root";
53 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("testMTRChamberEff",TObjArray::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
54 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("triggerChamberEff", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile.Data());
57 mgr->ConnectInput (taskTrigChEff, 0, mgr->GetCommonInputContainer());
58 mgr->ConnectOutput (taskTrigChEff, 1, coutput1);
59 mgr->ConnectOutput (taskTrigChEff, 2, coutput2);