diff --git a/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/CMakeLists.txt b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a928229b407fffe55667d297406cf0f49ae2ba98
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/CMakeLists.txt
@@ -0,0 +1,23 @@
+
+# The name of the package:
+atlas_subdir( TriggerAnalysisInterfaces )
+
+# The dependencies of the package:
+atlas_depends_on_subdirs(
+   PUBLIC
+   Control/AthToolSupport/AsgTools
+   Event/xAOD/xAODEgamma
+   Event/xAOD/xAODMuon
+   PhysicsAnalysis/AnalysisCommon/PATInterfaces )
+
+# Component(s) in the package:
+atlas_add_library( TriggerAnalysisInterfaces
+   TriggerAnalysisInterfaces/*.h
+   INTERFACE
+   PUBLIC_HEADERS TriggerAnalysisInterfaces
+   LINK_LIBRARIES AsgTools xAODEgamma xAODMuon PATInterfaces )
+
+atlas_add_dictionary( TriggerAnalysisInterfacesDict
+   TriggerAnalysisInterfaces/TriggerAnalysisInterfacesDict.h
+   TriggerAnalysisInterfaces/selection.xml
+   LINK_LIBRARIES TriggerAnalysisInterfaces )
diff --git a/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/ITrigGlobalEfficiencyCorrectionTool.h b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/ITrigGlobalEfficiencyCorrectionTool.h
new file mode 100644
index 0000000000000000000000000000000000000000..f5c60d37c5d5fba65abf12cde5ae952dedb393a0
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/ITrigGlobalEfficiencyCorrectionTool.h
@@ -0,0 +1,64 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// contact: jmaurer@cern.ch
+#ifndef TRIGGERANALYSISINTERFACES_ITRIGGLOBALEFFICIENCYCORRECTIONTOOL_H
+#define TRIGGERANALYSISINTERFACES_ITRIGGLOBALEFFICIENCYCORRECTIONTOOL_H 1
+
+// EDM include(s):
+#include "xAODEgamma/ElectronFwd.h"
+#include "xAODMuon/Muon.h"
+
+// Tool include(s):
+#include "AsgTools/IAsgTool.h"
+#include "PATInterfaces/CorrectionCode.h"
+
+class ITrigGlobalEfficiencyCorrectionTool : public virtual asg::IAsgTool {
+
+public:
+	ASG_TOOL_INTERFACE( ITrigGlobalEfficiencyCorrectionTool )
+
+   /// Helper type definition
+   typedef std::vector< const xAOD::IParticle* > IParticleConstVector;
+   /// Helper type definition
+   typedef std::vector< const xAOD::Electron* > ElectronConstVector;
+   /// Helper type definition
+   typedef std::vector< const xAOD::Muon* > MuonConstVector;
+
+   virtual CP::CorrectionCode
+   getEfficiencyScaleFactor( const IParticleConstVector& particles,
+                             double& efficiencyScaleFactor ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiencyScaleFactor( unsigned runNumber,
+                             const IParticleConstVector& particles,
+                             double& efficiencyScaleFactor ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiency( const IParticleConstVector& particles, double& efficiencyData,
+                  double& efficiencyMc ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiency( unsigned runNumber, const IParticleConstVector& particles,
+                  double& efficiencyData, double& efficiencyMc ) = 0;
+	
+	virtual CP::CorrectionCode
+   getEfficiencyScaleFactor( const ElectronConstVector& electrons,
+                             const MuonConstVector& muons,
+                             double& efficiencyScaleFactor ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiencyScaleFactor( unsigned runNumber,
+                             const ElectronConstVector& electrons,
+                             const MuonConstVector& muons,
+                             double& efficiencyScaleFactor ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiency( const ElectronConstVector& electrons,
+                  const MuonConstVector& muons,
+                  double& efficiencyData, double& efficiencyMc ) = 0;
+	virtual CP::CorrectionCode
+   getEfficiency( unsigned runNumber,
+                  const ElectronConstVector& electrons,
+                  const MuonConstVector& muons,
+                  double& efficiencyData, double& efficiencyMc ) = 0;
+
+}; // class ITrigGlobalEfficiencyCorrectionTool
+
+#endif //> !TRIGGERANALYSISINTERFACES_ITRIGGLOBALEFFICIENCYCORRECTIONTOOL_H
diff --git a/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfacesDict.h b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfacesDict.h
new file mode 100644
index 0000000000000000000000000000000000000000..0eb8881d3a4fc70d12405396ec32bd639eb91443
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfacesDict.h
@@ -0,0 +1,11 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGGERANALYSISINTERFACES_TRIGGERANALYSISINTERFACESDICT_H
+#define TRIGGERANALYSISINTERFACES_TRIGGERANALYSISINTERFACESDICT_H
+	
+// Local include(s):
+#include "TriggerAnalysisInterfaces/ITrigGlobalEfficiencyCorrectionTool.h"
+
+#endif // TRIGGERANALYSISINTERFACES_TRIGGERANALYSISINTERFACESDICT_H
diff --git a/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/selection.xml b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/selection.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c8eb10be7d9fde13a4afd3fc7c50e503b637cc52
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/TriggerAnalysisInterfaces/TriggerAnalysisInterfaces/selection.xml
@@ -0,0 +1,3 @@
+<lcgdict>
+<class name="ITrigGlobalEfficiencyCorrectionTool" />
+</lcgdict>