diff --git a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt index cc5a33d6f20c97fc475bcdecad56cb29d4492021..f3725984d7d3974923307baaf1e7eca134fd7305 100644 --- a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt +++ b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt @@ -25,7 +25,6 @@ atlas_depends_on_subdirs( Event/xAOD/xAODBase Event/xAOD/xAODCore Event/xAOD/xAODEventInfo - Event/xAOD/xAODMetaData Tools/PathResolver ${extra_deps} ) @@ -37,7 +36,7 @@ atlas_add_library( MuonMomentumCorrectionsLib MuonMomentumCorrections/*.h Root/*.cxx PUBLIC_HEADERS MuonMomentumCorrections INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODMuon xAODMetaData MuonAnalysisInterfacesLib + LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODMuon MuonAnalysisInterfacesLib PATInterfaces PRIVATE_LINK_LIBRARIES xAODEventInfo PathResolver ) diff --git a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonCalibrationPeriodTool.h b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonCalibrationPeriodTool.h index 44302d7711b2ad4932806000313bbf14866b31bd..e1a7c635be78545a56e53800416b471099e7a040 100644 --- a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonCalibrationPeriodTool.h +++ b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonCalibrationPeriodTool.h @@ -53,7 +53,7 @@ class MuonCalibrationPeriodTool : public virtual IMuonCalibrationAndSmearingTool - virtual StatusCode beginInputFile(); + virtual StatusCode beginEvent(); private: // Have three tool instances for each Monte Carlo campaign diff --git a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/Root/MuonCalibrationPeriodTool.cxx b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/Root/MuonCalibrationPeriodTool.cxx index 2080d8d3f56e2ed00bb1817bd2cab427cd71288c..78833a7053333dc0874d920e6388f28d727d71bd 100644 --- a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/Root/MuonCalibrationPeriodTool.cxx +++ b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/Root/MuonCalibrationPeriodTool.cxx @@ -7,14 +7,12 @@ // Local include(s): #include "MuonMomentumCorrections/MuonCalibrationPeriodTool.h" -#include <xAODMetaData/FileMetaData.h> - #include <cmath> namespace CP { - StatusCode MuonCalibrationPeriodTool::beginInputFile() { + StatusCode MuonCalibrationPeriodTool::beginEvent() { static const unsigned int mc16a_period_number = 284500; static const unsigned int mc16d_period_number = 300000; static const unsigned int mc16e_period_number = 320000; @@ -24,16 +22,11 @@ namespace CP { static const unsigned int last_run_17 = 350000; static const unsigned int last_run_18 = 500000; + const xAOD::EventInfo* info = nullptr; + ATH_CHECK(evtStore()->retrieve(info, "EventInfo")); // Let's try the FileMetaData - unsigned int run = -1; - bool isData = false; - if (inputMetaStore()->contains<xAOD::FileMetaData>("FileMetaData")) { - const xAOD::FileMetaData* metaData = nullptr; - ATH_CHECK(inputMetaStore()->retrieve(metaData, "FileMetaData")); - std::string data_type; - metaData->value(xAOD::FileMetaData::dataType, data_type); - std::cout<<data_type<<std::endl; - } + unsigned int run = info->runNumber(); + bool isData = info->eventType(xAOD::EventInfo::IS_SIMULATION); if ( (isData && run <= last_run_16) || (!isData && run == mc16a_period_number) ) m_activeTool = m_calibTool_1516.operator->(); else if ( (isData && run <= last_run_17) || (!isData && run == mc16d_period_number) ) m_activeTool = m_calibTool_17.operator->();