#if !defined(__CINT__) || defined(__MAKECINT__)
#include "TString.h"
#include "TObjArray.h"
#include "AliLog.h"
#include "AliVEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisDataContainer.h"
#include "AliMuonTrackCuts.h"
#include "AliAnalysisTaskTrigChEff.h"
#endif
AliAnalysisTaskTrigChEff* AddTaskMTRchamberEfficiency(Bool_t isMC = kFALSE)
{
//
// Task for the determination of the MUON trigger chamber efficiency
//
// stocco@subatech.in2p3.fr
//
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskMTRchamberEfficiency", "No analysis manager to connect to.");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType();
if (!type.Contains("ESD") && !type.Contains("AOD")) {
::Error("AddTaskMTRchamberEfficiency", "AliAnalysisTaskTrigChEff task needs the manager to have an ESD or AOD input handler.");
return NULL;
}
// Create cuts
AliMuonTrackCuts* muonTrackCuts = new AliMuonTrackCuts("StdMuonTrackCuts", "StdMuonTrackCuts");
muonTrackCuts->SetIsMC(isMC);
muonTrackCuts->ApplySharpPtCutInMatching(kTRUE);
muonTrackCuts->SetAllowDefaultParams(kTRUE);
// Create task
AliAnalysisTaskTrigChEff* taskTrigChEff = new AliAnalysisTaskTrigChEff("TriggerChamberEfficiency", *muonTrackCuts);
if ( isMC ) taskTrigChEff->SetTrigClassPatterns("ANY");
else {
TString trigClassPatterns = taskTrigChEff->GetDefaultTrigClassPatterns();
trigClassPatterns.Prepend("ANY,");
if ( ! trigClassPatterns.Contains("!CMUP") ) trigClassPatterns.Append(",!CMUP*");
taskTrigChEff->SetTrigClassPatterns(trigClassPatterns);
}
taskTrigChEff->GetMuonEventCuts()->SetFilterMask(AliMuonEventCuts::kSelectedTrig);
mgr->AddTask(taskTrigChEff);
// Create container
TString currName = "";
TString outputfile = mgr->GetCommonFileName();
if ( ! outputfile.IsNull() ) outputfile += ":MTR_ChamberEffMap";
else outputfile = "TestTrigChEffAnalysis.root";
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("testMTRChamberEff",TObjArray::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("triggerChamberEff", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile.Data());
// Connect containers
mgr->ConnectInput (taskTrigChEff, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput (taskTrigChEff, 1, coutput1);
mgr->ConnectOutput (taskTrigChEff, 2, coutput2);
return taskTrigChEff;
}
AddTaskMTRchamberEfficiency.C:1 AddTaskMTRchamberEfficiency.C:2 AddTaskMTRchamberEfficiency.C:3 AddTaskMTRchamberEfficiency.C:4 AddTaskMTRchamberEfficiency.C:5 AddTaskMTRchamberEfficiency.C:6 AddTaskMTRchamberEfficiency.C:7 AddTaskMTRchamberEfficiency.C:8 AddTaskMTRchamberEfficiency.C:9 AddTaskMTRchamberEfficiency.C:10 AddTaskMTRchamberEfficiency.C:11 AddTaskMTRchamberEfficiency.C:12 AddTaskMTRchamberEfficiency.C:13 AddTaskMTRchamberEfficiency.C:14 AddTaskMTRchamberEfficiency.C:15 AddTaskMTRchamberEfficiency.C:16 AddTaskMTRchamberEfficiency.C:17 AddTaskMTRchamberEfficiency.C:18 AddTaskMTRchamberEfficiency.C:19 AddTaskMTRchamberEfficiency.C:20 AddTaskMTRchamberEfficiency.C:21 AddTaskMTRchamberEfficiency.C:22 AddTaskMTRchamberEfficiency.C:23 AddTaskMTRchamberEfficiency.C:24 AddTaskMTRchamberEfficiency.C:25 AddTaskMTRchamberEfficiency.C:26 AddTaskMTRchamberEfficiency.C:27 AddTaskMTRchamberEfficiency.C:28 AddTaskMTRchamberEfficiency.C:29 AddTaskMTRchamberEfficiency.C:30 AddTaskMTRchamberEfficiency.C:31 AddTaskMTRchamberEfficiency.C:32 AddTaskMTRchamberEfficiency.C:33 AddTaskMTRchamberEfficiency.C:34 AddTaskMTRchamberEfficiency.C:35 AddTaskMTRchamberEfficiency.C:36 AddTaskMTRchamberEfficiency.C:37 AddTaskMTRchamberEfficiency.C:38 AddTaskMTRchamberEfficiency.C:39 AddTaskMTRchamberEfficiency.C:40 AddTaskMTRchamberEfficiency.C:41 AddTaskMTRchamberEfficiency.C:42 AddTaskMTRchamberEfficiency.C:43 AddTaskMTRchamberEfficiency.C:44 AddTaskMTRchamberEfficiency.C:45 AddTaskMTRchamberEfficiency.C:46 AddTaskMTRchamberEfficiency.C:47 AddTaskMTRchamberEfficiency.C:48 AddTaskMTRchamberEfficiency.C:49 AddTaskMTRchamberEfficiency.C:50 AddTaskMTRchamberEfficiency.C:51 AddTaskMTRchamberEfficiency.C:52 AddTaskMTRchamberEfficiency.C:53 AddTaskMTRchamberEfficiency.C:54 AddTaskMTRchamberEfficiency.C:55 AddTaskMTRchamberEfficiency.C:56 AddTaskMTRchamberEfficiency.C:57 AddTaskMTRchamberEfficiency.C:58 AddTaskMTRchamberEfficiency.C:59 AddTaskMTRchamberEfficiency.C:60 AddTaskMTRchamberEfficiency.C:61 AddTaskMTRchamberEfficiency.C:62 AddTaskMTRchamberEfficiency.C:63 AddTaskMTRchamberEfficiency.C:64 AddTaskMTRchamberEfficiency.C:65 AddTaskMTRchamberEfficiency.C:66 AddTaskMTRchamberEfficiency.C:67 AddTaskMTRchamberEfficiency.C:68 AddTaskMTRchamberEfficiency.C:69