From db8c94d015fd3a75b73e387fa2b2b534c3a3bf1c Mon Sep 17 00:00:00 2001
From: Johannes Junggeburth <johannes.josef.junggeburth@cern.ch>
Date: Wed, 12 Sep 2018 13:18:41 +0200
Subject: [PATCH] Okay I give up with the file meta data

Former-commit-id: 90dd04937615d4d8d0213a6db4b8eb87a9bd696a
---
 .../MuonMomentumCorrections/CMakeLists.txt      |  3 +--
 .../MuonCalibrationPeriodTool.h                 |  2 +-
 .../Root/MuonCalibrationPeriodTool.cxx          | 17 +++++------------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/CMakeLists.txt
index cc5a33d6f20..f3725984d7d 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 44302d7711b..e1a7c635be7 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 2080d8d3f56..78833a70533 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->();
-- 
GitLab