diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/CMakeLists.txt b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/CMakeLists.txt
deleted file mode 100644
index 56ce531f68935082eab579ff1fc33970f82ec853..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-################################################################################
-# Package: ElectronPhotonTagTools
-################################################################################
-
-# Declare the package name:
-atlas_subdir( ElectronPhotonTagTools )
-
-# Component(s) in the package:
-atlas_add_library( ElectronPhotonTagToolsLib
-                   src/*.cxx
-                   PUBLIC_HEADERS ElectronPhotonTagTools
-                   LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities EventInfo xAODEgamma xAODEventInfo xAODMissingET GaudiKernel TagEvent StoreGateLib SGtests IsolationSelectionLib EgammaAnalysisInterfacesLib AnalysisUtilsLib IsolationCorrectionsLib
-                   PRIVATE_LINK_LIBRARIES xAODCore xAODParticleEvent xAODTracking )
-
-atlas_add_component( ElectronPhotonTagTools
-                     src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps GaudiKernel ElectronPhotonTagToolsLib )
-
-# Install files from the package:
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/EgammaTagTool.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/EgammaTagTool.h
deleted file mode 100755
index 4e1fe2d63839b2a826b3d987a9b6c85809c60e7c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/EgammaTagTool.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EGAMMATAGTOOL_H 
-#define EGAMMATAGTOOL_H 
-
-/*****************************************************************************
-Name    : EgammaTagTool.h
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : build the Egamma Tag objects - AnalysisTag.h. 
-	  The Egamma Analysis Tag fragment is built here
-*****************************************************************************/
-#include "StoreGate/StoreGateSvc.h"
-#include "StoreGate/ReadHandleKey.h"
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "xAODEventInfo/EventInfo.h"
-#include "xAODEgamma/EgammaContainer.h"
-#include "xAODEgamma/PhotonContainer.h"
-#include "xAODEgamma/ElectronContainer.h"
-#include "xAODMissingET/MissingETContainer.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include <vector>
-
-/** Interface ID for EgammaTagTool*/  
-static const InterfaceID IID_EgammaTagTool("EgammaTagTool", 1, 0);
-
-class EgammaTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  EgammaTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_EgammaTagTool; };
-
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int& max);
-  virtual StatusCode execute(TagFragmentCollection& egammaTagCol, const int& max);
-  virtual StatusCode finalize();
-
-
-private:
-  bool ZeeSelection (const xAOD::ElectronContainer* eleColl,
-                     SG::ReadHandle<xAOD::EventInfo> eventInfo);
-  bool WenuSelection (const xAOD::ElectronContainer* eleColl,
-                      const xAOD::MissingETContainer* metTopo,
-                      SG::ReadHandle<xAOD::EventInfo> eventInfo);
-  void dumpEventDetails(const xAOD::Electron*,
-                        SG::ReadHandle<xAOD::EventInfo> eventInfo);
-
-
-private:
-  /** Properties */
-  std::string m_electronContainer;
-  std::string m_photonContainer;
-  std::string m_missingEtObject;
-  std::string m_missingEtTerm;
-
-  double m_electronPtCut;
-  double m_photonPtCut;
-  double m_massZLow;
-  double m_massZHigh;
-
-  bool m_flagZeeEvent;
-  bool m_flagWenuEvent;
-
-  double m_missingEtCut;
-  double m_welectronPtCut; 
-  
-  double m_invMass;
-
-  SG::ReadHandleKey<xAOD::EventInfo>    m_evt  {this, "EvtInfo", "EventInfo", "EventInfo name"};
- };
-
-#endif // ELECTRONTAGTOOL_H
-
-
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/ElectronTagTool.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/ElectronTagTool.h
deleted file mode 100755
index 16b5f86ca5e63b48381964345e95be356173716f..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/ElectronTagTool.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ELECTRONTAGTOOL_H 
-#define ELECTRONTAGTOOL_H 
-
-/*****************************************************************************
-Name    : ElectronTagTool.h
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : build the Electron Tag objects - ElectronTagCollection.h. 
-	  The Electron Tag fragment is built here
-*****************************************************************************/
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "xAODEventInfo/EventInfo.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "IsolationSelection/IIsolationSelectionTool.h"
-#include "IsolationCorrections/IIsolationCorrectionTool.h"
-#include "EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h"
-#include "EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h"
-#include "EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h"
-#include "EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h"
-#include <map>
-
-class ElectronTagCollection;
-
-/** Interface ID for ElectronTagTool*/  
-static const InterfaceID IID_ElectronTagTool("ElectronTagTool", 1, 0);
-
-
-class ElectronTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  ElectronTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_ElectronTagTool; };
-
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int& max);
-  virtual StatusCode execute(TagFragmentCollection& electronTagCol, const int& max);
-  virtual StatusCode finalize();
-
-private:
-
-  /** private function to get impact parameter */
-  void getElectronImpactParameter (const xAOD::Electron*,double& d0_significance, double& z0_sintheta);
-
-  /** Properties */
-  std::vector<std::string> m_containerNames;
-  double                   m_cut_Et;
-  std::string              m_electron_met_container_name;
-  std::vector<float>       m_etconeisocutvalues;
-  std::vector<float>       m_ptconeisocutvalues;
-
-  /** the attribute names */
-  std::vector<std::string> m_ptStr;
-  std::vector<std::string> m_etaStr;
-  std::vector<std::string> m_phiStr;
-  std::vector<std::string> m_tightStr;
-  std::vector<std::string> m_fwdStr;
-  std::vector<std::string> m_isoStr;
-
-  /** electron cut-based ID tool */
-  ToolHandle<IAsgElectronIsEMSelector> m_loose_cut_based;
-  ToolHandle<IAsgElectronIsEMSelector> m_medium_cut_based;
-  ToolHandle<IAsgElectronIsEMSelector> m_tight_cut_based;
-
-  /** electron likelihood ID tool */
-  ToolHandle<IAsgElectronLikelihoodTool> m_veryloose_likelihood;
-  ToolHandle<IAsgElectronLikelihoodTool> m_loose_likelihood;
-  ToolHandle<IAsgElectronLikelihoodTool> m_medium_likelihood;
-  ToolHandle<IAsgElectronLikelihoodTool> m_tight_likelihood;
-
-  /** isolation correction tool */
-  ToolHandle<CP::IIsolationCorrectionTool> m_isolation_correction_tool; 
-
-  /** electron isolation tool */
-  ToolHandle<CP::IIsolationSelectionTool> m_loose_trackonly_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_loose_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_tight_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_gradient_loose_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_gradient_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_tight_trackonly_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_loose_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_tight_isolation;
-
-  /** PV StoreGate key */
-  std::string m_vxCandidate;
-
-  /** calib tool */
-  // ToolHandle<CP::IEgammaCalibrationAndSmearingTool> m_EgammaCalibrationAndSmearingTool;
-  
-};
-
-#endif // ELECTRONTAGTOOL_H
-
-
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/PhotonTagTool.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/PhotonTagTool.h
deleted file mode 100755
index 0f9dd788152732df47ca2bdad23cf75c45cfb073..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/ElectronPhotonTagTools/PhotonTagTool.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef PHOTONTAGTOOL_H 
-#define PHOTONTAGTOOL_H 
-
-/*****************************************************************************
-Name    : PhotonTagTool.h
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : build the Photon Tag objects - PhotonTagCollection.h. 
-	  The Photon Tag fragment is built here
-*****************************************************************************/
-
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "IsolationSelection/IIsolationSelectionTool.h"
-#include "IsolationSelection/IsolationSelectionTool.h"
-#include "IsolationCorrections/IIsolationCorrectionTool.h"
-#include "EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h"
-#include "EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h"
-#include "EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h"
-#include "EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h"
-#include <map>
-
-class PhotonTagCollection;
-
-
-/** Interface ID for PhotonTagTool */  
-static const InterfaceID IID_PhotonTagTool("PhotonTagTool", 1, 0);
-
-class PhotonTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  PhotonTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_PhotonTagTool; };
-
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int& max);
-  virtual StatusCode execute(TagFragmentCollection& photonTagCol, const int& max); 
-  virtual StatusCode finalize();
-
-private:
-
-  /** Properties */
-  std::string m_containerName;
-  double m_cut_Et;
-  std::string m_photon_met_container_name;
-  std::vector<float> m_etconeisocutvalues;
-  std::vector<float> m_ptconeisocutvalues;
-
-  /** the attribute names */
-  std::vector<std::string> m_ptStr;
-  std::vector<std::string> m_etaStr;
-  std::vector<std::string> m_phiStr;
-  std::vector<std::string> m_tightStr;
-  std::vector<std::string> m_isoStr;
-
-  /**photon shower shape fudge*/
-  bool m_isFullsim;
-  ToolHandle<IElectronPhotonShowerShapeFudgeTool> m_shower_shape_fudge;
-
-  ToolHandle<IAsgPhotonIsEMSelector>      m_loose_cut_based; 
-  ToolHandle<IAsgPhotonIsEMSelector>      m_tight_cut_based; 
-
-  ToolHandle<IEGammaAmbiguityTool>        m_egamma_ambi_tool; 
-  
-  /** isolation correction tool */
-  ToolHandle<CP::IIsolationCorrectionTool> m_isolation_correction_tool; 
-  
-  ToolHandle<CP::IIsolationSelectionTool> m_cone40_calo_isolation;//!
-  ToolHandle<CP::IIsolationSelectionTool> m_cone40_isolation;//!
-  ToolHandle<CP::IIsolationSelectionTool> m_cone20_isolation;//!
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_tightcaloonly_isolation;//!
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_loose_isolation;//!
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_tight_isolation;//!
-
-  /** calib tool */
-  // ToolHandle<CP::IEgammaCalibrationAndSmearingTool> m_EgammaCalibrationAndSmearingTool;
-
- };
-
-#endif // PHOTONTAGTOOL_H
-
-
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/doc/packagedoc.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/doc/packagedoc.h
deleted file mode 100644
index ea05e1ebc8a73e365c889d241ea2e4e5c50ed8b9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/doc/packagedoc.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@page ElectronPhotonTagTools_page ElectronPhotonTagTools
-
-@section ElectronPhotonTagTools_introductionElectronPhotonTagTools Introduction
-This package contains the alg tools for building the tag fragments for Egamma, Electron and Photon identification.
-
-@section ElectronPhotonTagTools_packagecontentElectronPhotonTagTools Package Contents
-ElectronPhotonTagTools contains the following tools:
-
-- EgammaTagTool ... tool for Electron and photon identification TAG fragment
-- ElectronTagTool ...tool for Electron TAG fragment
-- PhotonTagTool ... tool for Photon TAG fragment
-
-- for questions and comments: ketevi@bnl.gov
-
-
-
-*/
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/EgammaTagTool_jobOptions.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/EgammaTagTool_jobOptions.py
deleted file mode 100755
index c3f08fb52bc83bd85cd94a9dcbf46f1304f8a2e8..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/EgammaTagTool_jobOptions.py
+++ /dev/null
@@ -1,17 +0,0 @@
-include.block ("ElectronPhotonTagTools/EgammaTagTool_jobOptions.py")
-
-########### egamma analysis tag options ################
-
-from ElectronPhotonTagTools.ElectronPhotonTagToolsConf import \
-     EgammaTagTool as ConfiguredEgammaTagTool
-EgammaTagTool = ConfiguredEgammaTagTool(
-     ElectronContainer = "Electrons",
-     PhotonContainer   = "Photons",
-     ElectronPtCut     = 20.0*GeV,
-     PhotonPtCut       = 10.0*GeV,
-     MassZLow          = 45.*GeV,
-     MassZHigh         = 180.*GeV,
-     MissingEtObject   = "MET_RefFinal",
-     MissingEtCut      = 25.*GeV, 
-     WElectronPtCut    = 15.*GeV )
-ToolSvc += EgammaTagTool
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/ElectronTagTool_jobOptions.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/ElectronTagTool_jobOptions.py
deleted file mode 100755
index ae03e61006f9057bb514fe00b081882522bf7474..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/ElectronTagTool_jobOptions.py
+++ /dev/null
@@ -1,102 +0,0 @@
-include.block ("ElectronPhotonTagTools/ElectronTagTool_jobOptions.py")
-
-########### Electron LH selection options ################
-from ElectronPhotonSelectorTools.ConfiguredAsgElectronLikelihoodTools import ConfiguredAsgElectronLikelihoodTool
-from ROOT import LikeEnum
-VeryLooseLHSelector = ConfiguredAsgElectronLikelihoodTool("VeryLooseLHSelector", LikeEnum.VeryLoose)
-ToolSvc += VeryLooseLHSelector
-LooseLHSelector     = ConfiguredAsgElectronLikelihoodTool("LooseLHSelector",     LikeEnum.Loose)
-ToolSvc += LooseLHSelector
-MediumLHSelector    = ConfiguredAsgElectronLikelihoodTool("MediumLHSelector",    LikeEnum.Medium)
-ToolSvc += MediumLHSelector
-TightLHSelector     = ConfiguredAsgElectronLikelihoodTool("TightLHSelector",     LikeEnum.Tight)
-ToolSvc += TightLHSelector
-
-########### Electron cut based selection options ################
-from ElectronPhotonSelectorTools.ConfiguredAsgElectronIsEMSelectors import ConfiguredAsgElectronIsEMSelector
-from ROOT import egammaPID
-
-#Loose
-ElectronIsEMSelectorLoose = ConfiguredAsgElectronIsEMSelector("ElectronIsEMSelectorLoose",   egammaPID.ElectronIDLoosePP)
-ToolSvc += ElectronIsEMSelectorLoose
-
-#Medium
-ElectronIsEMSelectorMedium = ConfiguredAsgElectronIsEMSelector("ElectronIsEMSelectorMedium", egammaPID.ElectronIDMediumPP)
-ToolSvc += ElectronIsEMSelectorMedium
-
-#Tight
-ElectronIsEMSelectorTight = ConfiguredAsgElectronIsEMSelector("ElectronIsEMSelectorTight",   egammaPID.ElectronIDTightPP)
-ToolSvc += ElectronIsEMSelectorTight
-
-########### Electron Isolation options ################
-
-from RecExConfig.InputFilePeeker import inputFileSummary
-isSimulation = False
-if inputFileSummary.has_key("evt_type"):
-	eventTypeList = inputFileSummary.get("evt_type")
-	if eventTypeList.__contains__("IS_SIMULATION") :
-		print "ElectronTagTool: Detected that the input file is a simulated dataset"
-		isSimulation = True
-	else:
-		print "ElectronTagTool: Detected that the input file is real data"
-		pass
-
-IsolationCorrectionTool          = CfgMgr.CP__IsolationCorrectionTool( "ElectronIsolationCorrectionTool" )
-IsolationCorrectionTool.IsMC     = isSimulation
-ToolSvc += IsolationCorrectionTool
-
-LooseTrackOnlyIsoTool            = CfgMgr.CP__IsolationSelectionTool( "ElectronLooseTrackOnlyIsolationSelectionTool" )
-LooseTrackOnlyIsoTool.ElectronWP = "LooseTrackOnly"
-ToolSvc += LooseTrackOnlyIsoTool
-LooseIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "ElectronLooseIsolationSelectionTool" )
-LooseIsoTool.ElectronWP          = "Loose"
-ToolSvc += LooseIsoTool
-TightIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "ElectronTightIsolationSelectionTool" )
-TightIsoTool.ElectronWP          = "Tight"
-ToolSvc += TightIsoTool
-GradientIsoTool                  = CfgMgr.CP__IsolationSelectionTool( "ElectronGradientIsolationSelectionTool" )
-GradientIsoTool.ElectronWP       = "Gradient"
-ToolSvc += GradientIsoTool
-GradientLooseIsoTool             = CfgMgr.CP__IsolationSelectionTool( "ElectronGradientLooseIsolationSelectionTool" )
-GradientLooseIsoTool.ElectronWP  = "GradientLoose"
-ToolSvc += GradientLooseIsoTool
-FixedCutTightTrackOnlyIsoTool            = CfgMgr.CP__IsolationSelectionTool( "ElectronFixedCutTightTrackOnlyIsolationSelectionTool" )
-FixedCutTightTrackOnlyIsoTool.ElectronWP = "FixedCutTightTrackOnly"
-ToolSvc += FixedCutTightTrackOnlyIsoTool
-FixedCutLooseIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "ElectronFixedCutLooseIsolationSelectionTool" )
-FixedCutLooseIsoTool.ElectronWP          = "FixedCutLoose"
-ToolSvc += FixedCutLooseIsoTool
-FixedCutTightIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "ElectronFixedCutTightIsolationSelectionTool" )
-FixedCutTightIsoTool.ElectronWP          = "FixedCutTight"
-ToolSvc += FixedCutTightIsoTool
-
-from ElectronPhotonTagTools.ElectronPhotonTagToolsConf import \
-     ElectronTagTool as ConfiguredElectronTagTool
-ElectronTagTool = ConfiguredElectronTagTool(
-     Container                       = ["Electrons"],
-     ElectronMETContainerName        = "Electrons_TAG_skim",
-     EtCut                           = 7.0*GeV,
-     EtconeIsoCutValues              = [ 0.15, 0.30, 3.0*GeV, 5.0*GeV], 
-     PtconeIsoCutValues              = [ 0.15, 0.30, 3.0*GeV, 5.0*GeV], 
-     TightLHSelector                 = TightLHSelector,
-     MediumLHSelector                = MediumLHSelector,
-     LooseLHSelector                 = LooseLHSelector,
-     VeryLooseLHSelector             = VeryLooseLHSelector,
-     ElectronIsEMSelectorLoose       = ElectronIsEMSelectorLoose,
-     ElectronIsEMSelectorMedium      = ElectronIsEMSelectorMedium,
-     ElectronIsEMSelectorTight       = ElectronIsEMSelectorTight,
-     IsolationCorrectionTool         = IsolationCorrectionTool,
-     LooseTrackOnlyIsolation         = LooseTrackOnlyIsoTool,
-     LooseIsolation                  = LooseIsoTool,
-     TightIsolation                  = TightIsoTool,
-     GradientIsolation               = GradientIsoTool,
-     GradientLooseIsolation          = GradientLooseIsoTool,
-     FixedCutTightTrackOnlyIsolation = FixedCutTightTrackOnlyIsoTool,
-     FixedCutLooseIsolation          = FixedCutLooseIsoTool,
-     FixedCutTightIsolation          = FixedCutTightIsoTool      
-     )
-
-# ElectronTagTool.EgammaCalibrationAndSmearingTool.randomRunNumber = 308047
-# ElectronTagTool.EgammaCalibrationAndSmearingTool.ESModel =  "es2016data_mc15c"
-
-# ToolSvc += ElectronTagTool
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/PhotonTagTool_jobOptions.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/PhotonTagTool_jobOptions.py
deleted file mode 100755
index bf20bc2688caeaf2b2adea11577923a87efa7ecf..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/share/PhotonTagTool_jobOptions.py
+++ /dev/null
@@ -1,103 +0,0 @@
-include.block ("ElectronPhotonTagTools/PhotonTagTool_jobOptions.py")
-
-###############SHOWER SHAPE FUDGING IN MC######################
-
-DF_ElectronPhotonShowerShapeFudgeTool = None
-
-from PyUtils import AthFile
-af = AthFile.fopen(svcMgr.EventSelector.InputCollections[0]) # opens the first file from the InputCollections list
-af.fileinfos # this is a dict of dicts, take a look at what's available! Below are some examples:
-
-isMC = 'IS_SIMULATION' in af.fileinfos['evt_type']
-
-beam_energy    = af.fileinfos['beam_energy']
-conditions_tag = af.fileinfos['conditions_tag'] #useful for figuring out which mc production this is
-
-isFullsim = False
-if isMC: 
-    simulationFlavour = af.fileinfos['metadata']['/Simulation/Parameters']['SimulationFlavour']
-    isFullsim = simulationFlavour in ('default', 'MC12G4', 'FullG4') # is this a full sim dataset?
-    
-print "EGammaCommon: isMC = ", isMC
-if isMC: 
-    print "EGammaCommon: isFullsim = ", isFullsim
-
-if isFullsim:
-#from AthenaCommon.GlobalFlags import globalflags
-#print "globalflags.DataSource(): ", globalflags.DataSource()
-#if globalflags.DataSource()=='geant4':
-    from ElectronPhotonShowerShapeFudgeTool.ElectronPhotonShowerShapeFudgeToolConf import ElectronPhotonShowerShapeFudgeTool
-    DF_ElectronPhotonShowerShapeFudgeTool = ElectronPhotonShowerShapeFudgeTool("PhotonShowerShapeFudgeTool")
-    DF_ElectronPhotonShowerShapeFudgeTool = ElectronPhotonShowerShapeFudgeTool(Preselection=16)
-    ToolSvc += DF_ElectronPhotonShowerShapeFudgeTool
-    print DF_ElectronPhotonShowerShapeFudgeTool
-
-############ Photon selecton options #################
-
-IsolationCorrectionTool          = CfgMgr.CP__IsolationCorrectionTool( "ElectronIsolationCorrectionTool" )
-IsolationCorrectionTool.IsMC     = isMC
-ToolSvc += IsolationCorrectionTool
-
-cone20IsoTool = CfgMgr.CP__IsolationSelectionTool( "PhotonCone20IsolationSelectionTool" )
-cone20IsoTool.PhotonWP         = "Cone20"
-ToolSvc                       += cone20IsoTool
-cone40IsoTool                  = CfgMgr.CP__IsolationSelectionTool( "PhotonCone40IsolationSelectionTool" )
-cone40IsoTool.PhotonWP         = "Cone40"
-ToolSvc                       += cone40IsoTool
-cone40CaloOnlyIsoTool          = CfgMgr.CP__IsolationSelectionTool( "PhotonCone40CaloOnlyIsolationSelectionTool" )
-cone40CaloOnlyIsoTool.PhotonWP = "Cone40CaloOnly"
-ToolSvc                       += cone40CaloOnlyIsoTool
-
-FixedCutTightCaloOnlyIsoTool          = CfgMgr.CP__IsolationSelectionTool( "PhotonFixedCutTightCaloOnlyIsolationSelectionTool" )
-FixedCutTightCaloOnlyIsoTool.PhotonWP = "FixedCutTightCaloOnly"
-ToolSvc                              += FixedCutTightCaloOnlyIsoTool
-FixedCutLooseIsoTool                  = CfgMgr.CP__IsolationSelectionTool( "PhotonFixedCutLooseIsolationSelectionTool" )
-FixedCutLooseIsoTool.PhotonWP         = "FixedCutLoose"
-ToolSvc                              += FixedCutLooseIsoTool
-FixedCutTightIsoTool                  = CfgMgr.CP__IsolationSelectionTool( "PhotonFixedCutTightIsolationSelectionTool" )
-FixedCutTightIsoTool.PhotonWP         = "FixedCutTight"
-ToolSvc                              += FixedCutTightIsoTool
-
-########### Photon cut based selection options ################
-from ROOT import egammaPID
-
-# Loose
-from ElectronPhotonSelectorTools.ConfiguredAsgPhotonIsEMSelectors import ConfiguredAsgPhotonIsEMSelector
-PhotonIsEMSelectorLoose = ConfiguredAsgPhotonIsEMSelector("PhotonIsEMSelectorLoose", egammaPID.PhotonIDLoose)
-ToolSvc += PhotonIsEMSelectorLoose
-
-# Tight
-PhotonIsEMSelectorTight = ConfiguredAsgPhotonIsEMSelector("PhotonIsEMSelectorTight", egammaPID.PhotonIDTight)
-ToolSvc += PhotonIsEMSelectorTight
-
-# EGammaAmbiTool
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import EGammaAmbiguityTool
-EGammaAmbiTool = EGammaAmbiguityTool("EGammaAmbiguityTool")
-ToolSvc += EGammaAmbiTool
-
-
-from ElectronPhotonTagTools.ElectronPhotonTagToolsConf import PhotonTagTool as ConfiguredPhotonTagTool
-PhotonTagTool = ConfiguredPhotonTagTool(
-    Container                    = "Photons",
-    PhotonMETContainerName       = "Photons_TAG_skim", 
-    EtCut                        = 10.0*GeV,
-    EtconeIsoCutValues           = [ 0.15, 0.30, 3.0*GeV, 5.0*GeV ],
-    PtconeIsoCutValues           = [ 0.15, 0.30, 3.0*GeV, 5.0*GeV ],
-    isFullsim                    = isFullsim,
-    PhotonShowerFudgeTool        = DF_ElectronPhotonShowerShapeFudgeTool,
-    LooseSelector                = PhotonIsEMSelectorLoose,
-    TightSelector                = PhotonIsEMSelectorTight,
-    EGammaAmbiTool               = EGammaAmbiTool,
-    IsolationCorrectionTool      = IsolationCorrectionTool,
-    cone20IsoTool                = cone20IsoTool,
-    cone40IsoTool                = cone40IsoTool,
-    cone40CaloOnlyIsoTool        = cone40CaloOnlyIsoTool,
-    FixedCutTightCaloOnlyIsoTool = FixedCutTightCaloOnlyIsoTool,
-    FixedCutLooseIsoTool         = FixedCutLooseIsoTool,
-    FixedCutTightIsoTool         = FixedCutTightIsoTool
-    )
-
-# PhotonTagTool.EgammaCalibrationAndSmearingTool.randomRunNumber = 308047
-# PhotonTagTool.EgammaCalibrationAndSmearingTool.ESModel =  "es2016data_mc15c"
-
-# ToolSvc += PhotonTagTool
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/EgammaTagTool.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/EgammaTagTool.cxx
deleted file mode 100755
index 371834720f62836dcf66e0e4113ed4e5dd8e0adf..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/EgammaTagTool.cxx
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : EgammaTagTool.cxx
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : create a collection of EgammaTag
-
-*****************************************************************************/
-
-#include "GaudiKernel/MsgStream.h"
-#include "Gaudi/Property.h"
-#include "GaudiKernel/SystemOfUnits.h"
-#include "ElectronPhotonTagTools/EgammaTagTool.h"
-#include "TagEvent/EgammaAttributeNames.h"
-#include "xAODEgamma/EgammaContainer.h"
-#include "xAODEgamma/PhotonContainer.h"
-#include "xAODEgamma/ElectronContainer.h"
-#include "xAODMissingET/MissingETContainer.h"
-
-//using namespace Analysis;
-
-/** the constructor */
-EgammaTagTool::EgammaTagTool (const std::string& type, const std::string& name, 
-                              const IInterface* parent) : 
-  AthAlgTool( type, name, parent )
-{
-  /** Electron/Photon AOD Container Names */
-  declareProperty("ElectronContainer", m_electronContainer = "ElectronCollection");
-  declareProperty("PhotonContainer",   m_photonContainer   = "PhotonCollection");
-  /** selection cut of Pt */
-  declareProperty("ElectronPtCut",     m_electronPtCut = 20.0*Gaudi::Units::GeV);
-  declareProperty("PhotonPtCut",       m_photonPtCut   = 10.0*Gaudi::Units::GeV);
-  /** mass cut for Z */
-  declareProperty("MassZLow",          m_massZLow   = 45.*Gaudi::Units::GeV );
-  declareProperty("MassZHigh",         m_massZHigh  = 180.*Gaudi::Units::GeV);
-  /** missing Et cut */
-  declareProperty("MissingEtObject",   m_missingEtObject = "MET_RefFinal");
-  declareProperty("MissingEtCut",      m_missingEtCut    = 25.*Gaudi::Units::GeV );
-  declareProperty("WElectronPtCut",    m_welectronPtCut  = 15.*Gaudi::Units::GeV );
-  declareProperty("MissingEtTerm",     m_missingEtTerm   = "Final");
-
-  declareInterface<EgammaTagTool>( this );
-}
-
-
-
-/** initialization - called once at the begginning */
-StatusCode  EgammaTagTool::initialize() 
-{
-  ATH_MSG_DEBUG("in initialize()");
-  ATH_CHECK( m_evt.initialize() );
-  return StatusCode::SUCCESS;
-}
-
-
-
-/** build the attribute list - called in initialize */
-StatusCode EgammaTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int& /*max*/)
-{
-  ATH_MSG_DEBUG("in attributeSpecification()");
-
-  /** specifiy the Egamma - Electron/Photon attributes */
-  attrMap[ EgammaAttributeNames[0] ] = AthenaAttributeType("unsigned int", EgammaAttributeUnitNames[0], EgammaAttributeGroupNames[0]);
-
-  return StatusCode::SUCCESS;
-}
-
-
-
-/** execute - called on every event */
-StatusCode EgammaTagTool::execute(TagFragmentCollection& egammaTagCol, const int& /*max*/)
-{
-  ATH_MSG_DEBUG("in execute()");
-  
-  const xAOD::ElectronContainer* eleColl = nullptr;
-  ATH_CHECK( evtStore()->retrieve( eleColl, m_electronContainer) );
-
-  const xAOD::MissingETContainer* metTopo = nullptr;
-  ATH_CHECK( evtStore()->retrieve(metTopo, m_missingEtObject) );
-
-  SG::ReadHandle<xAOD::EventInfo> evt(m_evt);
-  if(!evt.isValid()) {
-    ATH_MSG_ERROR("Failed to retrieve EventInfo");
-    return StatusCode::FAILURE;
-  }
-
-  /** Flags for Z and W events */ 
-  m_flagZeeEvent  = false;
-  m_flagWenuEvent = false;
-  
-  //===================================================
-  // Zee event reconstruction
-  //===================================================
-  m_flagZeeEvent = ZeeSelection (eleColl, evt);
-
-  //===================================================
-  // Wenu event reconstruction
-  //===================================================
-  m_flagWenuEvent = WenuSelection (eleColl, metTopo, evt);
-
-  
-  //===================================================
-  // Set the bits for Z and W events
-  //===================================================
-  unsigned int fragment = 0x0;
-  if(m_flagZeeEvent) fragment |= 1<<0;
-  if(m_flagWenuEvent) fragment |= 1<<1; 
-
-  
-  egammaTagCol.insert( EgammaAttributeNames[0], fragment );
-
-  return StatusCode::SUCCESS;
-}
-
-/** finialize - called once at the end */
-StatusCode  EgammaTagTool::finalize() {
-
-  ATH_MSG_DEBUG("in finalize()");
-  return StatusCode::SUCCESS;
-}
-
-
-bool EgammaTagTool::ZeeSelection (const xAOD::ElectronContainer* eleColl,
-                                  SG::ReadHandle<xAOD::EventInfo> eventInfo)
-{
-
-  ATH_MSG_DEBUG("in ZeeSelection()");
-
-  /** Electron candidates */
-  std::vector<const xAOD::Electron*> electrons_positive;
-  std::vector<const xAOD::Electron*> electrons_negative;
-
-
-  xAOD::ElectronContainer::const_iterator eleItr    = eleColl->begin();
-  xAOD::ElectronContainer::const_iterator eleItrEnd = eleColl->end();
-  for ( ; eleItr != eleItrEnd; ++eleItr  ) {
-    /** only allow electons from "Electron" algo */
-    bool select = ( (*eleItr)->author(xAOD::EgammaParameters::AuthorElectron ) && ( (*eleItr)->pt() > m_electronPtCut));
-    if ( select ) {
-      if ( (*eleItr)->charge() > 0 ) electrons_positive.push_back( (*eleItr) );
-      else if ((*eleItr)->charge() < 0 ) electrons_negative.push_back( (*eleItr) );
-    }
-  }
-  
-  /** Check existance of electron candidates */
-  if ( (electrons_positive.size()==0) || (electrons_negative.size()==0) ) {
-    m_flagZeeEvent = false;
-    return m_flagZeeEvent;
-  }
-
-  for (unsigned int i=0; i<electrons_positive.size(); i++) {
-    for (unsigned int j=0; j<electrons_negative.size(); j++) {
-      
-      bool value_loose_pos=0;
-      bool value_loose_neg=0;
-      
-      if(!(electrons_positive[i]->passSelection(value_loose_pos,"Loose"))){
-	ATH_MSG_ERROR( "No loose selection exits" );
-      }
-      
-      if(!(electrons_negative[i]->passSelection(value_loose_neg,"Loose"))){
-	ATH_MSG_ERROR( "No loose selection exits" );
-      }
-      
-      if ( value_loose_pos == 1 || value_loose_neg == 1 ) {
-	double invMass = -999.;
-	
-	/** Calculate invariant mass of ee */
-	invMass = ( electrons_positive[ i ]->p4() + electrons_negative[ i ]->p4() ).M();
-
-	
-	/** Make decision for a good Zee */
-	if ( (m_massZLow < invMass) && (invMass < m_massZHigh) ) m_flagZeeEvent = true;
-	
-	/** Print the details of Zee Candidate if outputLevel=DEBUG */      
-	if (m_flagZeeEvent && msgLvl(MSG::DEBUG)) {
-          ATH_MSG_DEBUG("***** First electron candidate of Zee  *****" );
-          dumpEventDetails(electrons_positive[i], eventInfo);
-          ATH_MSG_DEBUG("***** Second electron candidate of Zee  *****" );
-          dumpEventDetails(electrons_negative[j], eventInfo);
-        }
-       }
-    }
-  }
-
-  return m_flagZeeEvent;
-
-}
-
-
-bool EgammaTagTool::WenuSelection (const xAOD::ElectronContainer* eleColl,
-                                   const xAOD::MissingETContainer* metTopo,
-                                   SG::ReadHandle<xAOD::EventInfo> eventInfo)
-{
-  ATH_MSG_DEBUG("in WenuSelection()");
-  
-  if  ((*metTopo)[m_missingEtTerm]->met() < m_missingEtCut ) {
-    m_flagWenuEvent = false;
-    return m_flagWenuEvent;
-  }  
-  
-  xAOD::ElectronContainer::const_iterator eleItr    = eleColl->begin();
-  xAOD::ElectronContainer::const_iterator eleItrEnd = eleColl->end();
-  for ( ; eleItr != eleItrEnd; ++eleItr  ) {
-    bool value_medium=0;
-    
-    if(!(*eleItr)->passSelection(value_medium,"Medium")){
-      ATH_MSG_ERROR( "No medium selection exits" );
-    }
-    if(value_medium == 0)continue;
-    bool select = ( (*eleItr)->author(xAOD::EgammaParameters::AuthorElectron ) && ( (*eleItr)->pt() > m_welectronPtCut));
- 
-    if (select) m_flagWenuEvent = true;
-
-    if (m_flagWenuEvent && msgLvl(MSG::DEBUG)) {
-       ATH_MSG_DEBUG("***** Electron Candidate in Wenu *****" );
-       dumpEventDetails(*eleItr, eventInfo);
-    } 
-  }
-
-  return m_flagWenuEvent;
-
-}
-
-void EgammaTagTool::dumpEventDetails(const xAOD::Electron* eleItr,
-                                     SG::ReadHandle<xAOD::EventInfo> eventInfo)
-{
-  ATH_MSG_DEBUG("Event info : "
-		<< " runNumber = " << eventInfo->runNumber()
-		<< " lumiBlock = " << eventInfo->lumiBlock()
-		<< " eventNumber = " << eventInfo->eventNumber()
-		);
-
-  ATH_MSG_DEBUG("Electrons : "
-		<<" pt = "  << eleItr->pt()
-		<<" eta = " << eleItr->eta()
-		<<" phi = " << eleItr->phi()
-		<<" charge = " << eleItr->charge()
-		);
-
-  ATH_MSG_DEBUG("Invariant mass  = " << m_invMass );
-}
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/ElectronTagTool.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/ElectronTagTool.cxx
deleted file mode 100755
index 140cc4c7824f91f8ec1741de06ca0cc96ffc8cbb..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/ElectronTagTool.cxx
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : ElectronTagTool.cxx
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Purpose : create a collection of ElectronTag
-
-*****************************************************************************/
-#include "ElectronPhotonTagTools/ElectronTagTool.h"
-
-#include "Gaudi/Property.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "xAODCore/ShallowCopy.h"
-#include "xAODParticleEvent/IParticleLink.h"
-#include "xAODEgamma/EgammaContainer.h"
-#include "xAODEgamma/ElectronContainer.h"
-#include "xAODEgamma/ElectronAuxContainer.h"
-#include "xAODEgamma/Egamma.h"
-#include "xAODEgamma/Electron.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "xAODEgamma/EgammaEnums.h"
-#include "TagEvent/ElectronAttributeNames.h"
-#include "AnalysisUtils/AnalysisMisc.h"
-#include "AthContainers/ConstDataVector.h"
-#include "xAODEventInfo/EventInfo.h"
-#include "xAODTracking/VertexContainer.h"
-#include "xAODTracking/TrackParticle.h"
-#include "xAODTracking/TrackParticleContainer.h"
-#include "xAODTracking/TrackParticlexAODHelpers.h"
-#include "PATCore/AcceptData.h"
-//#include "ElectronPhotonFourMomentumCorrection/EgammaCalibrationAndSmearingTool.h"
-
-#include <sstream>
-
-/** the constructor */
-ElectronTagTool::ElectronTagTool (const std::string& type, const std::string& name, 
-    const IInterface* parent) : 
-  AthAlgTool( type, name, parent ),
-  m_loose_cut_based(""),
-  m_medium_cut_based(""),
-  m_tight_cut_based(""),
-  m_veryloose_likelihood(""),
-  m_loose_likelihood(""),
-  m_medium_likelihood(""),
-  m_tight_likelihood(""),
-  m_loose_trackonly_isolation(""),
-  m_loose_isolation(""),
-  m_tight_isolation(""),
-  m_gradient_loose_isolation(""),
-  m_gradient_isolation(""),
-  m_fixedcut_tight_trackonly_isolation(""),
-  m_fixedcut_loose_isolation(""),
-  m_fixedcut_tight_isolation("") {
-  // m_EgammaCalibrationAndSmearingTool("CP::EgammaCalibrationAndSmearingTool/EgammaCalibrationAndSmearingTool", this) {
-  
-  /** Electron AOD Container Name */
-  declareProperty("Container",                 m_containerNames);
-
-  /**Electron MET input container Name */
-  declareProperty("ElectronMETContainerName",  m_electron_met_container_name);
-
-  /** selection cut of Pt */
-  declareProperty("EtCut",                     m_cut_Et = 7.0*CLHEP::GeV);
-
-  /** Etcone Isolation cut values */
-  declareProperty("EtconeIsoCutValues",        m_etconeisocutvalues, "Cut values for etcone isolation");
- 
-  /** Ptcone Isolation cut values */
-  declareProperty("PtconeIsoCutValues",        m_ptconeisocutvalues, "Cut values for ptcone isolation");
-
-  /** Electron Likelihood ID Tool name */
-  declareProperty("VeryLooseLHSelector",       m_veryloose_likelihood);
-  declareProperty("LooseLHSelector",           m_loose_likelihood);
-  declareProperty("MediumLHSelector",          m_medium_likelihood);
-  declareProperty("TightLHSelector",           m_tight_likelihood);
-
-  /** Electron Cut based ID Tool name */
-  declareProperty("ElectronIsEMSelectorLoose", m_loose_cut_based);
-  declareProperty("ElectronIsEMSelectorMedium",m_medium_cut_based);
-  declareProperty("ElectronIsEMSelectorTight", m_tight_cut_based);
-
-  /**Photon Ambiguity Tools */
-  declareProperty("IsolationCorrectionTool", m_isolation_correction_tool);
-
-  /** Electron Isolation Tool names */
-  declareProperty("LooseTrackOnlyIsolation",        m_loose_trackonly_isolation);
-  declareProperty("LooseIsolation",                 m_loose_isolation);
-  declareProperty("TightIsolation",                 m_tight_isolation);
-  declareProperty("GradientLooseIsolation",         m_gradient_loose_isolation);
-  declareProperty("GradientIsolation",              m_gradient_isolation);
-  declareProperty("FixedCutTightTrackOnlyIsolation",m_fixedcut_tight_trackonly_isolation);
-  declareProperty("FixedCutLooseIsolation",         m_fixedcut_loose_isolation);
-  declareProperty("FixedCutTightIsolation",         m_fixedcut_tight_isolation);
-
-  /** key for primary vertex container */
-  declareProperty ("PrimaryVertexKey", m_vxCandidate = "PrimaryVertices");
-
-  /** CP tool to calib objects */
-  // declareProperty( "EgammaCalibrationAndSmearingTool", m_EgammaCalibrationAndSmearingTool);
-
-  declareInterface<ElectronTagTool>( this );
-}
-
-/** initialization - called once at the beginning */
-StatusCode  ElectronTagTool::initialize() {
-
-  ATH_MSG_DEBUG( "in initialize()" );
-
-  /** retrieve and check the electron likelihood ID tool*/
-  CHECK(m_veryloose_likelihood.retrieve());
-  CHECK(m_loose_likelihood.retrieve());
-  CHECK(m_medium_likelihood.retrieve());
-  CHECK(m_tight_likelihood.retrieve());
-
- /** retrieve and check the electron cut based ID tool*/
-  CHECK(m_loose_cut_based.retrieve());
-  CHECK(m_medium_cut_based.retrieve());
-  CHECK(m_tight_cut_based.retrieve()); 
-
-  /** retrieve and check the gamma ambi tool*/
-  CHECK(m_isolation_correction_tool.retrieve());
-
- /** retrieve and check the electron isolation tool*/
-  CHECK(m_loose_trackonly_isolation.retrieve());
-  CHECK(m_loose_isolation.retrieve());
-  CHECK(m_tight_isolation.retrieve());
-  CHECK(m_gradient_loose_isolation.retrieve());
-  CHECK(m_gradient_isolation.retrieve());
-  CHECK(m_fixedcut_tight_trackonly_isolation.retrieve());
-  CHECK(m_fixedcut_loose_isolation.retrieve());
-  CHECK(m_fixedcut_tight_isolation.retrieve());
-
-  /** retreive and check the calibration tool */
-  // CHECK(m_EgammaCalibrationAndSmearingTool.retrieve());
-
-  if (m_etconeisocutvalues.size() > 4) {
-    ATH_MSG_FATAL ("More than four etcone values are not permitted");
-    return StatusCode::FAILURE;
-  }
-  if (m_ptconeisocutvalues.size() > 4) {
-    ATH_MSG_FATAL ("More than four ptcone values are not permitted");
-    return StatusCode::FAILURE;
-  }
-  
-  return StatusCode::SUCCESS;
-}
-
-/** build the attribute list - called in initialize */
-StatusCode ElectronTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap,
-						   const int& max) {
-  
-  ATH_MSG_DEBUG( "in attributeSpecification()" );
-  
-  /** Electron Attributes */  attrMap[ ElectronAttributeNames[ElectronID::NElectron] ]  = AthenaAttributeType("unsigned int",ElectronAttributeUnitNames[ElectronID::NElectron], ElectronAttributeGroupNames[ElectronID::NElectron]) ;
-  
-  std::ostringstream os;
-  for (int i=1; i<= max; ++i) {
-
-    /** pt */
-    os.str("");
-    os << ElectronAttributeNames[ElectronID::Pt] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", ElectronAttributeUnitNames[ElectronID::Pt], ElectronAttributeGroupNames[ElectronID::Pt]) ;
-    m_ptStr.push_back( os.str() );
-
-    /** eta */
-    os.str("");
-    os << ElectronAttributeNames[ElectronID::Eta] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", ElectronAttributeUnitNames[ElectronID::Eta], ElectronAttributeGroupNames[ElectronID::Eta]) ; 
-    m_etaStr.push_back( os.str() );
-
-    /** phi */
-    os.str("");
-    os << ElectronAttributeNames[ElectronID::Phi] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", ElectronAttributeUnitNames[ElectronID::Phi], ElectronAttributeGroupNames[ElectronID::Phi]) ;
-    m_phiStr.push_back( os.str() );
-
-    /** Tightness */
-    os.str("");
-    os << ElectronAttributeNames[ElectronID::Tight] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", ElectronAttributeUnitNames[ElectronID::Tight], ElectronAttributeGroupNames[ElectronID::Tight]) ;
-    m_tightStr.push_back( os.str() );
-
-    /** Isolation for  Electron */
-    os.str("");
-    os << ElectronAttributeNames[ElectronID::Isol] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", ElectronAttributeUnitNames[ElectronID::Isol], ElectronAttributeGroupNames[ElectronID::Isol]) ;
-    m_isoStr.push_back( os.str() );
-
-
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/** execute - called on every event */
-StatusCode ElectronTagTool::execute(TagFragmentCollection& eTagColl, const int& max) {
-
-  ATH_MSG_DEBUG( "in execute()" );
-
-  /** initialize a vector of electrons */
-  std::vector<const xAOD::Electron*> unique_electrons;
-
-  /** Looping over xAOD electron containers */  
-  for ( unsigned int cont=0; cont<m_containerNames.size(); ++cont ) {
-    
-    /**Retrieve electron container*/
-    const xAOD::ElectronContainer *electronContainer=0;
-    StatusCode sc = evtStore()->retrieve( electronContainer, m_containerNames[cont]);
-    if (sc.isFailure()) {
-      ATH_MSG_WARNING( "No AOD Electron container found in SG" );
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG( "AOD Electron container successfully retrieved = " << m_containerNames[cont] );
-    
-    // create a shallow copy of the electron container
-    std::pair< xAOD::ElectronContainer*, xAOD::ShallowAuxContainer* >  shallowCopy = xAOD::shallowCopyContainer(*electronContainer);
-    xAOD::ElectronContainer   *electronContainerShallowCopy    = shallowCopy.first;
-    xAOD::ShallowAuxContainer *electronAuxContainerShallowCopy = shallowCopy.second;
-    
-    CHECK( evtStore()->record(electronContainerShallowCopy,    "ElectronsShallowTAG"));
-    CHECK( evtStore()->record(electronAuxContainerShallowCopy, "ElectronsShallowTAGAux."));
-
-    static SG::AuxElement::Accessor< xAOD::IParticleLink > accSetOriginLink ("originalObjectLink");
-    for ( xAOD::Electron *shallowCopyElectron : * electronContainerShallowCopy ) {
-
-      /** fix calibration using tool */
-      // ATH_MSG_DEBUG("Un-Calibrated pt = " << shallowCopyElectron->pt());
-      // if(m_EgammaCalibrationAndSmearingTool->applyCorrection(*shallowCopyElectron) != CP::CorrectionCode::Ok){
-      //    ATH_MSG_WARNING("Cannot calibrate electron");
-      // }
-      // ATH_MSG_DEBUG("Calibrated pt = " << shallowCopyElectron->pt()); 
-
-      /** apply isolation fix */
-      if (m_isolation_correction_tool->applyCorrection(*shallowCopyElectron) != CP::CorrectionCode::Ok) {
-	ATH_MSG_WARNING("Cannot correct isolation of electron");
-      }
-
-      const xAOD::IParticleLink originLink( *electronContainer, shallowCopyElectron->index() );
-      accSetOriginLink(*shallowCopyElectron) = originLink;
-    }
-    CHECK(evtStore()->setConst(electronContainerShallowCopy ));
-    CHECK(evtStore()->setConst(electronAuxContainerShallowCopy ));
-
-    /** create an electron container for MET calculation */
-    ConstDataVector< xAOD::ElectronContainer >* selectedElectrons = new ConstDataVector< xAOD::ElectronContainer >( SG::VIEW_ELEMENTS );
-    ATH_CHECK( evtStore()->record( selectedElectrons, m_electron_met_container_name ) );
-
-    /** Loop over the container */
-    xAOD::ElectronContainer::const_iterator elecItr  = electronContainerShallowCopy->begin();
-    xAOD::ElectronContainer::const_iterator elecItrE = electronContainerShallowCopy->end();
-    int k=0;
-    for (; elecItr != elecItrE; ++elecItr, ++k) { 
-      
-      ATH_MSG_DEBUG( "Electron " << k << ", pt = " << (*elecItr)->pt() );
-
-      /**Apply loose preselection using the likelihood tool and pT cut*/
-      if ( ! m_loose_likelihood->accept(*elecItr) ) continue;
-      bool select = (*elecItr)->pt()>m_cut_Et;      
-      if ( ! select ) continue; 
-      
-      /** Fill a vector with selected electrons */
-      unique_electrons.push_back(*elecItr);
-      /** Fill the MET input Container with selected electrons*/
-      selectedElectrons->push_back(*elecItr);
-    }
-  }
-  
-  /**Sorted electron vector by pT*/ 
-  if ( unique_electrons.size() > 1) {
-    ATH_MSG_DEBUG( "sorting electrons" );
-    AnalysisUtils::Sort::pT( &unique_electrons );
-  }      
-  
-  /**Filling TAG variables*/
-  std::vector<const xAOD::Electron*>::const_iterator EleItr  = unique_electrons.begin();
-  int i=0;
-  for (; EleItr != unique_electrons.end() && i < max; ++EleItr, ++i) {
-    
-    ATH_MSG_DEBUG( "Electron " << i << ", pt = " << (*EleItr)->pt() );
-    
-    /** pt */
-    if ( (*EleItr)->charge() < 0 ) eTagColl.insert( m_ptStr[i], (*EleItr)->pt() * (*EleItr)->charge() );
-    else eTagColl.insert( m_ptStr[i], (*EleItr)->pt() );
-    
-    /** eta */
-    eTagColl.insert( m_etaStr[i], (*EleItr)->eta() );
-    
-    /** phi */
-    eTagColl.insert( m_phiStr[i], (*EleItr)->phi() );
-    
-    /** Filling tighness info into TAG from xAOD and likelihood tool*/
-    unsigned int tightness = 0x0; 
-    if ( m_loose_cut_based->accept(*EleItr) )       tightness |= (1 << 0);//Cut based Loose
-    if ( m_medium_cut_based->accept(*EleItr))       tightness |= (1 << 2);//Cut based Medium
-    if ( m_tight_cut_based->accept(*EleItr))        tightness |= (1 << 4);//Cut based Tight
-   
-    if ( m_loose_likelihood->accept(*EleItr) )      tightness |= (1 << 1);//Likelihood Loose
-    if ( m_medium_likelihood->accept(*EleItr))      tightness |= (1 << 3);//Likelihood Medium
-    if ( m_tight_likelihood->accept(*EleItr))       tightness |= (1 << 5);//Likelihood Tight
-    if ( m_veryloose_likelihood->accept(*EleItr) )  tightness |= (1 << 8);//Likelihood VeryLoose
-
-    /** get impact parameters of electron */
-    double d0_significance = 0.;
-    double z0_sintheta     = 0.;
-    getElectronImpactParameter (*EleItr, d0_significance, z0_sintheta);
-    /** cut on d0 */
-    if ( fabs(d0_significance)<5.0 ) tightness |= (1 << 6);
-    /** cut on z0 */
-    if ( fabs(z0_sintheta)<0.5 )     tightness |= (1 << 9);
-    
-    /** Object Quality */
-    bool isGoodOQ = (*EleItr)->isGoodOQ(xAOD::EgammaParameters::BADCLUSELECTRON);
-    if( isGoodOQ )                   tightness |= (1 << 7);
-    
-    /** b-layer cut */
-    const ElementLink<xAOD::TrackParticleContainer> &  tp_prime = (*EleItr)->trackParticleLink();
-    if(!tp_prime){
-      ATH_MSG_DEBUG("found no link to primary track particle");
-    } else {
-      if( tp_prime.isValid() ) {
-        ATH_MSG_DEBUG("elementLink<TrackParticle> is valid");
-	const xAOD::TrackParticle* tp = *tp_prime;
-
-        // check blayer, if expected                                                                                                                                                            
-        uint8_t nblh   = 0x0;
-        uint8_t eblh   = 0x0;
-        uint8_t nblo   = 0x0;
-        if( !tp->summaryValue(nblh,xAOD::numberOfBLayerHits)){
-          ATH_MSG_WARNING("No nBLayerHits");
-        }
-        if( !tp->summaryValue(nblo,xAOD::numberOfBLayerOutliers)){
-          ATH_MSG_WARNING("No nofBLayerOutliers");
-        }
-        if( !tp->summaryValue(eblh,xAOD::expectBLayerHit) ||
-            (nblh + nblo > 0) )        tightness |= (1 << 10);
-      }
-    }
-
-    /**  Using Isolation Tool to fill bit from 4 to 7 with loosetrackonly,loose,gradientloose,gradient*/    
-    if(m_loose_trackonly_isolation->accept(**EleItr))tightness |= (1 << 24);
-    if(m_loose_isolation->accept(**EleItr))          tightness |= (1 << 25);
-    if(m_tight_isolation->accept(**EleItr))          tightness |= (1 << 26);
-    if(m_gradient_isolation->accept(**EleItr))       tightness |= (1 << 27);
-    if(m_gradient_loose_isolation->accept(**EleItr)) tightness |= (1 << 28);
-    if(m_fixedcut_tight_trackonly_isolation->accept(**EleItr))tightness |= (1 << 29);
-    if(m_fixedcut_loose_isolation->accept(**EleItr))          tightness |= (1 << 30);
-    if(m_fixedcut_tight_isolation->accept(**EleItr))          tightness |= (1 << 31);
-
-    eTagColl.insert( m_tightStr[i], tightness ); 
-    
-
-    unsigned int iso = 0x0;
-    const float elEt = (*EleItr)->pt();
-    const float inv_elEt = elEt != 0 ? 1. / elEt : 1;
-    float etcone=0;
-
-    /** now start filling the isolation information */
-
-    /** let's compute the etcone20 isolation of the electron */
-    if(!((*EleItr)->isolationValue(etcone,xAOD::Iso::etcone20))){
-      ATH_MSG_ERROR( "No isolation etcone20pt defined" );
-    } else {
-      /* Etcone20/pt are bits 0 and 1 */
-      for(unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	/** apply etcone20/pt cuts first */
-	if(m_etconeisocutvalues[j]<1.0) {
-	  float relIso = etcone;
-	  relIso *= inv_elEt;
-	  if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << j;
-	  
-	  /**apply absolute etcone20 cut*/
-	  /* Etcone20 are bits 2 and 3 */
-	} else if(etcone < m_etconeisocutvalues[j]) iso |= 1 << j;
-	
-      }
-    }
-    /** let's compute the topoetcone20 isolation of the electron */
-    if(!((*EleItr)->isolationValue(etcone,xAOD::Iso::topoetcone20))){
-      ATH_MSG_ERROR( "No isolation topoetcone20 defined" );
-    } else {
-      /* TopoEtcone20/pt are bits 8 and 9 */
-      for(unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	/** apply topoetcone20/pt cuts first */
-	if(m_etconeisocutvalues[j]<1.0) {
-	  float relIso = etcone;
-	  relIso *= inv_elEt;
-	  if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (8+j);
-	  
-	  /**apply absolute topoetcone20 cut*/
-	  /* TopoEtcone20 are bits 10 and 11 */
-	} else if(etcone < m_etconeisocutvalues[j]) iso |= 1 << (8+j);
-	
-      }
-    }
-    
-     /** let's compute the topoetcone40 isolation of the electron */
-    if(!((*EleItr)->isolationValue(etcone,xAOD::Iso::IsolationType::topoetcone40))){	
-      ATH_MSG_ERROR( "No isolation topoetcone40 defined" );
-    }
-    else{
-      /* TopoEtcone40/pt are bits 16 and 17 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply topoetcone40/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 ) 
-	    {
-	      float relIso = etcone;
-	      relIso *= inv_elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (16+j);
-	    }
-	  /**apply absolute topoetcone40 cut*/
-	  /* TopoEtcone40 are bits 17 and 18 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << (16+j); // absolute isolation
-	}
-    }
-
-    /** let's compute the ptcone20 isolation of the electron */
-    float ptcone = 0;
-    if(!((*EleItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone20))){
-      ATH_MSG_DEBUG( "No isolation ptcone20 defined" );
-    }
-    else{
-      
-      /* ptcone20/pt are bits 24 and 25 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{ 
-	  /** apply ptcone20/pt cuts first */
-	  if ( m_ptconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = ptcone;
-	      relIso *= inv_elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (24+j);
-	    }
-	  /**apply absolute ptcone20 cut*/
-	  /* ptcone20 are bits 26 and 27 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (24+j);
-	}
-    }
-     /** let's compute the ptcone30 isolation of the electron */
-    if(!((*EleItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone30))){
-      ATH_MSG_DEBUG( "No isolation ptcone30 defined" );
-    }
-    else{
-       /* ptcone30/pt are bits 20 and 21 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{ 
-	  /** apply ptcone30/pt cuts first */
-	  if ( m_ptconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = ptcone;
-	      relIso *= inv_elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (20+j);
-	    }
-	  /**apply absolute ptcone30 cut*/
-	  /* ptcone30 are bits 22 and 23 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (20+j);
-	}
-    }
-    /** let's compute the ptcone40 isolation of the electron */
-    if(!((*EleItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone40))){
-      ATH_MSG_DEBUG( "No isolation ptcone40 defined" );
-    }
-    else{
-       /* ptcone30/pt are bits 28 and 29 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{ 
-	  /** apply ptcone40/pt cuts first */	  
-	  if ( m_ptconeisocutvalues[j] < 1.0 ) 
-	    {
-	      float relIso = ptcone;
-	      relIso *= inv_elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (28+j);
-	    }
-	   /**apply absolute ptcone40 cut*/
-	  /* ptcone40 are bits 30 and 31 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (28+j);
-	}
-    }
-    /** let's compute the topoetcone30 isolation of the electron */
-    if(!((*EleItr)->isolationValue(etcone,xAOD::Iso::IsolationType::topoetcone30))){  
-      ATH_MSG_DEBUG( "No isolation topoetcone30 defined" );
-    }
-    else{
-      /* topoEtcone30/pt are bits 12 and 13 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply topoEtcone30/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = etcone;
-              relIso *= inv_elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (12+j);
-	    }
-	  /**apply absolute topoetcone30 cut*/
-	  /* topoetcone30 are bits 14 and 15 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << (12+j);
-	}
-    }
-
-    eTagColl.insert( m_isoStr[i], iso );
-	
-  }
-  /** insert the number of loose electrons */
-  ATH_MSG_DEBUG( "Number of Total Loose Electron " << i );
-  eTagColl.insert(ElectronAttributeNames[ElectronID::NElectron], i);
-  
-  return StatusCode::SUCCESS;
-}
-
-/** finalize - called once at the end */
-StatusCode  ElectronTagTool::finalize() {
-  ATH_MSG_DEBUG( "in finalize()" );
-  return StatusCode::SUCCESS;
-}
-
-/** private function to get impact parameter */
-void ElectronTagTool::getElectronImpactParameter (const xAOD::Electron* elec, double& d0_significance, double& z0_sintheta) {
-
-  /** let's initialize to 0 the impact parameters*/
-  d0_significance = 0.;
-  z0_sintheta     = 0.;
-
-  StatusCode sc;
-
-  /** retrieve the  EventInfo container for Beam Spot */
-  const xAOD::EventInfo* eventInfo = 0;
-  sc = evtStore()->retrieve( eventInfo, "EventInfo");
-  if (sc.isFailure()) {
-     ATH_MSG_WARNING( "No AOD EventInfo container found in SG, return 0 impact paramters." );
-     return;
-  }
-  
-  /** get vertex container, we assume the first vertex is the primary by convention */
-  const xAOD::VertexContainer* vxContainer=0;
-  sc = evtStore()->retrieve(vxContainer, m_vxCandidate);
-  if (sc.isFailure() || !vxContainer) {
-    ATH_MSG_DEBUG ("Could not retrieve primary vertex info: " << m_vxCandidate <<", return 0 impact parameter.");
-    return;
-  }
-  if (vxContainer->size()<1) {
-    ATH_MSG_DEBUG ("No primary vertices reconstructed, return 0 impact parameters.");
-    return;
-  }
-  xAOD::VertexContainer::const_iterator vxI = vxContainer->begin();
-  if ((*vxI)->vertexType() != xAOD::VxType::PriVtx) {
-    ATH_MSG_DEBUG ("---> no primary vertex reconstructed, return 0 impact parameters.");
-    return;
-  }
-  ATH_MSG_DEBUG ("---> vertex at (x/y/z) = " << (*vxI)->x() << " / " << (*vxI)->y() << " / " << (*vxI)->z() );
-  
-  /** We try to find the link to the primary track and after we retrieve it*/
-  const ElementLink<xAOD::TrackParticleContainer> &  tp_prime = elec->trackParticleLink();
-  if(!tp_prime){
-    ATH_MSG_DEBUG("found no link to primary track particle");
-  } else {
-    if( tp_prime.isValid() ) {
-      const xAOD::TrackParticle* trk = *tp_prime;
-      
-      /** d0 Significance w.r.t. Beam Spot covariance as recommended (even if it makes little sense) */
-      d0_significance = xAOD::TrackingHelpers::d0significance(trk,
-							      eventInfo->beamPosSigmaX(),
-							      eventInfo->beamPosSigmaY(),
-							      eventInfo->beamPosSigmaXY()); 
-      /** z0_sintheta is an approximation, just do the diff */
-      double delta_z0 = fabs(trk->z0() + trk->vz() - (*vxI)->z());
-      z0_sintheta = delta_z0/sin(sin(trk->theta()));
-    }
-  }
-}
-    
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/PhotonTagTool.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/PhotonTagTool.cxx
deleted file mode 100755
index 66baf090de2654138719dab8ca1b7ddf31fe0ff7..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/PhotonTagTool.cxx
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : PhotonTagTool.cxx
-Package : offline/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-Purpose : create a collection of PhotonTag
-
-*****************************************************************************/
-
-#include "ElectronPhotonTagTools/PhotonTagTool.h"
-
-#include "Gaudi/Property.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "xAODCore/ShallowCopy.h"
-#include "xAODParticleEvent/IParticleLink.h"
-#include "xAODEgamma/EgammaContainer.h"
-#include "xAODEgamma/PhotonContainer.h"
-#include "xAODEgamma/PhotonAuxContainer.h"
-#include "xAODEgamma/Egamma.h"
-#include "xAODEgamma/Photon.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "xAODEgamma/EgammaEnums.h"
-#include "TagEvent/PhotonAttributeNames.h"
-#include "AnalysisUtils/AnalysisMisc.h"
-#include "AthContainers/ConstDataVector.h"
-#include "PATCore/AcceptData.h"
-// #include "ElectronPhotonFourMomentumCorrection/EgammaCalibrationAndSmearingTool.h"
-
-#include <sstream>
-
-
-/** the constructor */
-PhotonTagTool::PhotonTagTool (const std::string& type, const std::string& name, 
-    const IInterface* parent) : 
-  AthAlgTool( type, name, parent ),
-  m_isFullsim(false),
-  m_shower_shape_fudge(""),
-  m_loose_cut_based(),
-  m_tight_cut_based(),
-  m_egamma_ambi_tool(),
-  /**Initializing private member for the isolation tool*/
-  m_cone40_calo_isolation(""),
-  m_cone40_isolation(""),
-  m_cone20_isolation("") {
-  // m_EgammaCalibrationAndSmearingTool("CP::EgammaCalibrationAndSmearingTool/EgammaCalibrationAndSmearingTool", this) {
-
-  /** Photon AOD Container Name */
-  declareProperty("Container",             m_containerName = "PhotonCollection");
-
-  /** Photon AOD Container Name */
-  declareProperty("PhotonMETContainerName",m_photon_met_container_name);
-
-  /** selection cut of Pt */
-  declareProperty("EtCut",                 m_cut_Et = 7.0*CLHEP::GeV);
-
-  /** Etcone Isolation cut values */
-  declareProperty("EtconeIsoCutValues",    m_etconeisocutvalues, "Cut values for etcone isolation");
-
-  /** Ptcone Isolation cut values */
-  declareProperty("PtconeIsoCutValues",    m_ptconeisocutvalues, "Cut values for ptcone isolation");
-
-  /**Shower shape fudge*/
-  declareProperty("isFullsim"            , m_isFullsim = false);
-  declareProperty("PhotonShowerFudgeTool", m_shower_shape_fudge);
-
-  /**Photon Selector Tools */
-  declareProperty("LooseSelector",         m_loose_cut_based);
-  declareProperty("TightSelector",         m_tight_cut_based);
-
-  /**Photon Ambiguity Tools */
-  declareProperty("EGammaAmbiTool",        m_egamma_ambi_tool);
-
-  /**Photon Ambiguity Tools */
-  declareProperty("IsolationCorrectionTool", m_isolation_correction_tool);
-
-  /**Photon Isolation Tool names*/
-  declareProperty("cone40CaloOnlyIsoTool", m_cone40_calo_isolation);
-  declareProperty("cone40IsoTool",         m_cone40_isolation);
-  declareProperty("cone20IsoTool",         m_cone20_isolation);
-
-  declareProperty("FixedCutTightCaloOnlyIsoTool", m_fixedcut_tightcaloonly_isolation);
-  declareProperty("FixedCutLooseIsoTool",         m_fixedcut_loose_isolation);
-  declareProperty("FixedCutTightIsoTool",         m_fixedcut_tight_isolation);
-
-  /** CP tool to calib objects */
-  // declareProperty( "EgammaCalibrationAndSmearingTool", m_EgammaCalibrationAndSmearingTool);
-
-  declareInterface<PhotonTagTool>( this );
-}
-
-
-
-/** initialization - called once at the begginning */
-StatusCode  PhotonTagTool::initialize() {
-
-  ATH_MSG_DEBUG( "in initialize()" );
-  /**retrieve and check shower shape fudge tool*/
-  if (m_isFullsim) CHECK(m_shower_shape_fudge.retrieve());
-  /** retrieve and check the photon selector tools*/
-  CHECK(m_loose_cut_based.retrieve());
-  CHECK(m_tight_cut_based.retrieve());
-
-  /** retrieve and check the gamma ambi tool*/
-  CHECK(m_egamma_ambi_tool.retrieve());
-
-  /** retrieve and check the gamma ambi tool*/
-  CHECK(m_isolation_correction_tool.retrieve());
-
-  /** retrieve and check the photon isolation tool*/
-  CHECK(m_cone20_isolation.retrieve());
-  CHECK(m_cone40_isolation.retrieve());
-  CHECK(m_cone40_calo_isolation.retrieve());
-  
-  CHECK(m_fixedcut_tightcaloonly_isolation.retrieve());
-  CHECK(m_fixedcut_loose_isolation.retrieve());
-  CHECK(m_fixedcut_tight_isolation.retrieve());
-  
-  /** retrieve and check the calibration tool */
-  // CHECK(m_EgammaCalibrationAndSmearingTool.retrieve());
-
-  if (m_etconeisocutvalues.size() > 4) {
-    ATH_MSG_FATAL ("More than four Etcone values are not permitted");
-    return StatusCode::FAILURE;
-  }
-  if (m_ptconeisocutvalues.size() > 4) {
-    ATH_MSG_FATAL ("More than four ptcone values are not permitted");
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-
-/** build the attribute list - called in initialize */
-StatusCode PhotonTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap,
-                                                 const int& max)
-{
-  ATH_MSG_DEBUG( "in attributeSpecification()" );
-
-  /** Photon Attributes */
-  attrMap[ PhotonAttributeNames[PhotonID::NPhoton] ]  = AthenaAttributeType("unsigned int", PhotonAttributeUnitNames[PhotonID::NPhoton], PhotonAttributeGroupNames[PhotonID::NPhoton]);
-  attrMap[ PhotonAttributeNames[PhotonID::NConverted] ]  = AthenaAttributeType("unsigned int", PhotonAttributeUnitNames[PhotonID::NConverted], PhotonAttributeGroupNames[PhotonID::NConverted]);
-
-  std::ostringstream os;
-  for (int i=1; i<= max; ++i) {
-
-    /** pt */
-    os.str("");
-    os << PhotonAttributeNames[PhotonID::Pt] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float",  PhotonAttributeUnitNames[PhotonID::Pt],  PhotonAttributeGroupNames[PhotonID::Pt]);
-    m_ptStr.push_back( os.str() );
-
-    /** eta */
-    os.str("");
-    os << PhotonAttributeNames[PhotonID::Eta] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float",  PhotonAttributeUnitNames[PhotonID::Eta],  PhotonAttributeGroupNames[PhotonID::Eta]);
-    m_etaStr.push_back( os.str() );
-
-    /** phi */
-    os.str("");
-    os << PhotonAttributeNames[PhotonID::Phi] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", PhotonAttributeUnitNames[PhotonID::Phi], PhotonAttributeGroupNames[PhotonID::Phi]);
-    m_phiStr.push_back( os.str() );
-
-    /** Tightness */
-    os.str("");
-    os << PhotonAttributeNames[PhotonID::Tight] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", PhotonAttributeUnitNames[PhotonID::Tight], PhotonAttributeGroupNames[PhotonID::Tight]);
-    m_tightStr.push_back( os.str() );
-
-    /** Isolation Photon */
-    os.str("");
-    os << PhotonAttributeNames[PhotonID::Isol] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", PhotonAttributeUnitNames[PhotonID::Isol], PhotonAttributeGroupNames[PhotonID::Isol]) ;
-    m_isoStr.push_back( os.str() );
-
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-/** execute - called on every event */
-StatusCode PhotonTagTool::execute(TagFragmentCollection& pTagColl, const int& max) {
-
-  ATH_MSG_DEBUG( "in execute()" );
-
-  /** initialize a vector of photons */
-  std::vector<const xAOD::Photon*> unique_photons;
-
-  /** retrieve the AOD photon container */
-  const xAOD::PhotonContainer *photonContainer;
-  StatusCode sc = evtStore()->retrieve( photonContainer, m_containerName);
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "No xAOD Photon container found in SG" );
-    return StatusCode::SUCCESS;
-  }
-  ATH_MSG_DEBUG( "xAOD Photon container successfully retrieved" );
-  
-  // create a shallow copy of the photon container
-  std::pair< xAOD::PhotonContainer*, xAOD::ShallowAuxContainer* >  shallowCopy = xAOD::shallowCopyContainer(*photonContainer);
-  xAOD::PhotonContainer     *photonContainerShallowCopy    = shallowCopy.first;
-  xAOD::ShallowAuxContainer *photonAuxContainerShallowCopy = shallowCopy.second;
-  
-  CHECK( evtStore()->record(photonContainerShallowCopy,    "PhotonsShallowTAG"));
-  CHECK( evtStore()->record(photonAuxContainerShallowCopy, "PhotonsShallowTAGAux."));
-  
-  static SG::AuxElement::Accessor< xAOD::IParticleLink > accSetOriginLink ("originalObjectLink");
-  for ( xAOD::Photon* shallowCopyPhoton : *photonContainerShallowCopy ) {
-
-    /** applying shower shape correction */
-    if (m_isFullsim) CP::CorrectionCode correctionCode = m_shower_shape_fudge->applyCorrection(*shallowCopyPhoton);
-
-    /** fix calibration using tool */
-    /**
-    if ((shallowCopyPhoton->author() & xAOD::EgammaParameters::AuthorCaloTopo35) > 0) {
-      ATH_MSG_DEBUG("Author " <<xAOD::EgammaParameters::AuthorCaloTopo35<< " photon pt = " << shallowCopyPhoton->pt() << " do not calibrate, not supported "); 
-    } else {
-      ATH_MSG_DEBUG("Un-Calibrated pt = " << shallowCopyPhoton->pt()); 
-      if(m_EgammaCalibrationAndSmearingTool->applyCorrection(*shallowCopyPhoton) != CP::CorrectionCode::Ok){
-	ATH_MSG_WARNING("Cannot calibrate electron");
-      }
-      ATH_MSG_DEBUG("Calibrated pt = " << shallowCopyPhoton->pt()); 
-    }
-    */
-
-    /** apply isolation fix */
-    if (m_isolation_correction_tool->applyCorrection(*shallowCopyPhoton) != CP::CorrectionCode::Ok) {
-      ATH_MSG_WARNING("Cannot correct isolation of photon");
-    }
-
-    const xAOD::IParticleLink originLink( *photonContainer, shallowCopyPhoton->index() );
-    accSetOriginLink(*shallowCopyPhoton) = originLink;
-  }
-  CHECK(evtStore()->setConst(photonContainerShallowCopy ));
-  CHECK(evtStore()->setConst(photonAuxContainerShallowCopy ));
-  
-  /** create an photon container for MET calculation */
-  ConstDataVector< xAOD::PhotonContainer >* selectedPhotons = new ConstDataVector< xAOD::PhotonContainer >( SG::VIEW_ELEMENTS );
-  ATH_CHECK( evtStore()->record( selectedPhotons, m_photon_met_container_name ) );
-
-  /** Loop over the container */
-  xAOD::PhotonContainer::const_iterator photItr  = photonContainerShallowCopy->begin();
-  xAOD::PhotonContainer::const_iterator photItrE = photonContainerShallowCopy->end();
-  int k=0;
-  for (; photItr != photItrE; ++photItr, ++k) { 
-    
-    ATH_MSG_DEBUG( "Photon " << k << ", pt = " << (*photItr)->pt() );
-    
-    /** apply Et cut*/
-    bool passPtCut  = (*photItr)->pt() > m_cut_Et;
-    /** apply loose PID cut*/
-    bool isLoose    = static_cast<bool>(m_loose_cut_based->accept(*photItr));
-    /** apply author cut*/
-    bool goodAuthor = ( (*photItr)->author() & xAOD::EgammaParameters::AuthorPhoton ) > 0 ||
-                      ( (*photItr)->author() & xAOD::EgammaParameters::AuthorAmbiguous ) > 0;
-
-    bool select    = passPtCut && isLoose && goodAuthor;
-    if ( ! select ) continue; 
-    
-    /** Fill a vector with selected electrons */
-    unique_photons.push_back(*photItr);
-    /** Fill the MET input Container with selected electrons*/
-    selectedPhotons->push_back(*photItr);
-  }
-  
-  /**Sorted photon vector by pT*/ 
-  if ( unique_photons.size() > 1) {
-    ATH_MSG_DEBUG( "sorting photons" );
-    AnalysisUtils::Sort::pT( &unique_photons );
-  }      
-  
-  /** make the selection */
-  std::vector<const xAOD::Photon*>::const_iterator photonItr  = unique_photons.begin();
-  std::vector<const xAOD::Photon*>::const_iterator photonItrE = unique_photons.end();
-  int i=0; int nConverted = 0;
-  for (; photonItr != photonItrE && i < max; ++photonItr, ++i) { 
-
-    /**Filling TAG variables*/
-    
-    /** pt */
-    pTagColl.insert( m_ptStr[i], (*photonItr)->pt() );
-    
-    /** eta */
-    pTagColl.insert( m_etaStr[i], (*photonItr)->eta() );
-    
-    /** phi */
-    pTagColl.insert( m_phiStr[i], (*photonItr)->phi() );
-    
-    /** Retrieving tightness info from xAOD */
-    unsigned int tightness = 0x0;
-
-    bool isLoose = static_cast<bool>(m_loose_cut_based->accept(*photonItr));
-    if (isLoose) tightness |= (1<<0);//loose
-    
-    bool isTight = static_cast<bool>(m_tight_cut_based->accept(*photonItr));
-    if (isTight) tightness |= (1<<1);//tight
-    
-    /** Photon Object Quality*/
-    bool isGoodOQ = (*photonItr)->isGoodOQ(xAOD::EgammaParameters::BADCLUSPHOTON);
-    if (isGoodOQ) tightness |= (1<<2);
-    
-    bool passesEGammaAmbiTool = m_egamma_ambi_tool->accept( **photonItr );
-    if (passesEGammaAmbiTool) tightness |= (1<<3);
-
-    /**  Using Isolation Tool to fill bit from 4 to 6 with cone20,cone40,cone40caloonly*/
-    if(m_cone20_isolation->accept(**photonItr))      tightness |= (1 << 4);
-    if(m_cone40_isolation->accept(**photonItr))      tightness |= (1 << 5);
-    if(m_cone40_calo_isolation->accept(**photonItr)) tightness |= (1 << 6);
-    
-    if(m_fixedcut_tightcaloonly_isolation->accept(**photonItr))  tightness |= (1 << 7);
-    if(m_fixedcut_loose_isolation->accept(**photonItr))          tightness |= (1 << 8);
-    if(m_fixedcut_tight_isolation->accept(**photonItr))          tightness |= (1 << 9);
-    
-    pTagColl.insert( m_tightStr[i], tightness );
-    
-    /** test for converted photon - and set the conversion flag */
-    if ((*photonItr)->nVertices() != 0) nConverted++;
-    
-    /** Isolation of Photons */
-    
-    unsigned int iso = 0x0;
-    float elEt = (*photonItr)->pt();
-    float etcone = 0;
-    /** now start filling the isolation information */
-    
-    /** let's compute the etcone20 isolation of the photon */
-    if(!((*photonItr)->isolationValue(etcone,xAOD::Iso::IsolationType::etcone20))){
-      ATH_MSG_DEBUG( "No etcone20 defined" );
-    }
-    else{
-      /* Etcone20/pt are bits 0 and 1 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply etcone20/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = etcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << j;
-	    }
-	  /**apply absolute etconse20 cut*/
-	  /* Etcone20 are bits 2 and 3 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << j; 
-	}
-    }
-    /** let's compute the topoetcone20 isolation of the photon */
-    if(!((*photonItr)->isolationValue(etcone,xAOD::Iso::IsolationType::topoetcone20))){
-      ATH_MSG_DEBUG( "No topoetcone20 defined" );
-    }
-    else{
-      /* TopoEtcone20/pt are bits 8 and 9 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply topoetcone20/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = etcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (8+j);
-	    }
-	  /**apply absolute topoetcone20 cut*/
-	  /* TopoEtcone20 are bits 10 and 11 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << (8+j);
-	}
-    }
-    /** let's compute the topoetcone40 isolation of the photon */
-    if(!((*photonItr)->isolationValue(etcone,xAOD::Iso::IsolationType::topoetcone40))){
-      ATH_MSG_DEBUG( "No isolation topoetcone40 defined" );
-    }
-    else{
-      /* TopoEtcone40/pt are bits 16 and 17 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply topoetcone40/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = etcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (16+j);
-	    }
-	  /**apply absolute topoetcone40 cut*/
-	  /* TopoEtcone40 are bits 17 and 18 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << (16+j); 
-	}
-    }
-    /** let's compute the ptcone20 isolation of the photon */
-    float ptcone =0;
-    if(!((*photonItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone20))){
-      ATH_MSG_DEBUG( "No isolation ptcone20 defined" );
-    }
-    else{
-      /* ptcone20/pt are bits 24 and 25 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{
-	  /** apply ptcone20/pt cuts first */
-	  if ( m_ptconeisocutvalues[j] < 1.0 ) 
-	    {
-	      float relIso = ptcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (24+j);
-	    }
-	  /**apply absolute ptcone20 cut*/
-	  /* ptcone20 are bits 26 and 27 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (24+j);
-	}
-    }
-    /** let's compute the topoetcone30 isolation of the photon */
-    if(!((*photonItr)->isolationValue(etcone,xAOD::Iso::IsolationType::topoetcone30))){ 
-      ATH_MSG_DEBUG( "No isolation topoetcone30 defined" );
-    }
-    else{
-      /* topoEtcone30/pt are bits 12 and 13 */
-      for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++)
-	{
-	  /** apply topoEtcone30/pt cuts first */
-	  if ( m_etconeisocutvalues[j] < 1.0 )
-	    {
-	      float relIso = etcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_etconeisocutvalues[j] ) iso |= 1 << (12+j);
-	    }
-	  /**apply absolute topoetcone30 cut*/
-	  /* topoetcone30 are bits 14 and 15 */
-	  else if ( etcone < m_etconeisocutvalues[j] ) iso |= 1 << (12+j); 
-	}
-    }
-    /** let's compute the ptcone30 isolation of the photon */
-    if(!((*photonItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone30))){
-      ATH_MSG_DEBUG( "No isolation ptcone30 defined" );
-    }
-    else{
-      /* ptcone30/pt are bits 20 and 21 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{ 
-	  /** apply ptcone30/pt cuts first */
-	  if ( m_ptconeisocutvalues[j] < 1.0 ) 
-	    {
-	      float relIso = ptcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (20+j);
-	    }
-	  /**apply absolute ptcone30 cut*/
-	  /* ptcone30 are bits 22 and 23 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (20+j);
-	}
-    }
-    /** let's compute the ptcone40 isolation of the photon */
-    if(!((*photonItr)->isolationValue(ptcone,xAOD::Iso::IsolationType::ptcone40))){
-      ATH_MSG_DEBUG( "No isolation ptcone40 defined" );
-    }
-    else{
-      /* ptcone30/pt are bits 28 and 29 */
-      for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++)
-	{ 
-	  /** apply ptcone40/pt cuts first */
-	  if ( m_ptconeisocutvalues[j] < 1.0 ) 
-	    {
-	      float relIso = ptcone;
-	      if ( elEt != 0.0 ) relIso = relIso/elEt;
-	      if ( relIso < m_ptconeisocutvalues[j] ) iso |= 1 << (28+j);
-	    }
-	  /**apply absolute ptcone40 cut*/
-	  /* ptcone40 are bits 30 and 31 */
-	  else if ( ptcone < m_ptconeisocutvalues[j] ) iso |= 1 << (28+j);
-	}
-    }
-    
-    pTagColl.insert( m_isoStr[i], iso );
-    
-  }
-  
-  /** insert the number of loose photons */
-  pTagColl.insert(PhotonAttributeNames[PhotonID::NPhoton], i);
-  pTagColl.insert(PhotonAttributeNames[PhotonID::NConverted], nConverted);
-  
-  return StatusCode::SUCCESS;
-}
-
-/** finalize - called once at the end */
-StatusCode PhotonTagTool::finalize() {
-  ATH_MSG_DEBUG( "in finalize()" );
-  return StatusCode::SUCCESS;
-}
-
-
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/components/ElectronPhotonTagTools_entries.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/components/ElectronPhotonTagTools_entries.cxx
deleted file mode 100644
index 21543765cde852aeaac5b85de43c33a77b3e727a..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools/src/components/ElectronPhotonTagTools_entries.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "ElectronPhotonTagTools/ElectronTagTool.h"
-#include "ElectronPhotonTagTools/EgammaTagTool.h"
-#include "ElectronPhotonTagTools/PhotonTagTool.h"
-
- 
-DECLARE_COMPONENT( EgammaTagTool )
-DECLARE_COMPONENT( ElectronTagTool )
-DECLARE_COMPONENT( PhotonTagTool )
- 
-
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/CMakeLists.txt b/PhysicsAnalysis/EventTag/EventTagAlgs/CMakeLists.txt
index 43a7e5687eafbab6f9d512bfe26c473342bb0695..8cc206c2ac6cad0d5eb7e8421782bfccb5270f5a 100644
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/CMakeLists.txt
+++ b/PhysicsAnalysis/EventTag/EventTagAlgs/CMakeLists.txt
@@ -15,30 +15,21 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           Event/xAOD/xAODEventInfo
                           PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent
-                          PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-                          PhysicsAnalysis/EventTag/EventTagUtils
-                          PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools
-                          PhysicsAnalysis/MuonID/MuonTagTools )
+                          PhysicsAnalysis/EventTag/EventTagUtils )
 
 # External dependencies:
 find_package( CLHEP )
 
 # Component(s) in the package:
 atlas_add_component( EventTagAlgs
-                     src/AnalysisTagBuilder.cxx
-                     src/ElectronTagBuilder.cxx
                      src/GlobalEventTagBuilder.cxx
                      src/GlobalTriggerTagBuilder.cxx
-                     src/MissingETTagBuilder.cxx
-                     src/MuonTagBuilder.cxx
-                     src/ParticleJetTagBuilder.cxx
-                     src/PhotonTagBuilder.cxx
                      src/RawInfoSummaryTagBuilder.cxx
                      src/TagBuilderBase.cxx
                      src/EventSplitter.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GaudiKernel TagEvent StoreGateLib SGtests xAODEventInfo AnalysisTriggerEvent ElectronPhotonTagToolsLib EventTagUtilsLib JetMissingEtTagToolsLib MuonTagToolsLib )
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GaudiKernel TagEvent StoreGateLib SGtests xAODEventInfo AnalysisTriggerEvent EventTagUtilsLib )
 
 # Install files from the package:
 atlas_install_headers( EventTagAlgs )
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/AnalysisTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/AnalysisTagBuilder_jobOptions.py
deleted file mode 100755
index 89435e2b5dabef4e6d74e677ea71fe9a7012a41d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/AnalysisTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-# Combined Performance Groups - Tag Fragments
-include ( "JetMissingEtTagTools/JetMissingEtIdentificationTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import AnalysisTagBuilder
-
-AnalysisTagBuilder = AnalysisTagBuilder(
-  AttributeList  = EventTagGlobal.AttributeList,
-  JetMissingEtIdentificationTagTool = JetMissingEtIdentificationTagTool,
-  NumJetMissinEt = 1,
-  CheckAttribute = True)
-
-topSequence += AnalysisTagBuilder
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/ElectronTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/ElectronTagBuilder_jobOptions.py
deleted file mode 100755
index edd7209534657c6231b53d721f4f1357d36b30c4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/ElectronTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-include ( "ElectronPhotonTagTools/ElectronTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import ElectronTagBuilder
-ElectronTagBuilder  = ElectronTagBuilder(
-    name            = "ElectronTagBuilder",
-    ElectronTagTool = ElectronTagTool, 
-    AttributeList   = EventTagGlobal.AttributeList,
-    MaxNumber       = 6,
-    CheckAttribute  = True)
-topSequence += ElectronTagBuilder
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/MissingETTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/MissingETTagBuilder_jobOptions.py
deleted file mode 100755
index e928d0d50755cbf8f7ed372ab8d45b187506d60e..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/MissingETTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-from ihooks import VERBOSE
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-include ( "JetMissingEtTagTools/MissingETTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import MissingETTagBuilder
-MissingETTagBuilder     = MissingETTagBuilder(
-    name                = "MissingETTagBuilder",
-    JetMissingEtTagTool = JetMissingEtTagTool,
-    AttributeList       = EventTagGlobal.AttributeList,
-    CheckAttribute      = True)
-topSequence += MissingETTagBuilder
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/MuonTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/MuonTagBuilder_jobOptions.py
deleted file mode 100755
index 8aeccafdfb8e4d2e635112d5790c1f608ebcd2dc..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/MuonTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-include ( "MuonTagTools/MuonTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import MuonTagBuilder
-MuonTagBuilder  = MuonTagBuilder(
-    name           = "MuonTagBuilder",
-    MuonTagTool    = MuonTagTool,
-    AttributeList  = EventTagGlobal.AttributeList,
-    MaxNumber      = 6,
-    CheckAttribute = True)
-topSequence += MuonTagBuilder
-
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/ParticleJetTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/ParticleJetTagBuilder_jobOptions.py
deleted file mode 100755
index 6b9c6f948130cc02162aca52e978389e1041b19a..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/ParticleJetTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-#from EventShapeTools.EventDensityConfig import configEventShapeCopierAlg
-#topSequence += configEventShapeCopierAlg("LCTopo")
-
-include ( "JetMissingEtTagTools/JetTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import ParticleJetTagBuilder
-ParticleJetTagBuilder      = ParticleJetTagBuilder(
-     name                  = "ParticleJetTagBuilder",
-     JetMissingEtTagTool   = JetMissingEtTagTool,
-     AttributeList         = EventTagGlobal.AttributeList,
-     MaxNumber             = 10,
-     CheckAttribute        = True)
-topSequence += ParticleJetTagBuilder
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/share/PhotonTagBuilder_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagAlgs/share/PhotonTagBuilder_jobOptions.py
deleted file mode 100755
index bdcb519d1cb429d8045da4997321669ab1e71dd4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/share/PhotonTagBuilder_jobOptions.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from EventTagAlgs.EventTagGlobal import EventTagGlobal
-
-if not EventTagGlobal.InitEventTagBuilder:
-    raise RunTimeError('EventTagBuilder has not been initialized')
-
-include ( "ElectronPhotonTagTools/PhotonTagTool_jobOptions.py" )
-
-from EventTagAlgs.EventTagAlgsConf import PhotonTagBuilder
-PhotonTagBuilder   = PhotonTagBuilder(
-    name           = "PhotonTagBuilder",
-    PhotonTagTool  = PhotonTagTool,
-    AttributeList  = EventTagGlobal.AttributeList,
-    MaxNumber      = 4,
-    CheckAttribute = True)
-topSequence += PhotonTagBuilder
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.cxx
deleted file mode 100755
index b46f1cc942a2352e0d5d619c0da77d560d37f79b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.cxx
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "AnalysisTagBuilder.h"
-
-#include "TagEvent/EgammaAttributeNames.h"
-#include "TagEvent/JetMissingEtIdentificationAttributeNames.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include "GaudiKernel/MsgStream.h"
-
-#include <sstream>
-
-AnalysisTagBuilder::AnalysisTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(), 
-    m_jetMissingEtTagTool("JetMissingEtIdentificationTagTool", this){
-
-  declareProperty("JetMissingEtIdentificationTagTool", m_jetMissingEtTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("NumJetMissinEt", m_nJetMissingEt = 1);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-
-AnalysisTagBuilder::~AnalysisTagBuilder() 
-{}
-
-
-StatusCode AnalysisTagBuilder::initialize() {
-  ATH_MSG_DEBUG( "Initializing " << name()  );
-
-  /** get the Analysis Tag Tools */
-  ATH_CHECK( m_jetMissingEtTagTool.retrieve() );
-
-  /** define attributes */ 
-  ATH_MSG_DEBUG( "Defining the attribute list specification."  );
-
-  /** define the attributes for the analysis tags */
-
-  std::map<std::string,AthenaAttributeType> attrMap;
-
-  ATH_CHECK( m_jetMissingEtTagTool->attributeSpecification(attrMap, m_nJetMissingEt) );
-
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool c04 = checkAttribute((*bMap).first, JetMissingEtAttributeNames, JetMissingEt::NjetMetAttr, JetMissingEt::NumJetMissingEtID);
-
-    bool check = c04;
-
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second );
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" 
-                       );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode AnalysisTagBuilder::execute() {
-  ATH_MSG_DEBUG( "Executing " << name()  );
-
-  /** retrieve TagAthenaAttributeList */
-  TagAthenaAttributeList* attribList;  
-  StatusCode sc = evtStore()->retrieve( attribList, m_attributeListName);
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "No attribute list in SG"  );
-    return sc;
-  }
-  
-  /** create an Analysis Tag  and ask the tool to fill it */
-
-
-  /** Jet and MissingEt Word */ 
-  TagFragmentCollection jetMissingEtTag;
-  sc = m_jetMissingEtTagTool->execute( jetMissingEtTag, m_nJetMissingEt );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute JetMissingEtIdentificationTagTool"  );
-  } else fillAttribute(attribList, jetMissingEtTag );
-
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList"  );
-    }
-
-  ATH_MSG_DEBUG( "Finished" << name()  );
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode AnalysisTagBuilder::finalize() 
-{
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.h
deleted file mode 100755
index fa5c0318df47be9c13df56ea9495530ec55576aa..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/AnalysisTagBuilder.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_ANALYSISTAGBUILDER_H
-#define EVENTTAGALGS_ANALYSISTAGBUILDER_H
-
-/**
-   Tag Builder for Analysis specific information such from physics groups
-*/
-
-//#include "GaudiKernel/Algorithm.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h"
-
-class AnalysisTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  AnalysisTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~AnalysisTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
-
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! Analysis Specific tools
-  ToolHandle<JetMissingEtIdentificationTagTool> m_jetMissingEtTagTool;
-
-  //! number analysis words
-  int m_nJetMissingEt;
-
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.cxx
deleted file mode 100755
index d51e3d9d108434d8fdfe692c55ad0ad9ecf8b72e..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.cxx
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "ElectronTagBuilder.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-#include "TagEvent/ElectronAttributeNames.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include <sstream>
-
-ElectronTagBuilder::ElectronTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(),
-    m_electronTagTool("ElectronTagTool", this) {
-  declareProperty("ElectronTagTool", m_electronTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("MaxNumber",     m_MAX_NUMBER = 4);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-ElectronTagBuilder::~ElectronTagBuilder() 
-{}
-
-
-StatusCode ElectronTagBuilder::initialize() {
-  ATH_MSG_DEBUG( "Initializing " << name() );
-
-  ATH_CHECK( m_electronTagTool.retrieve() );
-
-  /** define attributes */
-  ATH_MSG_DEBUG( "Defining the attribute list specification." );
-  
-  std::map<std::string,AthenaAttributeType> attrMap;
-  ATH_CHECK( m_electronTagTool->attributeSpecification(attrMap, m_MAX_NUMBER) );
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool check = checkAttribute((*bMap).first, ElectronAttributeNames, ElectronID::NelecAttr, ElectronID::NumElectron); 
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second );
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode ElectronTagBuilder::execute() 
-{
-  ATH_MSG_DEBUG( "Executing " << name() );
-
-  /** retrieve TagAthenaAttributeList */
-  TagAthenaAttributeList* attribList;  
-  ATH_CHECK( evtStore()->retrieve( attribList, m_attributeListName) );
-
-  /** aggregate the electorn tag fragment */ 
-  TagFragmentCollection electronTagColl;
-  StatusCode sc = m_electronTagTool->execute( electronTagColl, m_MAX_NUMBER );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute ElectronTagToool" );
-  } else fillAttribute(attribList, electronTagColl);
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList" );
-    }
-
-  ATH_MSG_DEBUG( "Finished " << name() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode ElectronTagBuilder::finalize()  {
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.h
deleted file mode 100755
index d9ee806dca79b29787b89696c652c7dd613d00d9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ElectronTagBuilder.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_ELECTRONTAGBUILDER_H
-#define EVENTTAGALGS_ELECTRONTAGBUILDER_H
-
-/**
-   Tag Builder for Electron
-*/
-
-#include "ElectronPhotonTagTools/ElectronTagTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-
-class ElectronTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  ElectronTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~ElectronTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
-  
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! number of particles
-  int m_MAX_NUMBER;
-
-  //! Electron Tag Builder Tool
-  ToolHandle<ElectronTagTool> m_electronTagTool;
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.cxx
deleted file mode 100755
index 41ff6b0a0533476730e5177dc3e75dd5b6b4c98f..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.cxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "MissingETTagBuilder.h"
-
-#include "TagEvent/MissingETAttributeNames.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include <sstream>
-
-MissingETTagBuilder::MissingETTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(),
-    m_jetMissingEtTagTool("JetMissingEtTagTool", this) {
-  declareProperty("JetMissingEtTagTool", m_jetMissingEtTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-
-MissingETTagBuilder::~MissingETTagBuilder() 
-{}
-
-
-StatusCode MissingETTagBuilder::initialize() 
-{
-  ATH_MSG_DEBUG( "Initializing " << name() );
-
-  ATH_CHECK( m_jetMissingEtTagTool.retrieve() );
-
-  /** define attributes */ 
-  ATH_MSG_DEBUG( "Defining the attribute list specification." );
-
-  std::map<std::string,AthenaAttributeType> attrMap;
-  ATH_CHECK(  m_jetMissingEtTagTool->attributeSpecification(attrMap) );
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool check = checkAttribute((*bMap).first, MissingEtAttributeNames, EtMiss::NetAttr, EtMiss::NumMissingEt);
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second );
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode MissingETTagBuilder::execute() {
-  ATH_MSG_DEBUG( "Executing " << name() );
-
-  /** retrieve TagAthenaAttributeList */
-  TagAthenaAttributeList* attribList = nullptr;
-  ATH_CHECK( evtStore()->retrieve( attribList, m_attributeListName) );
-  
-  /** create a MissingEt Tag  and ask the tool to fill it */ 
-  TagFragmentCollection missingEtTag;
-  StatusCode sc = m_jetMissingEtTagTool->execute( missingEtTag );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute JetMissingEtTagTool" );
-  } else fillAttribute(attribList, missingEtTag);
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList" );
-    }
-
-  ATH_MSG_DEBUG( "Finished" << name() );
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode MissingETTagBuilder::finalize() 
-{
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.h
deleted file mode 100755
index b31c1de537de1f4a784086d2b884c37cad802a14..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MissingETTagBuilder.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_MISSINGETTAGBUILDER_H
-#define EVENTTAGALGS_MISSINGETTAGBUILDER_H
-
-/**
-   Tag Builder for MissingET
-*/
-
-#include "JetMissingEtTagTools/JetMissingEtTagTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-
-class MissingETTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  MissingETTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~MissingETTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
-
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! Jet and Missing Tag Tool
-  ToolHandle<JetMetTagTool> m_jetMissingEtTagTool;
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.cxx
deleted file mode 100755
index 4ac4bb3fbbcb951ad4d9136edb6d97f7c146f8cd..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.cxx
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "MuonTagBuilder.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-#include "TagEvent/MuonAttributeNames.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include <sstream>
-
-MuonTagBuilder::MuonTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(),
-    m_muonTagTool("MuonTagTool",this) {
-  declareProperty("MuonTagTool", m_muonTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("MaxNumber",     m_MAX_NUMBER = 4);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-MuonTagBuilder::~MuonTagBuilder() 
-{}
-
-
-StatusCode MuonTagBuilder::initialize() {
-  ATH_MSG_DEBUG( "Initializing " << name() );
-
-  ATH_CHECK( m_muonTagTool.retrieve() );
-
-  /** define attributes */
-  ATH_MSG_DEBUG( "Defining the attribute list specification." );
-
-  std::map<std::string,AthenaAttributeType> attrMap;
-  ATH_CHECK( m_muonTagTool->attributeSpecification(attrMap, m_MAX_NUMBER) );
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool check = checkAttribute((*bMap).first, MuonAttributeNames, MuonTAG::NmuonAttr, MuonTAG::NumMuon);
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second ) ;
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode MuonTagBuilder::execute() {
-  ATH_MSG_DEBUG( "Executing " << name() );
-
-  /** retrieve TagAthenaAttributeList */
-  TagAthenaAttributeList* attribList;  
-  ATH_CHECK( evtStore()->retrieve( attribList, m_attributeListName) );
-  
-  /** clear the MuonTagCollection and ask the tool to fill it */ 
-  TagFragmentCollection muonTagColl;
-  StatusCode sc = m_muonTagTool->execute( muonTagColl, m_MAX_NUMBER );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute MuonTagToool" );
-  } else fillAttribute(attribList, muonTagColl);
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList" );
-    }
-
-  ATH_MSG_DEBUG( "Finished " << name() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode MuonTagBuilder::finalize() 
-{
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.h
deleted file mode 100755
index ab770ea233b8d5eea072ccbcfafa382eac86758e..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/MuonTagBuilder.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_MUONTAGBUILDER_H
-#define EVENTTAGALGS_MUONTAGBUILDER_H
-
-/**
-   Tag Builder for Muon
-*/
-
-#include "MuonTagTools/MuonTagTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-
-class MuonTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  MuonTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~MuonTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
-  
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! number of particles
-  int m_MAX_NUMBER;
-
-  //!  Muon Tag Tool 
-  ToolHandle<MuonTagTool> m_muonTagTool;
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.cxx
deleted file mode 100755
index db5ecce078796dcb289338210656d9892c6f140a..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.cxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "ParticleJetTagBuilder.h"
-
-#include "TagEvent/ParticleJetAttributeNames.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include <sstream>
-
-ParticleJetTagBuilder::ParticleJetTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(),
-    m_jetMissingEtTagTool("JetMissingEtTagTool", this) {
-  declareProperty("JetMissingEtTagTool", m_jetMissingEtTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("MaxNumber",     m_MAX_NUMBER = 6);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-ParticleJetTagBuilder::~ParticleJetTagBuilder() 
-{}
-
-StatusCode ParticleJetTagBuilder::initialize() 
-{
-  ATH_MSG_DEBUG( "Initializing " << name() );
-
-  ATH_CHECK( m_jetMissingEtTagTool.retrieve() );
-
-  /** define attributes */ 
-  ATH_MSG_DEBUG( "Defining the attribute list specification." );
-
-  std::map<std::string,AthenaAttributeType> attrMap;
-  ATH_CHECK(  m_jetMissingEtTagTool->attributeSpecification(attrMap, m_MAX_NUMBER) );
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool check = checkAttribute((*bMap).first, JetAttributeNames, PJet::NjetAttr, PJet::NumJet);
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second );
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode ParticleJetTagBuilder::execute() {
-  ATH_MSG_DEBUG( "Executing " << name() );
-
-  // retrieve TagAthenaAttributeList
-  TagAthenaAttributeList* attribList = nullptr;
-  ATH_CHECK( evtStore()->retrieve( attribList, m_attributeListName) );
-  
-  /** ask the tool to fill particle jet tag collection */ 
-  TagFragmentCollection particleJetTagColl;
-  StatusCode sc = m_jetMissingEtTagTool->execute( particleJetTagColl, m_MAX_NUMBER );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute JetMissingEtTagToool" );
-  } else fillAttribute(attribList, particleJetTagColl);
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList" );
-    }
-
-  ATH_MSG_DEBUG( "Finished" << name() );
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode ParticleJetTagBuilder::finalize() 
-{
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.h
deleted file mode 100755
index 8e2db99b9c4053f7b1017eda2e6b478902281e1c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/ParticleJetTagBuilder.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_PARTICLEJETTAGBUILDER_H
-#define EVENTTAGALGS_PARTICLEJETTAGBUILDER_H
-
-/**
-   Tag Builder for ParticleJet
-*/
-
-#include "JetMissingEtTagTools/JetMissingEtTagTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-
-class ParticleJetTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  ParticleJetTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~ParticleJetTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
-  
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! number of particles
-  int m_MAX_NUMBER;
-
-  //! Jet and Missing Tag Tool
-  ToolHandle<JetMetTagTool> m_jetMissingEtTagTool;
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.cxx
deleted file mode 100755
index 33b963cf6d11f57b68eca98a0f19d97389391b86..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.cxx
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PhotonTagBuilder.h"
-
-#include "TagEvent/TagFragmentCollection.h"
-#include "TagEvent/PhotonAttributeNames.h"
-
-#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
-#include "AthenaPoolUtilities/TagAthenaAttributeList.h"
-
-#include "CLHEP/Units/SystemOfUnits.h"
-
-#include <sstream>
-
-PhotonTagBuilder::PhotonTagBuilder( const std::string& name, ISvcLocator* pSvcLocator ) 
-  : AthAlgorithm(name, pSvcLocator),
-    TagBuilderBase(), 
-  m_photonTagTool("PhotonTagTool", this) {
-  declareProperty("PhotonTagTool", m_photonTagTool);
-  declareProperty("AttributeList", m_attributeListName);
-  declareProperty("MaxNumber",     m_MAX_NUMBER = 4);
-  declareProperty("CheckAttribute", m_check = true);
-}
-
-PhotonTagBuilder::~PhotonTagBuilder() 
-{}
-
-StatusCode PhotonTagBuilder::initialize() {
-  ATH_MSG_DEBUG( "Initializing " << name() );
-
-  ATH_CHECK( m_photonTagTool.retrieve() );
-
-  /** define attributes */
-  ATH_MSG_DEBUG( "Defining the attribute list specification." );
-
-  std::map<std::string,AthenaAttributeType> attrMap;
-  ATH_CHECK( m_photonTagTool->attributeSpecification(attrMap, m_MAX_NUMBER) );
-
-  std::map<std::string,AthenaAttributeType>::iterator bMap = attrMap.begin();
-  std::map<std::string,AthenaAttributeType>::iterator eMap = attrMap.end();
-
-  /** remove un-wanted attributes from the map and fill the attribute list */
-  for (; bMap != eMap; ++bMap) {
-    bool check = checkAttribute((*bMap).first, PhotonAttributeNames, PhotonID::NphotonAttr, PhotonID::NumPhoton);
-    if (check) {
-       //m_attrMap[(*bMap).first] = ((*bMap).second).typeName();
-       addAttribute( (*bMap).first, (*bMap).second );
-    } else {
-      ATH_MSG_WARNING( "Removing " << (*bMap).first << " from the attribute List: not in TAG EDM" );
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode PhotonTagBuilder::execute() {
-  ATH_MSG_DEBUG( "Executing " << name() );
-
-  /** retrieve TagAthenaAttributeList */
-  TagAthenaAttributeList* attribList;  
-  ATH_CHECK( evtStore()->retrieve( attribList, m_attributeListName) );
-
-  /** ask the tool to fill the photon tag fragment */
-  TagFragmentCollection photonTagColl; 
-  StatusCode sc = m_photonTagTool->execute( photonTagColl, m_MAX_NUMBER );
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "Cannot Execute PhotonTagToool" );
-  } else fillAttribute(attribList, photonTagColl);
-
-  /** decrease number of builders */
-  TagBuilderBase::decNumOfBuilder();
-
-  /** if this is the last builder, lock the Attribute List */
-  if (TagBuilderBase::lastBuilder())
-    sc = evtStore()->setConst(attribList);
-
-  if (sc.isFailure())
-    {
-      ATH_MSG_WARNING( "Could not set const to attribList" );
-    }
-
-  ATH_MSG_DEBUG( "Finished " << name() );
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode PhotonTagBuilder::finalize() 
-{
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.h b/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.h
deleted file mode 100755
index 4bc406d3beadf43435d4f6c719624ee2997e5222..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/PhotonTagBuilder.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef EVENTTAGALGS_PHOTONTAGBUILDER_H
-#define EVENTTAGALGS_PHOTONTAGBUILDER_H
-
-/**
-   Tag Builder for Photon
-*/
-
-#include "ElectronPhotonTagTools/PhotonTagTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventTagAlgs/TagBuilderBase.h"
-
-class PhotonTagBuilder : public AthAlgorithm, public TagBuilderBase
-{
-public:
-
-  //! Standard constructor.
-  PhotonTagBuilder(const std::string& name, ISvcLocator* pSvcLocator);
-  
-  //! Destructor.
-  ~PhotonTagBuilder();
-  
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  
-private:
- 
-  //! Attribute list name
-  std::string m_attributeListName;
-
-  //! number of particles
-  int m_MAX_NUMBER;
-
-  //! the photon tag tool
-  ToolHandle<PhotonTagTool> m_photonTagTool;
-};
-
-#endif
diff --git a/PhysicsAnalysis/EventTag/EventTagAlgs/src/components/EventTagBuilder_entries.cxx b/PhysicsAnalysis/EventTag/EventTagAlgs/src/components/EventTagBuilder_entries.cxx
index c996be3f32524c88816c24942a0d04d1df929585..39c9ec2d8c91f521bb6ba9fe9b4256f567d7d0d6 100644
--- a/PhysicsAnalysis/EventTag/EventTagAlgs/src/components/EventTagBuilder_entries.cxx
+++ b/PhysicsAnalysis/EventTag/EventTagAlgs/src/components/EventTagBuilder_entries.cxx
@@ -1,26 +1,12 @@
-#include "../AnalysisTagBuilder.h" 
 #include "../RawInfoSummaryTagBuilder.h"
-#include "../ElectronTagBuilder.h"
 #include "../GlobalEventTagBuilder.h"
 #include "../GlobalTriggerTagBuilder.h"
-#include "../MuonTagBuilder.h"
-#include "../PhotonTagBuilder.h"
-#include "../MissingETTagBuilder.h"
-#include "../ParticleJetTagBuilder.h"
 
 #include "EventTagAlgs/EventSplitter.h"
 
 
-DECLARE_COMPONENT( AnalysisTagBuilder )
 DECLARE_COMPONENT( RawInfoSummaryTagBuilder )
-DECLARE_COMPONENT( ElectronTagBuilder )
 DECLARE_COMPONENT( GlobalEventTagBuilder )
 DECLARE_COMPONENT( GlobalTriggerTagBuilder )
-DECLARE_COMPONENT( MuonTagBuilder )
-DECLARE_COMPONENT( PhotonTagBuilder )
-DECLARE_COMPONENT( ParticleJetTagBuilder )
-DECLARE_COMPONENT( MissingETTagBuilder )
-
 
 DECLARE_COMPONENT( EventSplitter )
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/CMakeLists.txt b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/CMakeLists.txt
deleted file mode 100644
index 883aa2eda34ce67caea8394002244638ce9f26e6..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/CMakeLists.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-################################################################################
-# Package: JetMissingEtTagTools
-################################################################################
-
-# Declare the package name:
-atlas_subdir( JetMissingEtTagTools )
-
-# External dependencies:
-find_package( CLHEP )
-
-# Component(s) in the package:
-atlas_add_library( JetMissingEtTagToolsLib
-                   src/*.cxx
-                   PUBLIC_HEADERS JetMissingEtTagTools
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities xAODJet GaudiKernel TagEvent AnalysisUtilsLib JetSelectorToolsLib FTagAnalysisInterfacesLib JetCalibToolsLib METUtilitiesLib
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AthContainers xAODCore xAODMissingET xAODParticleEvent JetUtils METInterface)
-
-atlas_add_component( JetMissingEtTagTools
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaBaseComps AthenaPoolUtilities xAODJet GaudiKernel TagEvent AthContainers xAODCore xAODMissingET xAODParticleEvent AnalysisUtilsLib JetSelectorToolsLib JetUtils JetMissingEtTagToolsLib )
-
-# Install files from the package:
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h
deleted file mode 100755
index c1fdb9a24febc75414c25094ba43e33cf3244ffa..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef JETMISSINGETIDENTIFICATIONTAGTOOL_H 
-#define JETMISSINGETIDENTIFICATIONTAGTOOL_H 
-
-/*****************************************************************************
-Name    : JetMissingEtIdentificationTagTool.h
-Package : offline/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools
-Purpose : build the JetMissingEtIdentification Tag object - AnalysisTag.h. 
-	  The JetMissingEtIdentification Analysis Tag fragment is built here
-          Jet identification method and MissingEt Calculation detailed information 
-          can be encoded in this word
-*****************************************************************************/
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgTool.h"
-//#include "StoreGate/StoreGateSvc.h"
-#include "TagEvent/TagFragmentCollection.h"
- #include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-
-/** Interface ID for JetMissingEtIdentificationTagTool*/  
-static const InterfaceID IID_JetMissingEtIdentificationTagTool("JetMissingEtIdentificationTagTool", 1, 0);
-class IJetCalibrationTool;
-
-class JetMissingEtIdentificationTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  JetMissingEtIdentificationTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_JetMissingEtIdentificationTagTool; };
-
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int max);
-  virtual StatusCode execute(TagFragmentCollection& jetMissingEtTagCol, const int max);
-  virtual StatusCode finalize();
-
-private:
-   
-   /** Properties */
-   std::string m_jetContainerName;
-   std::string m_missingEtObjectName;
-   double m_badjetPtCut;
-   bool   m_useEMScale; //Emergency fix for HI (W.L, 22.11.2010)
-   /** Event Store */
-   
-};
-
-#endif // JETMISSINGETIDENTIFICATIONTAGTOOL_H
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtTagTool.h b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtTagTool.h
deleted file mode 100755
index 3439d350d43ce576955ac692f904917ad785f559..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/JetMissingEtTagTools/JetMissingEtTagTool.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef JETMISSINGETTAGTOOL_H 
-#define JETMISSINGETTAGTOOL_H 
-
-/*****************************************************************************
-Name    : JetMissingEtTagTool.h
-Package : offline/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools
-Purpose : build the JetMissingEt Tag objects - ParticleJetTagCollection.h and MissingEtTag.h 
-	  The JetMissingEt Tag fragments are built here
-*****************************************************************************/
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "xAODJet/JetContainer.h"
-#include "FTagAnalysisInterfaces/IBTaggingSelectionTool.h"
-
-#include <map>
-
-// forward declaration
-class IJetCalibrationTool;
-class IJetUpdateJvt;
-class IMETMaker;
-
-class JetMetTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  JetMetTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { 
-    static const InterfaceID IID_JetMetTagTool("JetMetTagTool", 1, 0);
-
-    return IID_JetMetTagTool; };
-
-  /** Overriding initialize, finalize */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap);
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int max);
-  virtual StatusCode execute(TagFragmentCollection& missingEtTag);
-  virtual StatusCode execute(TagFragmentCollection& jetTagCol, const int max);
-  virtual StatusCode finalize();
-  
-  //   Standard destructor
-  virtual ~JetMetTagTool( );
-
-private:
-  
-  /**Calibrate and record a shallow copy of a given jet container */
-  const xAOD::JetContainer* calibrateAndRecordShallowCopyJetCollection(const xAOD::JetContainer * jetContainer);
-
-  /**recompute MET*/
-  StatusCode recomputeMissingEt();
-
-
-  /** Jet calibration tool handle */
-  ToolHandle<IJetCalibrationTool>        m_jetCalibrationTool;
-  ToolHandle<IJetUpdateJvt>              m_jetJVTUpdateTool;
-  ToolHandle<IMETMaker>                  m_metmaker;
-  ToolHandle<IBTaggingSelectionTool>     m_FixedCutBEff_60,m_FixedCutBEff_70,m_FixedCutBEff_85,
-                                         m_FlatBEff_60,m_FlatBEff_70,m_FlatBEff_77;
-
-  /** Properties */
-  std::string m_containerName;
-  std::string m_jetCalibcontainerName;
-  std::string m_jetCalibcontainerName_skim;
-  std::string m_ElectronsContainer_skim;
-  std::string m_PhotonsContainer_skim;
-  std::string m_TausContainer_skim;
-  std::string m_MuonsContainer_skim;
-  std::string m_METCoreName;
-  std::string m_METMapName;
-  std::string m_metContainerName;
-  std::string m_metRefFinalName;
-  std::string m_metRefJetName;
-  std::string m_metMuonsName;
-  std::string m_metSoftClusName;
-  std::string m_metRefTauName;
-  std::string m_metRefEleName;
-  std::string m_metRefGammaName;
-  std::string m_metPVSoftTrkName;
-  std::string m_metFinalTrkName;
-  
-  double m_jetPtCut;
-  double m_jetPtCut_skim;
-  bool   m_useEMScale; //Emergency fix for HI (W.L, 22.11.2010)
-  bool   m_isSimulation;
-  bool   m_doJVT;
-
-  /** the attribute names */
-  std::vector<std::string> m_ptStr;
-  std::vector<std::string> m_etaStr;
-  std::vector<std::string> m_phiStr;
-  std::vector<std::string> m_pidStr;
-  std::vector<std::string> m_eStr;
-
-
- };
-
-#endif // JETMISSINGETTAGTOOL_H
-
-
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/doc/packagedoc.h b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/doc/packagedoc.h
deleted file mode 100644
index c4a74831d9959dc729dc4d31560dca990d996033..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/doc/packagedoc.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@page JetMissingEtTagTools_page JetMissingEtTagTools
-
-@section JetMissingEtTagTools_introductionJetMissingEtTagTools Introduction
-This package contains the alg tools for building the tag fragments for ParticleJet, MissingET and their 
-identification process.
-
-@section JetMissingEtTagTools_packagecontentJetMissingEtTagTools Package Contents
-JetMissingEtTagTools contains the following tools:
-
-- JetMissingEtIdentificationTagTool ... tool for ParticleJet and MissingET identification TAG fragment
-- JetMissingEtTagTool ... tool for ParticleJet and MissingET TAG fragments
-
-- for questions and comments: ketevi@bnl.gov
-
-
-
-*/
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetMissingEtIdentificationTagTool_jobOptions.py b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetMissingEtIdentificationTagTool_jobOptions.py
deleted file mode 100755
index 92561e84c1a52481b1ba35c742009d2e2a666734..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetMissingEtIdentificationTagTool_jobOptions.py
+++ /dev/null
@@ -1,13 +0,0 @@
-include.block ("JetMissingEtTagTools/JetMissingEtTagTool_jobOptions.py")
-
-########### Jet and MissingET Tag options ################
-
-from JetMissingEtTagTools.JetMissingEtTagToolsConf import \
-JetMissingEtIdentificationTagTool as ConfiguredJetIdTagTool
-JetMissingEtIdentificationTagTool = ConfiguredJetIdTagTool(
-     JetContainer    = "AntiKt4TopoJets_TAGcalibskim",
-     BadEtCut        = 20.0*GeV,
-     UseEMScale      = False,
-     MissingEtObject = "MET_RefFinal")
-
-ToolSvc += JetMissingEtIdentificationTagTool
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetTagTool_jobOptions.py b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetTagTool_jobOptions.py
deleted file mode 100755
index 5e698ecbaadee264ec37312c68866b157cf74950..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/JetTagTool_jobOptions.py
+++ /dev/null
@@ -1,152 +0,0 @@
-include.block ("JetMissingEtTagTools/JetTagTool_jobOptions.py")
-
-#====================================================================
-# Check if we have Monte Carlo or real data, based on the inputFileSummary
-#====================================================================
-inputIsSimulation = False
-if inputFileSummary.has_key("evt_type"):
-	eventTypeList = inputFileSummary.get("evt_type")
-	if eventTypeList.__contains__("IS_SIMULATION") :
-		print "Detected that the input file is a simulated dataset"
-		inputIsSimulation = True
-	else:
-		print "Detected that the input file is real data"
-		pass
-
-calibseq = "JetArea_Residual_EtaJES_GSC"
-evs = "Kt4EMTopoOriginEventShape"
-isdata = False
-# options for data
-if not inputIsSimulation:
-	calibseq += "_Insitu"
-	isdata = True
-
-# override for cosmics where neither PVs nor track moments are available
-from AthenaCommon.BeamFlags import jobproperties
-if jobproperties.Beam.beamType == 'cosmics':
-	print "Working on a cosmics file, use alternate JetCalib config"
-	calibseq = "JetArea_EtaJES"
-	evs = "Kt4EMTopoEventShape"
-
-JetCalibTool = CfgMgr.JetCalibrationTool("JetCalib",
-					 JetCollection = "AntiKt4EMTopo",
-					 ConfigFile    = "JES_data2016_data2015_Recommendation_Dec2016.config",
-					 CalibSequence = calibseq,
-					 IsData = isdata,
-					 RhoKey=evs
-					 )
-
-ToolSvc += JetCalibTool
-
-JetVertexTaggerTool = CfgMgr.JetVertexTaggerTool('JVT')
-ToolSvc += JetVertexTaggerTool
-
-METMakerTool = CfgMgr.met__METMaker('METMaker',
-				    DoRemoveMuonJets    = True,
-				    DoSetMuonJetEMScale = True,
-				    JetJvtMomentName    = 'Jvt',
-				    CustomJetJvtCut     = 0.59,
-				    CustomJetJvtPtMax   = 60e3
-				    )
-ToolSvc += METMakerTool
-
-FlvTagCutDefinitionsFileName = "xAODBTaggingEfficiency/13TeV/2017-21-13TeV-MC16-CDI-2018-06-24_v1.root"
-MaxEta         = 2.5
-MinPt          = 20000.
-JetAuthor      = "AntiKt4EMTopoJets"
-TaggerName     = "MV2c10"
-
-BTagTool_FixedCutBEff_60 = CfgMgr.BTaggingSelectionTool('FixedCutBEff_60',
-							MaxEta         = MaxEta,
-							MinPt          = MinPt,
-							JetAuthor      = JetAuthor,
-							TaggerName     = TaggerName,
-							FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-							OperatingPoint = "FixedCutBEff_60")
-ToolSvc += BTagTool_FixedCutBEff_60
-
-BTagTool_FixedCutBEff_70 = CfgMgr.BTaggingSelectionTool('FixedCutBEff_70',
-							MaxEta         = MaxEta,
-							MinPt          = MinPt,
-							JetAuthor      = JetAuthor,
-							TaggerName     = TaggerName,
-							FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-							OperatingPoint = "FixedCutBEff_70")
-ToolSvc += BTagTool_FixedCutBEff_70
-
-BTagTool_FixedCutBEff_85 = CfgMgr.BTaggingSelectionTool('FixedCutBEff_85',
-							MaxEta         = MaxEta,
-							MinPt          = MinPt,
-							JetAuthor      = JetAuthor,
-							TaggerName     = TaggerName,
-							FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-							OperatingPoint = "FixedCutBEff_85")
-ToolSvc += BTagTool_FixedCutBEff_85
-
-#FlvTagCutDefinitionsFileName = "xAODBTaggingEfficiency/13TeV/2015-PreRecomm-13TeV-MC12-CDI-October23_v1.root"
-#BTagTool_FlatBEff_60 = CfgMgr.BTaggingSelectionTool('FlatBEff_60',
-#						    MaxEta         = MaxEta,
-#						    MinPt          = MinPt,
-#						    JetAuthor      = JetAuthor,
-#						    TaggerName     = TaggerName,
-#						    FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-#						    OperatingPoint = "FlatBEff_60")
-#ToolSvc += BTagTool_FlatBEff_60
-#
-#BTagTool_FlatBEff_70 = CfgMgr.BTaggingSelectionTool('FlatBEff_70',
-#						    MaxEta         = MaxEta,
-#						    MinPt          = MinPt,
-#						    JetAuthor      = JetAuthor,
-#						    TaggerName     = TaggerName,
-#						    FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-#						    OperatingPoint = "FlatBEff_70")
-#ToolSvc += BTagTool_FlatBEff_70
-#
-#BTagTool_FlatBEff_77 = CfgMgr.BTaggingSelectionTool('FlatBEff_77',
-#						    MaxEta         = MaxEta,
-#						    MinPt          = MinPt,
-#						    JetAuthor      = JetAuthor,
-#						    TaggerName     = TaggerName,
-#						    FlvTagCutDefinitionsFileName = FlvTagCutDefinitionsFileName,
-#						    OperatingPoint = "FlatBEff_77")
-#ToolSvc += BTagTool_FlatBEff_77
-
-from JetMissingEtTagTools.JetMissingEtTagToolsConf import JetMetTagTool as ConfiguredJetMissingEtTagTool
-JetMissingEtTagTool=ConfiguredJetMissingEtTagTool(
-	JetCalibrationTool  = JetCalibTool,
-	JetVertexTaggerTool = JetVertexTaggerTool,
-	JetContainer        = "AntiKt4EMTopoJets",
-	EtCut               = 40.0*GeV,
-	EtCutSkim           = 20.0*GeV,
-	UseEMScale          = False,
-	isSimulation        = inputIsSimulation,
-	JetCalibContainer      = "AntiKt4TopoJets_TAGcalib",
-	JetCalibContainerSkim  = "AntiKt4TopoJets_TAGcalibskim",
-	ElectronsContainerSkim = "Electrons_TAG_skim",
-	PhotonsContainerSkim   = "Photons_TAG_skim",
-	TausContainerSkim      = "TauJets_TAG_skim",
-	MuonsContainerSkim     = "Muons_TAG_skim",
-	METMaker               = METMakerTool,
-	METCoreName             = "MET_Core_AntiKt4EMTopo",
-	METMapName            = "METAssoc_AntiKt4EMTopo",
-	METContainer        = "MET_Reference_AntiKt4Topo_TAGcalibskim",
-	METFinalName        = "FinalClus",
-	METJetName          = "RefJet",
-	METMuonsName        = "Muons",
-	METSoftClusName     = "SoftClus",
-	METRefTauName       = "RefTau",
-	METRefEleName       = "RefEle",
-	METRefGammaName     = "RefGamma",
-	METPVSoftTrkName    = "PVSoftTrk",
-	METFinalTrkName     = "FinalTrk",
-	FixedCutBEff60      = BTagTool_FixedCutBEff_60,
-	FixedCutBEff70      = BTagTool_FixedCutBEff_70,
-	FixedCutBEff85      = BTagTool_FixedCutBEff_85,
-	DoJVT               = jetFlags.useVertices(),
-#	FlatBEff60          = BTagTool_FlatBEff_60,
-#	FlatBEff70          = BTagTool_FlatBEff_70,
-#	FlatBEff77          = BTagTool_FlatBEff_77
-	#OutputLevel = 2,
-	)
-
-ToolSvc += JetMissingEtTagTool
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/MissingETTagTool_jobOptions.py b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/MissingETTagTool_jobOptions.py
deleted file mode 100755
index 0cf0ef8b19e214146e83d4de88279d2be38f4e5c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/share/MissingETTagTool_jobOptions.py
+++ /dev/null
@@ -1,8 +0,0 @@
-include.block ("JetMissingEtTagTools/MissingETTagTool_jobOptions.py")
-
-
-########### MissingET tag options ################
-
-from JetMissingEtTagTools.JetMissingEtTagToolsConf import JetMetTagTool as ConfiguredMissingEtTool
-JetMissingEtTagTool = ConfiguredMissingEtTool()
-ToolSvc += JetMissingEtTagTool
\ No newline at end of file
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtIdentificationTagTool.cxx b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtIdentificationTagTool.cxx
deleted file mode 100755
index 965d9640474044f9ce6510da36287cef7d07a08d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtIdentificationTagTool.cxx
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : JetMissingEtIdentificationTagTool.cxx
-Package : offline/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools
-Purpose : create a JetMissingEtIdentificationTag - word to encode Jet and 
-          Mising Et specific information
-*****************************************************************************/
-
-#include "GaudiKernel/MsgStream.h"
-#include "Gaudi/Property.h"
-#include "CLHEP/Units/SystemOfUnits.h"
-
-#include "xAODJet/JetContainer.h"
-#include "xAODCore/ShallowCopy.h"
-
-#include "JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h"
-#include "TagEvent/JetMissingEtIdentificationAttributeNames.h"
-#include "AnalysisUtils/AnalysisMisc.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-
-#include "JetMissingEtTagTools/JetMissingEtTagTool.h"
-
-// define some global/static selectors
-// looseBadTool, tightBadTool and isUglyTool are defined here
-#include "JetSelectorDefs.h"
-
-#include <vector>
-/** the constructor */
-JetMissingEtIdentificationTagTool::JetMissingEtIdentificationTagTool (const std::string& type, const std::string& name, 
-    const IInterface* parent) : 
-
-  AthAlgTool( type, name, parent ){
-
-  /** AOD Container Names */
-  declareProperty("JetContainer",    m_jetContainerName    = "AntiKt4TopoJets_TAGcalibskim");
-  declareProperty("MissingEtObject", m_missingEtObjectName = "MET_RefFinal");
-
-  /** Pt cut on jte - modifiable in job options */
-  declareProperty("BadEtCut",        m_badjetPtCut = 20.0*CLHEP::GeV);
-
-  /** use EM scale instead of calibrated scale */
-  declareProperty("UseEMScale",      m_useEMScale=false);
-
-  declareInterface<JetMissingEtIdentificationTagTool>( this );
-}
-
-/** initialization - called once at the begginning */
-StatusCode  JetMissingEtIdentificationTagTool::initialize() {
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in intialize()" << endmsg;
-
-
-  CHECK(initJetSelectors());
-
-  return StatusCode::SUCCESS;
-}
-
-/** build the attribute list - called in initialize */
-StatusCode JetMissingEtIdentificationTagTool::attributeSpecification(
-           std::map<std::string,AthenaAttributeType>& attrMap, const int max) {
-
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in attributeSpecification()" << endmsg;
-
-  /** specify the Jet and MissingET the attributes */
-
-  attrMap[ JetMissingEtAttributeNames[0] ] = AthenaAttributeType("unsigned int", JetMissingEtAttributeUnitNames[0], JetMissingEtAttributeGroupNames[0]);
-
-  /** add more stuff if necessary */
-  for (int i=0; i<max; ++i) {}
-
-  return StatusCode::SUCCESS;
-}
-
-/** execute - called on every event */
-StatusCode JetMissingEtIdentificationTagTool::execute(TagFragmentCollection& jetMissingEtTagCol, 
-                                                      const int /*max*/) {
-  ATH_MSG_DEBUG("in execute()" );
-
-  /** fill the Jet and MissingET analysis tag */
-  
-  const xAOD::JetContainer * jetContainer=0;
-  StatusCode sc = evtStore()->retrieve( jetContainer, m_jetContainerName);
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "No AOD Jet container ("<<m_jetContainerName<<") found in SG" );
-    return StatusCode::SUCCESS;
-  }
-  ATH_MSG_DEBUG("AOD Jet container ("<<m_jetContainerName<<") successfully retrieved" );
-
-  // determine jet scale to use
-  xAOD::JetScale scale = m_useEMScale ? xAOD::JetEMScaleMomentum : xAOD::JetAssignedScaleMomentum ;
-
-  unsigned int AnyBadJet = 0x0;
-
-  /** select and store jets that pass selection cuts into 'selecteJets' vector */
-  for ( auto *calibratedJet : *jetContainer ) {
-
-    const xAOD::JetFourMom_t &jetP4 = calibratedJet->jetP4(scale);
-
-    /** select and store Jets */
-    double pt = jetP4.Pt();
-
-    ATH_MSG_DEBUG( " Before touching signal state:" << pt );
-    if ( pt < m_badjetPtCut ) continue;
-
-    if (!isUglyTool->accept(*calibratedJet))                 AnyBadJet |= 1<<0;
-    if (!looseBadTool->accept( *calibratedJet))              AnyBadJet |= 1<<2;
-    if (!tightBadTool->accept( *calibratedJet))              AnyBadJet |= 1<<4;
-    
-  }
-
-  jetMissingEtTagCol.insert( JetMissingEtAttributeNames[0], AnyBadJet);
-
-  return StatusCode::SUCCESS;
-}
-
-
-/** finialize - called once at the end */
-StatusCode JetMissingEtIdentificationTagTool::finalize() {
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in finalize()" << endmsg;
-  return StatusCode::SUCCESS;
-}
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx
deleted file mode 100755
index 42b609192924f0c8e76df7788d74db1970b102f7..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx
+++ /dev/null
@@ -1,823 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : JetMissingEtTagTool.cxx
-Package : offline/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools
-Purpose : create a collection of JetMissingEtJetTag
-*****************************************************************************/
-#include "JetMissingEtTagTools/JetMissingEtTagTool.h"
-
-#include "CLHEP/Units/SystemOfUnits.h"
-
-#include "AthContainers/ConstDataVector.h"
-#include "xAODCore/ShallowCopy.h"
-#include "xAODParticleEvent/IParticleLink.h"
-#include "xAODJet/JetContainer.h"
-#include "xAODJet/JetAuxContainer.h"
-#include "JetUtils/JetCaloQualityUtils.h"
-
-#include "xAODEgamma/ElectronContainer.h"
-#include "xAODEgamma/PhotonContainer.h"
-#include "xAODMuon/MuonContainer.h"
-#include "xAODTau/TauJetContainer.h"
-#include "xAODBTagging/BTaggingContainer.h"
-#include "xAODBTagging/BTaggingUtilities.h" 
-
-#include "xAODMissingET/MissingET.h"
-#include "xAODMissingET/MissingETContainer.h"
-#include "xAODMissingET/MissingETAuxContainer.h"
-#include "xAODMissingET/MissingETComposition.h"
-#include "xAODMissingET/MissingETAssociationHelper.h"
-#include "xAODMissingET/MissingETAssociationMap.h"
-
-#include "TagEvent/MissingETAttributeNames.h"
-#include "TagEvent/ParticleJetAttributeNames.h"
-
-// JetCalibTools includes
-#include "JetCalibTools/JetCalibrationTool.h"
-
-// JetInterface includes
-#include "JetInterface/IJetUpdateJvt.h"
-#include "METInterface/IMETMaker.h"
-
-#include "METUtilities/METHelpers.h"
-#include "AnalysisUtils/AnalysisMisc.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-
-#include <sstream>
-#include <vector>
-
-// define some global/static selectors
-// veryLooseBadTool, looseBadTool, etc... are defined here
-#include "JetSelectorDefs.h"
-
-/** the constructor */
-JetMetTagTool::JetMetTagTool (const std::string& type, const std::string& name,
-                                          const IInterface* parent) :
-  AthAlgTool( type, name, parent ),
-  m_jetCalibrationTool(""), m_jetJVTUpdateTool("") {
-
-  /** JetMissingEt tools */
-  declareProperty("JetCalibrationTool",    m_jetCalibrationTool);
-  declareProperty("JetVertexTaggerTool",   m_jetJVTUpdateTool);
-  /** MET maker tool */
-  declareProperty( "METMaker",             m_metmaker);
-
-  /** B-tagging tools */
-  declareProperty( "FixedCutBEff60",       m_FixedCutBEff_60);
-  declareProperty( "FixedCutBEff70",       m_FixedCutBEff_70);
-  declareProperty( "FixedCutBEff85",       m_FixedCutBEff_85);
-  //  declareProperty( "FlatBEff60",           m_FlatBEff_60);
-  //  declareProperty( "FlatBEff70",           m_FlatBEff_70);
-  //  declareProperty( "FlatBEff77",           m_FlatBEff_77);
-
-  /** JetMissingEt AOD Container Name */
-  declareProperty("JetContainer",          m_containerName           = "AntiKt4EMTopo");
-  declareProperty("JetCalibContainer",     m_jetCalibcontainerName   = "AntiKt4TopoJets_TAGcalib");
-
-  /** selection cut of Pt */
-  declareProperty("EtCut",                 m_jetPtCut                = 40.0*CLHEP::GeV);
-  declareProperty("EtCutSkim",             m_jetPtCut_skim           = 20.0*CLHEP::GeV);
-
-  declareProperty("UseEMScale",            m_useEMScale              = false);
-  declareProperty("isSimulation",          m_isSimulation            = false);
-
-  /** Have to toggle off in cosmics */
-  declareProperty("DoJVT",                 m_doJVT                   = true);
-
-  /** MET input with skims */
-  declareProperty("JetCalibContainerSkim", m_jetCalibcontainerName_skim = "AntiKt4TopoJets_TAGcalibskim");
-  declareProperty("ElectronsContainerSkim",m_ElectronsContainer_skim);
-  declareProperty("PhotonsContainerSkim",  m_PhotonsContainer_skim);
-  declareProperty("TausContainerSkim",     m_TausContainer_skim);
-  declareProperty("MuonsContainerSkim",    m_MuonsContainer_skim);
-  declareProperty("METMapName",            m_METMapName);
-  declareProperty("METCoreName",           m_METCoreName);
-
-  /** MET with skims */
-  declareProperty("METContainer",          m_metContainerName        = "MET_Reference_AntiKt4Topo_TAGcalibskim");
-  declareProperty("METFinalName",          m_metRefFinalName         = "FinalClus");
-  declareProperty("METJetName",            m_metRefJetName           = "RefJet");
-  declareProperty("METMuonsName",          m_metMuonsName            = "Muons");
-  declareProperty("METSoftClusName",       m_metSoftClusName         = "SoftClus");
-  declareProperty("METRefTauName",         m_metRefTauName           = "RefTau");
-  declareProperty("METRefEleName",         m_metRefEleName           = "RefEle");
-  declareProperty("METRefGammaName",       m_metRefGammaName         = "RefGamma");
-  declareProperty("METPVSoftTrkName",      m_metPVSoftTrkName        = "PVSoftTrk");
-  declareProperty("METFinalTrkName",       m_metFinalTrkName         = "FinalTrk");
-
-  declareInterface<JetMetTagTool>( this );
-}
-
-/** initialization - called once at the begginning */
-StatusCode  JetMetTagTool::initialize() {
-  ATH_MSG_DEBUG(  "in intialize()" );
-
-  // retrieve the jet calibration tool
-  CHECK(m_jetCalibrationTool.retrieve());
-
-  // retrieve the JVT update tool
-  CHECK(m_jetJVTUpdateTool.retrieve());
-
-  // MET maker tool
-  CHECK(m_metmaker.retrieve());
-
-  // B-tagging tools
-  CHECK(m_FixedCutBEff_60.retrieve());
-  CHECK(m_FixedCutBEff_70.retrieve());
-  CHECK(m_FixedCutBEff_85.retrieve());
-  //  CHECK(m_FlatBEff_60.retrieve());
-  //  CHECK(m_FlatBEff_70.retrieve());
-  //  CHECK(m_FlatBEff_77.retrieve());
-
-  // init selectors as defined in JetSelectorDefs.h
-  CHECK(initJetSelectors());
-
-  return StatusCode::SUCCESS;
-}
-
-/** build the attribute list - called in initialize */
-StatusCode JetMetTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap) {
-
-  ATH_MSG_DEBUG(  "in attributeSpecification() for missingET" );
-
-  /** MissingET Ref_final attributes */
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefFinalX] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefFinalX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefFinalX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefFinalY] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefFinalY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefFinalY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::SumET] ]          = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::SumET],
-										   MissingEtAttributeGroupNames[EtMiss::SumET]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_SoftClusX] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_SoftClusX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_SoftClusX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_SoftClusY] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_SoftClusY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_SoftClusY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefJetX] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefJetX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefJetX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefJetY] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefJetY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefJetY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefTauX] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefTauX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefTauX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefTauY] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefTauY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefTauY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_MuonsX] ]     = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_MuonsX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_MuonsX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_MuonsY] ]     = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_MuonsY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_MuonsY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefEleX] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefEleX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefEleX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefEleY] ]    = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefEleY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefEleY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefGammaX] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefGammaX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefGammaX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_RefGammaY] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_RefGammaY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_RefGammaY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_PVSoftTrkX] ] = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_PVSoftTrkX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_PVSoftTrkX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_PVSoftTrkY] ] = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_PVSoftTrkY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_PVSoftTrkY]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_FinalTrkX] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_FinalTrkX],
-										   MissingEtAttributeGroupNames[EtMiss::MET_FinalTrkX]);
-  attrMap[ MissingEtAttributeNames[EtMiss::MET_FinalTrkY] ]  = AthenaAttributeType("float",
-										   MissingEtAttributeUnitNames[EtMiss::MET_FinalTrkY],
-										   MissingEtAttributeGroupNames[EtMiss::MET_FinalTrkY]);
-  return StatusCode::SUCCESS;
-}
-
-/** build the attribute list - called in initialize */
-StatusCode JetMetTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap,
-                                                       const int max) {
-  ATH_MSG_DEBUG(  "in attributeSpecification() for jet" );
-
-  std::ostringstream os;
-
-  /** Jet Attributes */
-  attrMap[ JetAttributeNames[PJet::NJet] ]      = AthenaAttributeType("unsigned int", JetAttributeUnitNames[PJet::NJet],     JetAttributeGroupNames[PJet::NJet]);
-  attrMap[ JetAttributeNames[PJet::JetSumET] ]  = AthenaAttributeType("float",        JetAttributeUnitNames[PJet::JetSumET], JetAttributeGroupNames[PJet::JetSumET]);
-
-  for (int i=1; i<= max; ++i) {
-
-    /** pt */
-    os.str("");
-    os << JetAttributeNames[PJet::Pt] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", JetAttributeUnitNames[PJet::Pt], JetAttributeGroupNames[PJet::Pt]);
-    m_ptStr.push_back( os.str() );
-
-    /** E */
-    os.str("");
-    os << JetAttributeNames[PJet::E] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", JetAttributeUnitNames[PJet::E], JetAttributeGroupNames[PJet::E]);
-    m_eStr.push_back( os.str() );
-
-    /** eta */
-    os.str("");
-    os << JetAttributeNames[PJet::Eta] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", JetAttributeUnitNames[PJet::Eta], JetAttributeGroupNames[PJet::Eta]);
-    m_etaStr.push_back( os.str() );
-
-    /** phi */
-    os.str("");
-    os << JetAttributeNames[PJet::Phi] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", JetAttributeUnitNames[PJet::Phi], JetAttributeGroupNames[PJet::Phi]);
-    m_phiStr.push_back( os.str() );
-
-    /** Jet PID  */
-    os.str("");
-    os << JetAttributeNames[PJet::JetPID] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", JetAttributeUnitNames[PJet::JetPID], JetAttributeGroupNames[PJet::JetPID]);
-    m_pidStr.push_back( os.str() );
-
-  }
-
-  attrMap[ JetAttributeNames[PJet::NpTJet] ]      = AthenaAttributeType("unsigned int",  JetAttributeUnitNames[PJet::NpTJet],  JetAttributeGroupNames[PJet::NpTJet]);
-  attrMap[ JetAttributeNames[PJet::NpTBJet] ]     = AthenaAttributeType("unsigned int",  JetAttributeUnitNames[PJet::NpTBJet],  JetAttributeGroupNames[PJet::NpTBJet]);
-
-  return StatusCode::SUCCESS;
-}
-
-/**Calibrate and record a shallow copy of a given jet container */
-const xAOD::JetContainer* JetMetTagTool::calibrateAndRecordShallowCopyJetCollection(const xAOD::JetContainer * jetContainer) {
-
-  // create a shallow copy of the jet container
-  std::pair< xAOD::JetContainer*, xAOD::ShallowAuxContainer* >  shallowCopy = xAOD::shallowCopyContainer(*jetContainer);
-  xAOD::JetContainer *jetContainerShallowCopy           = shallowCopy.first;
-  xAOD::ShallowAuxContainer *jetAuxContainerShallowCopy = shallowCopy.second;
-
-  if( evtStore()->record(jetContainerShallowCopy, m_jetCalibcontainerName).isFailure() ){
-    ATH_MSG_WARNING("Unable to record JetCalibratedContainer: " << m_jetCalibcontainerName);
-    return 0;
-  }
-  if( evtStore()->record(jetAuxContainerShallowCopy, m_jetCalibcontainerName+"Aux.").isFailure() ){
-    ATH_MSG_WARNING("Unable to record JetCalibratedAuxContainer: " << m_jetCalibcontainerName+"Aux.");
-    return 0;
-  }
-
-  static SG::AuxElement::Accessor< xAOD::IParticleLink > accSetOriginLink ("originalObjectLink");
-  static SG::AuxElement::Decorator< float > decJvt("Jvt");
-
-  if( m_jetCalibrationTool->applyCalibration(*jetContainerShallowCopy).isFailure() ){
-    ATH_MSG_WARNING( "Failed to apply calibration to the jet container");
-    return 0;
-  }
-
-  for ( xAOD::Jet *shallowCopyJet : * jetContainerShallowCopy ) {
-    const xAOD::IParticleLink originLink( *jetContainer, shallowCopyJet->index() );
-    accSetOriginLink(*shallowCopyJet) = originLink;
-
-    if(m_doJVT) {
-      decJvt(*shallowCopyJet) = m_jetJVTUpdateTool->updateJvt(*shallowCopyJet);
-    }
-  }
-
-  if( evtStore()->setConst(jetContainerShallowCopy ).isFailure() ){
-    ATH_MSG_WARNING( "Failed to set jetcalibCollection (" << m_jetCalibcontainerName+"Aux." << ")const in StoreGate!");
-    return 0;
-  }
-  if( evtStore()->setConst(jetAuxContainerShallowCopy ).isFailure() ){
-    ATH_MSG_WARNING( "Failed to set jetcalibCollection (" << m_jetCalibcontainerName+"Aux." << ")const in StoreGate!");
-    return 0;
-  }
-
-  return jetContainerShallowCopy;
-}
-
-/** execute - called on every event for jetTags */
-StatusCode JetMetTagTool::execute(TagFragmentCollection& jetMissingEtTagColl, const int max) {
-
-  ATH_MSG_DEBUG(  "in execute() - jet" );
-
-  static SG::AuxElement::Accessor< xAOD::IParticleLink > accSetOriginLink ("originalObjectLink");
-
-  /** retrieve the AOD Jet container */
-  const xAOD::JetContainer *jetContainer=0;
-  StatusCode sc = evtStore()->retrieve( jetContainer, m_containerName);
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING(  "No AOD Jet container ("<<m_containerName<<") found in SG" );
-    return StatusCode::SUCCESS;
-  }
-  ATH_MSG_DEBUG(  "AOD Jet container ("<<m_containerName<<") successfully retrieved" );
-
-  /** Calibrate and record a shallow copy of the jet container */
-  const xAOD::JetContainer * jetContainerShallowCopy = calibrateAndRecordShallowCopyJetCollection(jetContainer);
-  if(!jetContainerShallowCopy){
-    ATH_MSG_WARNING(  "Unable to create calibrated jet shallow copy container" );
-    return StatusCode::SUCCESS;
-  }
-
-  /** determine jet scale to use */
-  xAOD::JetScale scale = m_useEMScale ? xAOD::JetEMScaleMomentum : xAOD::JetAssignedScaleMomentum ;
-
-  /** create a new copy for MET calculation */
-  ConstDataVector< xAOD::JetContainer >* selectedJets = new ConstDataVector< xAOD::JetContainer >( SG::VIEW_ELEMENTS );
-  ATH_CHECK( evtStore()->record( selectedJets, m_jetCalibcontainerName_skim ) );
-
-  for ( const xAOD::Jet *originalJet : * jetContainerShallowCopy ) {
-
-    const xAOD::JetFourMom_t &jetP4 = originalJet->jetP4(scale);
-
-    /** select and store Jets */
-    double pt = jetP4.Pt();
-
-    bool select = pt > m_jetPtCut_skim;
-
-    if (select) {
-
-      /**
-      //retrieve jvt information
-      bool hasjvt = originalJet->isAvailable<float>("JvtUpdate");
-
-      if (hasjvt) {
-
-	//apply pile up removal selection
-	float jvt = originalJet->auxdata<float>("JvtUpdate");
-	if ( !( originalJet->pt()< 60000. && fabs(originalJet->eta())<2.4 && fabs(jvt) < 0.59 ) ) {
-	  selectedJets->push_back( originalJet );
-	}
-      }
-      */
-
-      /** we do take all jets at this point, JVT cut is done in METmaker */
-      selectedJets->push_back( originalJet );
-
-    }
-  }
-
-  /** vector to store all jets that pass selection cuts */
-  std::vector<const xAOD::Jet *> selectedJetsVector;
-  selectedJetsVector.reserve(jetContainerShallowCopy->size() );
-
-  /** for counting the total energy in jets */
-  float jetSumEt = 0;
-  /** select and store jets that pass selection cuts into 'selectedJets' vector */
-  for ( const xAOD::Jet *calibratedJet : *jetContainerShallowCopy ) {
-
-    const xAOD::JetFourMom_t &jetP4 = calibratedJet->jetP4(scale);
-
-    /** select and store Jets */
-    double pt = jetP4.Pt();
-
-    bool select = ( pt > m_jetPtCut ) && (  looseBadTool->accept( *calibratedJet) );
-
-    if (select) {
-      ATH_MSG_DEBUG(" Selected jet with pt=" << pt);
-
-      /** jet summed Et - to be implemented correctly */
-      jetSumEt += pt;
-
-      selectedJetsVector.push_back(calibratedJet);
-    } else {
-      ATH_MSG_DEBUG( "Did not select jet with pt=" << jetP4.pt() );
-    }
-  }
-
-  /** sort selected jets container by pT */
-  AnalysisUtils::Sort::pT( &selectedJetsVector );
-
-  /** make the selection */
-  int i      = 0;
-  /** for counting different pT jets and b-jets */
-  int ij40   = 0;
-  int ij50   = 0;
-  int ij55   = 0;
-  int ij80   = 0;
-  int ij100  = 0;
-  int iBj40  = 0;
-  int iBj50  = 0;
-  int iBj55  = 0;
-  int iBj80  = 0;
-  int iBj100 = 0;
-
-  for (const xAOD::Jet *selectedJet : selectedJetsVector) {
-
-    ATH_MSG_DEBUG(" Before touching signal state:" << selectedJet->pt());
-    const xAOD::JetFourMom_t &jetP4 = selectedJet->jetP4(scale);
-
-    if (i < max) {
-
-      /** pt */
-      jetMissingEtTagColl.insert(m_ptStr[i], selectedJet->pt());
-
-      /** e */
-      jetMissingEtTagColl.insert(m_eStr[i], selectedJet->e());
-
-      /** eta */
-      jetMissingEtTagColl.insert(m_etaStr[i], selectedJet->eta());
-
-      /** phi */
-      jetMissingEtTagColl.insert(m_phiStr[i], selectedJet->phi());
-
-      /** add PID information */
-      unsigned int pid = 0;
-
-      /** isBadJet */
-      if (!isUglyTool->accept(*selectedJet))
-	pid |= 1 << 0;
-      if (!looseBadTool->accept(*selectedJet))
-	pid |= 1 << 2;
-      if (!tightBadTool->accept(*selectedJet))
-	pid |= 1 << 4;
-
-      /** get JVT */
-      bool hasjvt = selectedJet->isAvailable<float>("Jvt");
-      if (hasjvt) {
-      float jvt = selectedJet->auxdata<float>("Jvt");
-
-	if (fabs(jvt) > 0.2){
-	  pid |= 1 << 6;
-	}
-	if (fabs(jvt) > 0.64){
-	  pid |= 1 << 7;
-	}
-	if (fabs(jvt) > 0.59){
-	  pid |= 1 << 17;
-	}
-      }
-
-      /** get JVF */
-      std::vector<float> jvf_v;
-      bool hasjvf = selectedJet->getAttribute < std::vector<float> > (xAOD::JetAttribute::JVF, jvf_v);
-      if (hasjvf) {
-	double jetVertFrac = -1;
-	if (!jvf_v.empty())
-	  jetVertFrac = jvf_v[0];
-	if (jetVertFrac > 0.0)
-	  pid |= 1 << 8;
-	if (jetVertFrac > 0.5)
-	  pid |= 1 << 9;
-	if (jetVertFrac > 0.75)
-	  pid |= 1 << 10;
-	if (jetVertFrac > 0.9)
-	  pid |= 1 << 11;
-      }
-
-      /** B-tagging using selection tools*/
-
-      /** B-tagging */
-      const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *selectedJet );
-      if ( btag ) {
-	if ( m_FixedCutBEff_60->accept( selectedJet ) ) pid |= 1 << 12; 	 // MV2c20 @ 60%
-	if ( m_FixedCutBEff_70->accept( selectedJet ) ) pid |= 1 << 13; 	 // MV2c20 @ 70%
-	if ( m_FixedCutBEff_85->accept( selectedJet ) ) pid |= 1 << 14; 	 // MV2c20 @ 85%
-	// if ( m_FlatBEff_60->accept( selectedJet ) ) pid |= 1 << 18; 	 // MV2c20 @ flat 60%
-	// if ( m_FlatBEff_70->accept( selectedJet ) ) pid |= 1 << 19; 	 // MV2c20 @ flat 70%
-	// if ( m_FlatBEff_77->accept( selectedJet ) ) pid |= 1 << 20; 	 // MV2c20 @ flat 77%
-      }
-
-      /** isbadCHF */
-      std::vector<float> sumPtTrkvec;
-      selectedJet->getAttribute( xAOD::JetAttribute::SumPtTrkPt500, sumPtTrkvec );
-      float sumpttrk = 0.;
-      if( ! sumPtTrkvec.empty() ) sumpttrk = sumPtTrkvec[0];
-      float chf = sumpttrk/selectedJet->pt();
-
-      if (chf < 0.1) pid |= 1 << 16;
-
-      jetMissingEtTagColl.insert(m_pidStr[i], pid);
-
-    }
-
-    /** count jets |eta|<2.8 with different pT cuts */
-    if (fabs(jetP4.eta()) < 2.8) {
-      if (jetP4.pt() > 40.0 * CLHEP::GeV)
-	ij40++;
-      if (jetP4.pt() > 50.0 * CLHEP::GeV)
-	ij50++;
-      if (jetP4.pt() > 55.0 * CLHEP::GeV)
-	ij55++;
-      if (jetP4.pt() > 80.0 * CLHEP::GeV)
-	ij80++;
-      if (jetP4.pt() > 100.0 * CLHEP::GeV)
-	ij100++;
-
-      const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *selectedJet );
-      if (bool(btag)) {
-	double mvx;
-	btag->MVx_discriminant("MV2c20", mvx);
-	if (fabs(jetP4.eta()) < 2.5 && mvx > -0.046) {
-	  if (jetP4.pt() > 40.0 * CLHEP::GeV)
-	    iBj40++;
-	  if (jetP4.pt() > 50.0 * CLHEP::GeV)
-	    iBj50++;
-	  if (jetP4.pt() > 55.0 * CLHEP::GeV)
-	    iBj55++;
-	  if (jetP4.pt() > 80.0 * CLHEP::GeV)
-	    iBj80++;
-	  if (jetP4.pt() > 100.0 * CLHEP::GeV)
-	    iBj100++;
-	}
-      }
-    }
-
-    /** count the total number of jets */
-    i++;
-  }
-
-  /** insert the number Jet and BJet */
-  jetMissingEtTagColl.insert(JetAttributeNames[PJet::NJet], i);
-  //  jetMissingEtTagColl.insert(JetAttributeNames[PJet::NBJet], nbjet);
-  jetMissingEtTagColl.insert(JetAttributeNames[PJet::JetSumET], jetSumEt);
-
-  /** add the encoded jet and b-tagged jet counting information */
-  jetMissingEtTagColl.insert(JetAttributeNames[PJet::NpTJet], ij40+100*ij50+10000*ij55+1000000*ij80+100000000*ij100);
-  jetMissingEtTagColl.insert(JetAttributeNames[PJet::NpTBJet], iBj40+100*iBj50+10000*iBj55+1000000*iBj80+100000000*iBj100);
-
-  return StatusCode::SUCCESS;
-}
-
-/** recomputeMissingEt - called on every event for missing Et */
-StatusCode JetMetTagTool::recomputeMissingEt() {
-
-  ATH_MSG_DEBUG(  "in recomputeMissingEt() - missing Et" );
-
-  // Create a MissingETContainer with its aux store
-
-  xAOD::MissingETContainer* newMet = new xAOD::MissingETContainer();
-  if( evtStore()->record(newMet, m_metContainerName).isFailure() ) {
-    ATH_MSG_WARNING("Unable to record MissingETContainer: " << m_metContainerName);
-    return StatusCode::SUCCESS;
-  }
-
-  xAOD::MissingETAuxContainer* metAuxCont = new xAOD::MissingETAuxContainer();
-  if( evtStore()->record(metAuxCont, m_metContainerName+"Aux.").isFailure() ) {
-    ATH_MSG_WARNING("Unable to record MissingETAuxContainer: " << m_metContainerName+"Aux.");
-    return StatusCode::SUCCESS;
-  }
-  newMet->setStore(metAuxCont);
-
-  // Settings for MET calculation ***********************************************
-
-  //  std::vector<const xAOD::IParticle*> uniques;
-  //MissingETBase::UsageHandler::Policy objScale = MissingETBase::UsageHandler::PhysicsObject;
-
-  // Retrieve containers and compute MET ****************************************
-
-  /// MET map
-  const xAOD::MissingETAssociationMap* metMap = 0;
-  if( evtStore()->retrieve(metMap, m_METMapName).isFailure() ) {
-    ATH_MSG_WARNING("Unable to retrieve MissingETAssociationMap: " << m_METMapName);
-    return StatusCode::SUCCESS;
-  }
-  xAOD::MissingETAssociationHelper metHelper(metMap);
-
-  /// MET core
-  const xAOD::MissingETContainer* coreMet(0);
-  if( evtStore()->retrieve(coreMet, m_METCoreName).isFailure() ) {
-    ATH_MSG_WARNING("Unable to retrieve MissingETContainer: " << m_METCoreName);
-    return StatusCode::SUCCESS;
-  }
-
-  /// Electrons
-  const xAOD::ElectronContainer* elCont(0);
-  if(!m_ElectronsContainer_skim.empty()) {
-    if( evtStore()->retrieve(elCont, m_ElectronsContainer_skim).isFailure() ) {
-      ATH_MSG_WARNING("Unable to retrieve input electron container: " << m_ElectronsContainer_skim);
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG("Successfully retrieved electron collection");
-
-    // compute MET term
-    //    uniques.clear();
-    if( m_metmaker->rebuildMET("RefEle", xAOD::Type::Electron, newMet,
-			       elCont,
-			       &metHelper).isFailure() ) {
-      ATH_MSG_WARNING("Failed to build electron term.");
-    }
-    //ATH_MSG_DEBUG("Selected " << elCont->size() << " MET electrons. "
-    //    		              << uniques.size() << " are non-overlapping.");
-  }
-
-  /// Photons
-  const xAOD::PhotonContainer* phCont(0);
-  if(!m_PhotonsContainer_skim.empty()) {
-    if( evtStore()->retrieve(phCont, m_PhotonsContainer_skim).isFailure() ) {
-      ATH_MSG_WARNING("Unable to retrieve input photon container: " << m_PhotonsContainer_skim);
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG("Successfully retrieved photon collection");
-
-    // compute MET term
-    //uniques.clear();
-    if( m_metmaker->rebuildMET("RefGamma", xAOD::Type::Photon, newMet,
-			       phCont,
-			       &metHelper).isFailure() ) {
-      ATH_MSG_WARNING("Failed to build photon term.");
-    }
-    //ATH_MSG_DEBUG("Selected " << phCont->size() << " MET photons. "
-    //		              << uniques.size() << " are non-overlapping.");
-  }
-
-  /// Taus
-  const xAOD::TauJetContainer* tauCont(0);
-  if(!m_TausContainer_skim.empty()) {
-    if( evtStore()->retrieve(tauCont, m_TausContainer_skim).isFailure() ) {
-      ATH_MSG_WARNING("Unable to retrieve input tau container: " << m_TausContainer_skim);
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG("Successfully retrieved tau collection");
-
-    // compute MET term
-    //uniques.clear();
-    if( m_metmaker->rebuildMET("RefTau", xAOD::Type::Tau, newMet,
-			       tauCont,
-			       &metHelper).isFailure() ){
-      ATH_MSG_WARNING("Failed to build tau term.");
-    }
-    //ATH_MSG_DEBUG("Selected " << tauCont->size() << " MET taus. "
-    //<< uniques.size() << " are non-overlapping.");
-  }
-
-  /// Muons
-  const xAOD::MuonContainer* muonCont(0);
-  if(!m_MuonsContainer_skim.empty()) {
-    if( evtStore()->retrieve(muonCont, m_MuonsContainer_skim).isFailure() ) {
-      ATH_MSG_WARNING("Unable to retrieve input muon container: " << m_MuonsContainer_skim);
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG("Successfully retrieved muon collection");
-
-    // compute MET term
-    //uniques.clear();
-    if( m_metmaker->rebuildMET("Muons", xAOD::Type::Muon, newMet,
-			       muonCont,
-			       &metHelper).isFailure() ) {
-      ATH_MSG_WARNING("Failed to build muon term.");
-    }
-    //ATH_MSG_DEBUG("Selected " << muonCont->size() << " MET muons. "
-    //<< uniques.size() << " are non-overlapping.");
-  }
-
-  /// Jets
-  const xAOD::JetContainer* jetCont(0);
-  if( evtStore()->retrieve(jetCont, m_jetCalibcontainerName_skim).isFailure() ) {
-    ATH_MSG_WARNING("Unable to retrieve input jet container: " << m_jetCalibcontainerName_skim);
-    return StatusCode::SUCCESS;
-  }
-  ATH_MSG_DEBUG("Successfully retrieved jet collection");
-
-  // compute MET term
-  //uniques.clear();
-  if( m_metmaker->rebuildJetMET("RefJet", m_metSoftClusName, m_metPVSoftTrkName, newMet,
-				jetCont, coreMet, &metHelper, true ).isFailure() ) {
-    ATH_MSG_WARNING("Failed to build jet and soft terms.");
-  }
-  //ATH_MSG_DEBUG("Of " << jetCont->size() << " jets, "
-  //<< uniques.size() << " are non-overlapping.");
-
-  // compute Track soft term
-  MissingETBase::Types::bitmask_t trksource = MissingETBase::Source::Track;
-  if((*newMet)[m_metPVSoftTrkName]) trksource = (*newMet)[m_metPVSoftTrkName]->source();
-  if( met::buildMETSum("FinalTrk", newMet, trksource).isFailure() ){
-    ATH_MSG_WARNING("Building MET FinalTrk sum failed.");
-  }
-
-  // compute cluster soft term
-  MissingETBase::Types::bitmask_t clsource = MissingETBase::Source::LCTopo;
-  if((*newMet)[m_metSoftClusName]) clsource = (*newMet)[m_metSoftClusName]->source();
-  if( met::buildMETSum("FinalClus", newMet, clsource).isFailure() ) {
-    ATH_MSG_WARNING("Building MET FinalClus sum failed.");
-  }
-  return StatusCode::SUCCESS;
-}
-
-/** execute - called on every event for missing Et */
-StatusCode JetMetTagTool::execute(TagFragmentCollection& missingEtTagColl) {
-
-  ATH_MSG_DEBUG(  "in execute() - missing Et" );
-
-  /** Calibrate and record a shallow copy of the jet container */
-  StatusCode sc = recomputeMissingEt();
-  if(sc.isFailure()){
-    ATH_MSG_WARNING(  "Unable to recompute MissingET" );
-    return StatusCode::SUCCESS;
-  }
-
-  const xAOD::MissingETContainer *met(0); //comment out const
-  sc = evtStore()->retrieve( met, m_metContainerName);
-  if (sc.isFailure()) {
-      ATH_MSG_WARNING(  "No recomputed MissingET container found in SG" );
-      return StatusCode::SUCCESS;
-  }
-
-  const xAOD::MissingET* metfinal = (*met)[m_metRefFinalName]; //comment out const
-  if (!metfinal) {
-    ATH_MSG_WARNING(  "No total MissingET object found in container with name " << m_metRefFinalName );
-    return StatusCode::SUCCESS;
-  }
-
-  ATH_MSG_DEBUG(  "MET Final object successfully retrieved " );
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefFinalX], metfinal->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefFinalY], metfinal->mpy());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::SumET], metfinal->sumet());
-
-  const xAOD::MissingET *metSoftTerm = (*met)[m_metSoftClusName];
-  if ( !metSoftTerm ) {
-    ATH_MSG_WARNING(  "No soft MissingET found in container with name " << m_metSoftClusName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_SoftClusX], metSoftTerm->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_SoftClusY], metSoftTerm->mpy());
-
-  const xAOD::MissingET *metRefJet = (*met)[m_metRefJetName];
-  if ( !metRefJet ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metRefJetName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefJetX], metRefJet->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefJetY], metRefJet->mpy());
-
-
-  const xAOD::MissingET *metRefTau = (*met)[m_metRefTauName];
-  if ( !metRefTau ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metRefTauName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefTauX], metRefTau->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefTauY], metRefTau->mpy());
-
-
-  const xAOD::MissingET *metMuons = (*met)[m_metMuonsName];
-  if ( !metMuons ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metMuonsName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_MuonsX], metMuons->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_MuonsY], metMuons->mpy());
-
-
-  const xAOD::MissingET *metRefEle = (*met)[m_metRefEleName];
-  if ( !metRefEle ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metRefEleName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefEleX], metRefEle->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefEleY], metRefEle->mpy());
-
-
-  const xAOD::MissingET *metRefGamma = (*met)[m_metRefGammaName];
-  if ( !metRefGamma ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metRefGammaName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefGammaX], metRefGamma->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_RefGammaY], metRefGamma->mpy());
-
-
-  const xAOD::MissingET *metPVSoftTrk = (*met)[m_metPVSoftTrkName];
-  if ( !metPVSoftTrk ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metPVSoftTrkName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_PVSoftTrkX], metPVSoftTrk->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_PVSoftTrkY], metPVSoftTrk->mpy());
-
-  const xAOD::MissingET *metFinalTrk = (*met)[m_metFinalTrkName];
-  if ( !metFinalTrk ) {
-    ATH_MSG_WARNING(  "No tau MissingET found in container with name " << m_metFinalTrkName );
-    return StatusCode::SUCCESS;
-  }
-
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_FinalTrkX], metFinalTrk->mpx());
-  missingEtTagColl.insert(MissingEtAttributeNames[EtMiss::MET_FinalTrkY], metFinalTrk->mpy());
-
-  return StatusCode::SUCCESS;
-}
-
-/** finialize - called once at the end */
-StatusCode JetMetTagTool::finalize() {
-  ATH_MSG_DEBUG(  "in finalize()" );
-  CHECK(m_jetCalibrationTool.release());
-  return StatusCode::SUCCESS;
-}
-
-/** destructor */
-JetMetTagTool::~JetMetTagTool() {}
-
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetSelectorDefs.h b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetSelectorDefs.h
deleted file mode 100644
index 0106a7b7ed039b663274a38f5f1548beae431718..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetSelectorDefs.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// this file is -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "JetSelectorTools/JetCleaningTool.h"
-#include <memory>
-
-namespace  {
-  std::unique_ptr<JetCleaningTool> looseBadTool;
-  std::unique_ptr<JetCleaningTool> tightBadTool;
-  
-  std::unique_ptr<JetCleaningTool> isUglyTool;
-
-  StatusCode initJetSelector (std::unique_ptr<JetCleaningTool>& ptr,
-                              JetCleaningTool::CleaningLevel level, 
-			      bool doUgly=false)
-  {
-    ptr = std::make_unique<JetCleaningTool> (level,doUgly);
-    return ptr->initialize();
-  }
-
-  StatusCode initJetSelectors(){
-    static bool inited = false;
-    if (inited) return StatusCode::SUCCESS;
-    inited = true;
-
-    if (initJetSelector (looseBadTool,     JetCleaningTool::LooseBad).isFailure())
-      return StatusCode::FAILURE;
-    if (initJetSelector (tightBadTool,     JetCleaningTool::TightBad).isFailure())
-      return StatusCode::FAILURE;
-    if (initJetSelector (isUglyTool,     JetCleaningTool::LooseBad,true).isFailure())
-      return StatusCode::FAILURE;
-    
-    
-    return StatusCode::SUCCESS;
-
-  }
-}
-
diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/components/JetMissingEtTagTools_entries.cxx b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/components/JetMissingEtTagTools_entries.cxx
deleted file mode 100644
index 1bc6454579307053d7701d5c17877947ab0415e8..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/components/JetMissingEtTagTools_entries.cxx
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "JetMissingEtTagTools/JetMissingEtIdentificationTagTool.h"
-#include "JetMissingEtTagTools/JetMissingEtTagTool.h"
-
- 
-DECLARE_COMPONENT( JetMissingEtIdentificationTagTool )
-DECLARE_COMPONENT( JetMetTagTool )
- 
-
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/CMakeLists.txt b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/CMakeLists.txt
deleted file mode 100644
index 264b6ca3a16292955df4e84375b7ece2c0bbbf2d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-# Declare the package name:
-atlas_subdir( JetTaggingTagTools )
-
-# External dependencies:
-find_package( CLHEP )
-
-# Component(s) in the package:
-atlas_add_library( JetTaggingTagToolsLib
-                   src/*.cxx
-                   PUBLIC_HEADERS JetTaggingTagTools
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities TagEvent StoreGateLib
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel JetEvent )
-
-atlas_add_component( JetTaggingTagTools
-                     src/components/*.cxx
-                     LINK_LIBRARIES JetTaggingTagToolsLib )
-
-# Install files from the package:
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/JetTaggingTagTools/JetTaggingTagTool.h b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/JetTaggingTagTools/JetTaggingTagTool.h
deleted file mode 100755
index ae18e901f3ad2b3fe4276bf88598f81aadcad440..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/JetTaggingTagTools/JetTaggingTagTool.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef JETTAGGINGTAGTOOL_H 
-#define JETTAGGINGTAGTOOL_H 
-
-/*****************************************************************************
-Name    : JetTaggingTagTool.h
-Package : offline/PhysicsAnalysis/JetTagging/JetTaggingTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : build the Flavor Tagging Event Tag object - AnalysisTag.h. 
-	  The JetTagging Analysis Tag fragment is built here
-          For example encoding the results of hypotheses on different channels
-*****************************************************************************/
-
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-
-#include <map>
-
-/** Interface ID for JetTaggingTagTool*/  
-static const InterfaceID IID_JetTaggingTagTool("JetTaggingTagTool", 1, 0);
-
-class JetTaggingTagTool : public AthAlgTool {
-
-public:
-  
-  /** Standard Constructor */
-  JetTaggingTagTool(const std::string& type, const std::string& name, const IInterface* 
-parent);
-
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_JetTaggingTagTool; };
-
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int max);
-  virtual StatusCode execute(TagFragmentCollection& tauIdTagCol, const int max);
-  virtual StatusCode finalize();
-
-private:
-
-  /** Properties */
-  std::string m_jetContainerName;
-  double m_jetPtCut;
- };
-
-#endif // JETTAGGINGTAGTOOL_H
-
-
-
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/doc/packagedoc.h b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/doc/packagedoc.h
deleted file mode 100644
index eb00e5284953c26f6068655d7f0a41efc89265f4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/doc/packagedoc.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@page JetTaggingTagTools_page JetTaggingTagTools
-
-@section JetTaggingTagTools_introductionJetTaggingTagTools Introduction
-This package contains the alg tools for building the TAG fragment for the flavor tagging process.
-
-@section JetTaggingTagTools_packagecontentJetTaggingTagTools Package Contents
-JetTaggingTagTools contains the following tools:
-
-- JetTaggingTagTool ... tool for flavor tagging TAG fragment
-
-- for questions and comments: ketevi@bnl.gov
-
-
-
-*/
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/share/JetTaggingTagTool_jobOptions.py b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/share/JetTaggingTagTool_jobOptions.py
deleted file mode 100755
index f0db9b74f31c7d12b90ffaadefc44d67afa7f6ae..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/share/JetTaggingTagTool_jobOptions.py
+++ /dev/null
@@ -1,11 +0,0 @@
-include.block ("JetTaggingTagTools/JetTaggingTagTool_jobOptions.py")
-
-
-########### Flavor tagging analysis tag options ################
-
-from JetTaggingTagTools.JetTaggingTagToolsConf import \
-JetTaggingTagTool as ConfiguredJetTaggingTagTool
-JetTaggingTagTool=ConfiguredJetTaggingTagTool(
-     JetContainer = "AntiKt4TopoJets",
-     EtCut        = 15.0*GeV)
-ToolSvc += JetTaggingTagTool
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/JetTaggingTagTool.cxx b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/JetTaggingTagTool.cxx
deleted file mode 100755
index b06a2c17b81b57633847a4ec329f43e5abcbaa56..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/JetTaggingTagTool.cxx
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : JetTaggingTagTool.cxx
-Package : offline/PhysicsAnalysis/JetTagging/JetTaggingTagTools
-Author  : Ketevi A. Assamagan
-Created : January 2006
-Purpose : create a Flavor Tagging Event Tag - a word to encode Flavor Tagging specific 
-           information, perhaps about different tagging options.
-
-*****************************************************************************/
-
-#include "GaudiKernel/MsgStream.h"
-#include "Gaudi/Property.h"
-#include "CLHEP/Units/SystemOfUnits.h"
-
-#include "StoreGate/StoreGateSvc.h"
-
-#include "JetEvent/JetCollection.h"
-
-#include "JetTaggingTagTools/JetTaggingTagTool.h"
-#include "TagEvent/JetTaggingAttributeNames.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-
-/** the constructor */
-JetTaggingTagTool::JetTaggingTagTool (const std::string& type, const std::string& name, 
-    const IInterface* parent) : 
-    AthAlgTool( type, name, parent ) {
-
-  /** AOD Container Names */
-  declareProperty("JetContainer",    m_jetContainerName = "AntiKt4H1TopoJets");
-
-  /** Pt cut on jte - modifiable in job options */
-  declareProperty("EtCut",        m_jetPtCut = 15.0*CLHEP::GeV);
-  
-  declareInterface<JetTaggingTagTool>( this );
-}
-
-/** initialization - called once at the begginning */
-StatusCode JetTaggingTagTool::initialize() {
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in intialize()" << endmsg;
-
-  return StatusCode::SUCCESS;
-}
-
-/** build the attribute list - called in initialize */
-StatusCode JetTaggingTagTool::attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap,
-                                                     const int max) {
-
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in attributeSpecification()" << endmsg;
-
-  /** specifiy the Jet Tagging the attributes */
-
-  attrMap[ JetTaggingAttributeNames[0] ] = AthenaAttributeType("unsigned int",JetTaggingAttributeUnitNames[0], JetTaggingAttributeGroupNames[0]);
-
-  /** add more stuff if necessary */
-  for (int i=0; i<max; ++i) {}
-
-  return StatusCode::SUCCESS;
-}
-
-/** execute - called on every event */
-StatusCode JetTaggingTagTool::execute(TagFragmentCollection& jetTagCol, const int max) {
-
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in execute()" << endmsg;
-
-  /** fill the JetTagging analysis tag */
-
-  unsigned int fragment = 0x0;
-  jetTagCol.insert( JetTaggingAttributeNames[0], fragment );
-
-  /** add more stuff if necessary */
-  for (int i=0; i<max; ++i) {}
-
-  return StatusCode::SUCCESS;
-}
-
-/** finialize - called once at the end */
-StatusCode JetTaggingTagTool::finalize() {
-  MsgStream mLog(msgSvc(), name());
-  mLog << MSG::DEBUG << "in finalize()" << endmsg;
-  return StatusCode::SUCCESS;
-}
-
-
-
diff --git a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/components/JetTaggingTagTools_entries.cxx b/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/components/JetTaggingTagTools_entries.cxx
deleted file mode 100644
index 88402c0d3fc1913b2f509fbdc86e9d70840e52e4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/JetTagging/JetTaggingTagTools/src/components/JetTaggingTagTools_entries.cxx
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "JetTaggingTagTools/JetTaggingTagTool.h"
-
- 
-DECLARE_COMPONENT( JetTaggingTagTool )
- 
-
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/CMakeLists.txt b/PhysicsAnalysis/MuonID/MuonTagTools/CMakeLists.txt
deleted file mode 100644
index 1cb53e78aa0f8bc53d99266791a2f39341e917d7..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-################################################################################
-# Package: MuonTagTools
-################################################################################
-
-# Declare the package name:
-atlas_subdir( MuonTagTools )
-
-# Component(s) in the package:
-atlas_add_library( MuonTagToolsLib
-                   src/*.cxx
-                   PUBLIC_HEADERS MuonTagTools
-                   LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities xAODEventInfo xAODMuon GaudiKernel TagEvent IsolationSelectionLib MuonSelectorToolsLib AnalysisUtilsLib xAODParticleEvent
-                   PRIVATE_LINK_LIBRARIES AthContainers xAODTracking )
-
-atlas_add_component( MuonTagTools
-                     src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities xAODEventInfo xAODMuon GaudiKernel IsolationSelectionLib TagEvent MuonSelectorToolsLib AthContainers xAODTracking AnalysisUtilsLib MuonTagToolsLib )
-
-# Install files from the package:
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/MuonTagTools/MuonTagTool.h b/PhysicsAnalysis/MuonID/MuonTagTools/MuonTagTools/MuonTagTool.h
deleted file mode 100644
index 0c97709ca80a3229e3067de550a64380e21a9809..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/MuonTagTools/MuonTagTool.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef MUONTAGTOOL_H 
-#define MUONTAGTOOL_H 
-
-/*****************************************************************************
-Name    : MuonTagTool.h
-Package : offline/PhysicsAnalysis/MuonID/MuonTagTools
-Purpose : build the Muon Tag objects - MuonTagCollection.h. 
-	  The Muon Tag fragment is built here
-*****************************************************************************/
-
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "TagEvent/TagFragmentCollection.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "GaudiKernel/ToolHandle.h"
-#include <inttypes.h>
-#include "xAODMuon/MuonContainer.h"
-#include "MuonAnalysisInterfaces/IMuonCalibrationAndSmearingTool.h"
-#include "MuonAnalysisInterfaces/IMuonSelectionTool.h"
-#include "IsolationSelection/IIsolationSelectionTool.h"
-#include "xAODEventInfo/EventInfo.h"
-#include <map>
-
-
-namespace CP {
-  class IIsolationSelectionTool;
-}
-
-/** Interface ID for MuonTagTool*/  
-static const InterfaceID IID_MuonTagTool("MuonTagTool", 1, 0);
-
-class MuonTagTool : public AthAlgTool {
-  
- public:
-  
-  /** Standard Constructor */
-  MuonTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-  
-  /** AlgTool and IAlgTool interface methods */
-  static const InterfaceID& interfaceID( ) { return IID_MuonTagTool; };
-  
-  /** Overriding initialize, finalize and execute */
-  virtual StatusCode initialize();
-  virtual StatusCode attributeSpecification(std::map<std::string,AthenaAttributeType>& attrMap, const int max);
-  virtual StatusCode execute(TagFragmentCollection& muonTagCol, const int max);
-  virtual StatusCode finalize();
-    
- private:
-  
-  inline int bit2int(int b) const { return 1<<b; };
-  
-  /** private function to get impact parameter */
-  void getMuonImpactParameter (const xAOD::Muon*,double& d0, double& z0, double& d0_significance);
-  
-  /** Properties */
-  std::vector<std::string> m_containerNames;
-  std::string m_muon_met_container_name;
-  double m_cut_Pt;
-  double m_DRcut;
-  std::vector<float> m_etconeisocutvalues;
-  std::vector<float> m_etconeisorelcutvalues;
-  std::vector<float> m_ptconeisocutvalues;
-  std::vector<float> m_ptconeisorelcutvalues;
-  double m_maxD0preselection;
-  
-  bool m_cosmics;
-  bool m_doInDet;
-  double m_maxD0tight, m_maxZ0tight, m_maxZ0loose, m_maxD0signLoose, m_maxD0signTight;
-  
-  /** the attribute names */
-  std::vector<std::string> m_ptStr;
-  std::vector<std::string> m_etaStr;
-  std::vector<std::string> m_phiStr;
-  std::vector<std::string> m_tightStr;
-  std::vector<std::string> m_momBalStr;
-  std::vector<std::string> m_nprecLayStr;
-  std::vector<std::string> m_nprecHoleLayStr;
-  std::vector<std::string> m_nphiLayStr;
-  std::vector<std::string> m_isoStr;
-  
-  /** we need to fix the momentum */
-  ToolHandle<CP::IMuonCalibrationAndSmearingTool> m_muon_calibration_tool;
-
-  /** Since release 20.1.6 we use the analysis muon selector tool */
-  ToolHandle<CP::IMuonSelectionTool> m_muon_selection_tool;
-  
-  /** Muon isolation tool */
-  ToolHandle<CP::IIsolationSelectionTool> m_loose_trackonly_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_loose_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_tight_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_gradient_loose_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_gradient_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_tight_trackonly_isolation;
-  ToolHandle<CP::IIsolationSelectionTool> m_fixedcut_loose_isolation;
-
-  /** PV StoreGate key */
-  std::string m_vxCandidate;
-
-  bool m_doIso;
-};
-
-#endif // MUONTAGTOOL_H
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/doc/packagedoc.h b/PhysicsAnalysis/MuonID/MuonTagTools/doc/packagedoc.h
deleted file mode 100644
index 47df12fe7d5ace203c9140e574c9a0d321517196..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/doc/packagedoc.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@page MuonTagTools_page MuonTagTools
-
-@section MuonTagTools_introductionMuonTagTools Introduction
-This package contains the alg tools for building the tag fragments for CombinedMuon and Muon identification.
-
-@section MuonTagTools_packagecontentMuonTagTools Package Contents
-MuonTagTools contains the following tools:
-
-- CombinedMuonTagTool ... tool for Muon identification TAG fragment
-- MuonTagTool ...tool for Muon TAG fragment
-
-- for questions and comments: ketevi@bnl.gov
-
-
-
-*/
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/share/MuonTagTool_jobOptions.py b/PhysicsAnalysis/MuonID/MuonTagTools/share/MuonTagTool_jobOptions.py
deleted file mode 100644
index 0e2c95a541eb48d3d7e166fad872fc083426f2fe..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/share/MuonTagTool_jobOptions.py
+++ /dev/null
@@ -1,80 +0,0 @@
-include.block ("MuonTagTools/MuonTagTool_jobOptions.py")
-
-########### Muon tag options ################
-
-import EventKernel.ParticleDataType
-
-CosmicsCommissioning = False
-theMuonCollection    = [ "Muons" ]
-MuonMETContainerName = "Muons_TAG_skim"
-from AthenaCommon import CfgMgr
-from AthenaCommon.BeamFlags import jobproperties
-
-if jobproperties.Beam.beamType() == 'cosmics' or jobproperties.Beam.beamType() == 'singlebeam':
-   CosmicsCommissioning = True
-   theMuonCollection = [ "MuidMuonCollection" ]
-
-from AthenaCommon.AppMgr import ToolSvc
-
-########### Muon Selection tool ################
-
-from MuonMomentumCorrections.MuonMomentumCorrectionsConf import CP__MuonCalibrationAndSmearingTool
-MuonCorrectionTool = CP__MuonCalibrationAndSmearingTool("MuonCorrectionTool")
-ToolSvc += MuonCorrectionTool        
-
-########### Muon Selection tool ################
-
-from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool
-MuonSelectionTool = CP__MuonSelectionTool("MuonSelectionTool",
-                                          MaxEta = 2.7)
-ToolSvc += MuonSelectionTool        
-
-########### Muon Isolation options ################
-
-from IsolationSelection.IsolationSelectionConf import CP__IsolationSelectionTool
-LooseTrackOnlyIsoTool            = CfgMgr.CP__IsolationSelectionTool( "MuonLooseTrackOnlyIsolationSelectionTool" )
-LooseTrackOnlyIsoTool.MuonWP     = "LooseTrackOnly"
-ToolSvc += LooseTrackOnlyIsoTool
-LooseIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "MuonLooseIsolationSelectionTool" )
-LooseIsoTool.MuonWP              = "Loose"
-ToolSvc += LooseIsoTool
-TightIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "MuonTightIsolationSelectionTool" )
-TightIsoTool.MuonWP              = "Tight"
-ToolSvc += TightIsoTool
-GradientIsoTool                  = CfgMgr.CP__IsolationSelectionTool( "MuonGradientIsolationSelectionTool" )
-GradientIsoTool.MuonWP           = "Gradient"
-ToolSvc += GradientIsoTool
-GradientLooseIsoTool             = CfgMgr.CP__IsolationSelectionTool( "MuonGradientLooseIsolationSelectionTool" )
-GradientLooseIsoTool.MuonWP      = "GradientLoose"
-ToolSvc += GradientLooseIsoTool
-FixedCutTightTrackOnlyIsoTool            = CfgMgr.CP__IsolationSelectionTool( "MuonFixedCutTightTrackOnlyIsolationSelectionTool" )
-FixedCutTightTrackOnlyIsoTool.MuonWP     = "FixedCutTightTrackOnly"
-ToolSvc += FixedCutTightTrackOnlyIsoTool
-FixedCutLooseIsoTool                     = CfgMgr.CP__IsolationSelectionTool( "MuonFixedCutLooseIsolationSelectionTool" )
-FixedCutLooseIsoTool.MuonWP              = "FixedCutLoose"
-ToolSvc += FixedCutLooseIsoTool
-
-from RecExConfig.RecFlags import rec
-from MuonTagTools.MuonTagToolsConf import MuonTagTool as ConfiguredMuonTagTool
-from MuonRecExample.MuonRecFlags import muonRecFlags
-MuonTagTool = ConfiguredMuonTagTool(Container              = theMuonCollection,
-                                    MuonMETContainerName   = MuonMETContainerName,
-                                    PtCut                  = 6.0*GeV,
-                                    EtconeIsoCutValues     = [3.0*GeV, 5.0*GeV],
-                                    PtconeIsoCutValues     = [3.0*GeV, 5.0*GeV],
-                                    EtconeRelIsoCutValues  = [0.15, 0.3],
-                                    PtconeRelIsoCutValues  = [0.15, 0.3],
-                                    isCosmics              = CosmicsCommissioning,
-                                    doInDet                = rec.doInDet(),
-                                    MuonCalibrationTool    = MuonCorrectionTool,
-                                    MuonSelectionTool      = MuonSelectionTool,
-                                    LooseTrackOnlyIsolation= LooseTrackOnlyIsoTool,
-                                    LooseIsolation         = LooseIsoTool      ,
-                                    TightIsolation         = TightIsoTool      ,
-                                    GradientIsolation      = GradientIsoTool   ,
-                                    GradientLooseIsolation = GradientLooseIsoTool,
-                                    FixedCutTightTrackOnlyIsolation= FixedCutTightTrackOnlyIsoTool,
-                                    FixedCutLooseIsolation         = FixedCutLooseIsoTool,
-                                    DoIsolation = muonRecFlags.doMuonIso()
-                                    )
-ToolSvc += MuonTagTool
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/src/MuonTagTool.cxx b/PhysicsAnalysis/MuonID/MuonTagTools/src/MuonTagTool.cxx
deleted file mode 100644
index 4f900025d5cfd81f62444f701eb541607b47c3c4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/src/MuonTagTool.cxx
+++ /dev/null
@@ -1,827 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-/*****************************************************************************
-Name    : MuonTagTool.cxx
-Package : offline/PhysicsAnalysis/MuonID/MuonTagTools
-Purpose : create a collection of MuonTag
-
-*****************************************************************************/
-
-#include "Gaudi/Property.h"
-#include "xAODCore/ShallowCopy.h"
-#include "xAODParticleEvent/IParticleLink.h"
-#include "AthContainers/ConstDataVector.h"
-#include "xAODMuon/MuonContainer.h"
-#include "MuonTagTools/MuonTagTool.h"
-#include "xAODTracking/VertexContainer.h"
-#include "xAODTracking/TrackParticleContainer.h"
-#include "xAODTracking/TrackParticlexAODHelpers.h"
-#include "TagEvent/MuonAttributeNames.h"
-#include "AnalysisUtils/AnalysisMisc.h"
-#include "AthenaPoolUtilities/AthenaAttributeSpecification.h"
-#include "xAODEventInfo/EventInfo.h"
-#include <sstream>
-#include <cmath>
-
-
-/** the constructor */
-MuonTagTool::MuonTagTool (const std::string& type, const std::string& name, 
-                          const IInterface* parent) : 
-  AthAlgTool( type, name, parent ),
-  /**Initializing private member for the likelihood and isolation tool*/
-  m_loose_trackonly_isolation(""),
-  m_loose_isolation(""),
-  m_tight_isolation(""),
-  m_gradient_loose_isolation(""),
-  m_gradient_isolation(""),
-  m_fixedcut_tight_trackonly_isolation(""),
-  m_fixedcut_loose_isolation("") {
-  
-  /** Muon AOD Container Name */
-  declareProperty("Container",            m_containerNames);
-
-  /** Muon MET input container name*/
-  declareProperty("MuonMETContainerName", m_muon_met_container_name);
-  
-  /** selection cut of Pt */
-  declareProperty("PtCut",                m_cut_Pt = 6.0*CLHEP::GeV);
-  
-  /** overlap removal deltaR cut */
-  declareProperty("OverlapDeltaRCut",     m_DRcut = 0.01);
-  
-  /** Calo Isolation cut values */
-  declareProperty("EtconeIsoCutValues",   m_etconeisocutvalues, "Cut values for Etcone isolation");
-  
-  /** Calo Isolation cut values */
-  declareProperty("PtconeIsoCutValues",   m_ptconeisocutvalues, "Cut values for Ptcone isolation");
-  
-  /** Calo Isolation cut values */
-  declareProperty("EtconeRelIsoCutValues",m_etconeisorelcutvalues, "Cut values for Etcone/pt isolation");
-  
-  /** Calo Isolation cut values */
-  declareProperty("PtconeRelIsoCutValues",m_ptconeisorelcutvalues, "Cut values for Ptcone/pt isolation");
-  
-  /** D0 preselection cut value */
-  declareProperty("maxD0PreSelection",    m_maxD0preselection = 5*CLHEP::mm, "Cut values for track impact parameter");
-  
-  /** cosmic flag */
-  declareProperty("isCosmics",            m_cosmics = false);
-  
-  /** inner detector flag */ 
-  declareProperty("doInDet",              m_doInDet = true);
-  
-  /** key for primary vertex container */
-  declareProperty ("PrimaryVertexKey",    m_vxCandidate = "PrimaryVertices");
-  
-  /** D0 tight veto cut */
-  declareProperty("maxD0tight",              m_maxD0tight = 0.3*CLHEP::mm);
-  /** Z0 tight veto cut */
-  declareProperty("maxZ0tight",              m_maxZ0tight = 2*CLHEP::mm);
-  /** Z0 loose veto cut */
-  declareProperty("maxZ0loose",              m_maxZ0loose = 10*CLHEP::mm);
-  /** D0 significance loose veto cut */
-  declareProperty("maxD0SignificanceLoose",  m_maxD0signLoose = 5 );
-  /** D0 significance tight veto cut */
-  declareProperty("maxD0SignificanceTight",  m_maxD0signTight = 3.5 );
-  /**Muon Calibration Tool*/
-  declareProperty("MuonCalibrationTool",     m_muon_calibration_tool );
-  /**Muon Selection Tool*/
-  declareProperty("MuonSelectionTool",       m_muon_selection_tool );
-  /** Muon Isolation Tool names */
-  declareProperty("LooseTrackOnlyIsolation", m_loose_trackonly_isolation);
-  declareProperty("LooseIsolation",          m_loose_isolation);
-  declareProperty("TightIsolation",          m_tight_isolation);
-  declareProperty("GradientLooseIsolation",  m_gradient_loose_isolation);
-  declareProperty("GradientIsolation",       m_gradient_isolation);
-  declareProperty("FixedCutTightTrackOnlyIsolation", m_fixedcut_tight_trackonly_isolation);
-  declareProperty("FixedCutLooseIsolation",          m_fixedcut_loose_isolation);
-  declareProperty("DoIsolation", m_doIso=true);
-
-  declareInterface<MuonTagTool>( this );
-}
-
-/** initialization - called once at the begginning */
-StatusCode  MuonTagTool::initialize() {
-  
-  AthAlgTool::initialize().ignore();
-  /** retrieve and check the muon calibration tool*/
-  ATH_CHECK ( m_muon_calibration_tool.retrieve() );
-  /** retrieve and check the muon selector tool*/
-  ATH_CHECK ( m_muon_selection_tool.retrieve() );
-  /** retrieve and check the muon isolation tool*/
-  if(m_doIso){
-    CHECK(m_loose_trackonly_isolation.retrieve());
-    CHECK(m_loose_isolation.retrieve());
-    CHECK(m_tight_isolation.retrieve());
-    CHECK(m_gradient_loose_isolation.retrieve());
-    CHECK(m_gradient_isolation.retrieve());
-    CHECK(m_fixedcut_tight_trackonly_isolation.retrieve());
-    CHECK(m_fixedcut_loose_isolation.retrieve());
-    
-    if (m_etconeisorelcutvalues.size() > 2) {
-      ATH_MSG_FATAL ("More than to EtconeRel values are not permitted");
-      return StatusCode::FAILURE;
-    }
-    if (m_etconeisocutvalues.size() > 2) {
-      ATH_MSG_FATAL ("More than to Etcone values are not permitted");
-      return StatusCode::FAILURE; 
-    }
-    if (m_ptconeisorelcutvalues.size() > 2) {
-      ATH_MSG_FATAL ("More than to PtconeRel values are not permitted");
-      return StatusCode::FAILURE;
-    }
-    if (m_ptconeisocutvalues.size() > 2) {
-      ATH_MSG_FATAL ("More than to Ptcone values are not permitted");
-      return StatusCode::FAILURE;
-    }
-  }
-  else {
-    m_loose_trackonly_isolation.disable();
-    m_loose_isolation.disable();
-    m_tight_isolation.disable();
-    m_gradient_loose_isolation.disable();
-    m_gradient_isolation.disable();
-    m_fixedcut_tight_trackonly_isolation.disable();
-    m_fixedcut_loose_isolation.disable();
-  }
-  return StatusCode::SUCCESS;
-}
-
-
-/** build the attribute list - called in initialize */
-StatusCode MuonTagTool::attributeSpecification(std::map<std::string, AthenaAttributeType>& attrMap, const int max) {
-  
-  
-  /** Muon Attributes */
-  attrMap[ MuonAttributeNames[MuonTAG::NMuon] ]  = AthenaAttributeType("unsigned int",
-                                                                       MuonAttributeUnitNames[MuonTAG::NMuon],
-                                                                       MuonAttributeGroupNames[MuonTAG::NMuon]);
-  
-  std::ostringstream os;
-  for (int i=1; i<= max; ++i) {
-    
-    /** pt */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::Pt] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", MuonAttributeUnitNames[MuonTAG::Pt], MuonAttributeGroupNames[MuonTAG::Pt]);
-    m_ptStr.push_back( os.str() );
-    
-    /** eta */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::Eta] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", MuonAttributeUnitNames[MuonTAG::Eta], MuonAttributeGroupNames[MuonTAG::Eta]);
-    m_etaStr.push_back( os.str() );
-    
-    /** phi */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::Phi] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", MuonAttributeUnitNames[MuonTAG::Phi], MuonAttributeGroupNames[MuonTAG::Phi]);
-    m_phiStr.push_back( os.str() );
-    
-    /** Tightness */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::Tight] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", MuonAttributeUnitNames[MuonTAG::Tight], MuonAttributeGroupNames[MuonTAG::Tight]);
-    m_tightStr.push_back( os.str() );
-
-    /** isolation for Muons  */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::Isol] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", MuonAttributeUnitNames[MuonTAG::Isol], MuonAttributeGroupNames[MuonTAG::Isol]);
-    m_isoStr.push_back( os.str() );
-
-    /** precision layers for Muons  */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::NPrecLay] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", MuonAttributeUnitNames[MuonTAG::NPrecLay], MuonAttributeGroupNames[MuonTAG::NPrecLay]);
-    m_nprecLayStr.push_back( os.str() );
-
-    /** precision hole layers for Muons  */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::NPrecHoleLay] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", MuonAttributeUnitNames[MuonTAG::NPrecHoleLay], MuonAttributeGroupNames[MuonTAG::NPrecHoleLay]);
-    m_nprecHoleLayStr.push_back( os.str() );
-
-    /** phi layers for Muons  */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::NPhiLay] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("unsigned int", MuonAttributeUnitNames[MuonTAG::NPhiLay], MuonAttributeGroupNames[MuonTAG::NPhiLay]);
-    m_nphiLayStr.push_back( os.str() );
-
-    /** momentum balance significance for Muons  */
-    os.str("");
-    os << MuonAttributeNames[MuonTAG::MomBalSign] << std::dec << i;
-    attrMap[ os.str() ] = AthenaAttributeType("float", MuonAttributeUnitNames[MuonTAG::MomBalSign], MuonAttributeGroupNames[MuonTAG::MomBalSign]);
-    m_momBalStr.push_back( os.str() );
-
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/** execute - called on every event */
-StatusCode MuonTagTool::execute(TagFragmentCollection & muonTagCol, const int max) {
-  
-  ATH_MSG_DEBUG ("in execute()");
-  
-  std::vector<const xAOD::Muon*> unique_muons; 
-  
-  /** now loop over the Muon containers */
-  
-  for ( unsigned int j=0; j<m_containerNames.size(); ++j ) {
-    
-    const xAOD::MuonContainer *muonContainer=0;
-    StatusCode sc = evtStore()->retrieve( muonContainer, m_containerNames[j] );
-    if (sc.isFailure()) {
-      ATH_MSG_DEBUG ("Muon container not found in SG: " << m_containerNames[j]);
-      continue;
-    }
-    
-    // create a shallow copy of the muon container
-    std::pair< xAOD::MuonContainer*, xAOD::ShallowAuxContainer* >  shallowCopy = xAOD::shallowCopyContainer(*muonContainer);
-    xAOD::MuonContainer       *muonContainerShallowCopy    = shallowCopy.first;
-    xAOD::ShallowAuxContainer *muonAuxContainerShallowCopy = shallowCopy.second;
-    
-    CHECK( evtStore()->record(muonContainerShallowCopy,    "MuonShallowTAG"));
-    CHECK( evtStore()->record(muonAuxContainerShallowCopy, "MuonShallowTAGAux."));
-
-    static SG::AuxElement::Accessor< xAOD::IParticleLink > accSetOriginLink ("originalObjectLink");
-    for ( xAOD::Muon *shallowCopyMuon : * muonContainerShallowCopy ) {
-
-      /** fix calibration using tool */
-      ATH_MSG_DEBUG("Un-Calibrated pt = " << shallowCopyMuon->pt());
-      if(m_muon_calibration_tool->applyCorrection(*shallowCopyMuon) != CP::CorrectionCode::Ok){
-	ATH_MSG_WARNING("Cannot calibrate muon");
-      }
-      ATH_MSG_DEBUG("Calibrated pt = " << shallowCopyMuon->pt()); 
-
-      const xAOD::IParticleLink originLink( *muonContainer, shallowCopyMuon->index() );
-      accSetOriginLink(*shallowCopyMuon) = originLink;
-    }
-    CHECK(evtStore()->setConst(muonContainerShallowCopy ));
-    CHECK(evtStore()->setConst(muonAuxContainerShallowCopy ));
-
-    /** create a new copy for MET calculation */
-    ConstDataVector< xAOD::MuonContainer >* selectedMuons = new ConstDataVector< xAOD::MuonContainer >( SG::VIEW_ELEMENTS );
-    ATH_CHECK( evtStore()->record( selectedMuons, m_muon_met_container_name ) );
-
-    /** loop over the muon container */
-    xAOD::MuonContainer::const_iterator cm_it     = muonContainerShallowCopy->begin();
-    xAOD::MuonContainer::const_iterator cm_it_end = muonContainerShallowCopy->end();
-    for ( ; cm_it != cm_it_end ; ++cm_it) {
-      
-      ATH_MSG_DEBUG ("next Muon has pt = " <<  (*cm_it)->pt()/1000. << " Gev, eta = " <<  (*cm_it)->eta() << ", phi = " <<  (*cm_it)->phi());
-
-      /** now preselection of good muon candidate for tags */
-
-      /** use the muon selector tool to get the tightness */
-      xAOD::Muon::Quality my_quality = m_muon_selection_tool->getQuality(**cm_it);
-      /** require that the muon is combined */
-      bool muonType                  = (*cm_it)->muonType();
-
-      /** we require at least Loose, not Standalone, passes Pt cut */
-      if ( my_quality <= xAOD::Muon::Loose && muonType != xAOD::Muon::MuonStandAlone &&
-	   (*cm_it)->pt() > m_cut_Pt ) {
-
-        ATH_MSG_DEBUG ("-> Muon passes preselection");
-      
-        /** not first container, do overlap removal (obsolete) */
-        if ( j!=0 ) {
-
-          std::vector<const xAOD::Muon*>::const_iterator cm2_it = unique_muons.begin();
-          for ( ; cm2_it != unique_muons.end() ; ++cm2_it) {
-	    
-            /** now we apply a deltaR check*/
-            double dR= (*cm_it)->p4().DeltaR((*cm2_it)->p4());
-            if (dR<m_DRcut) {
-              ATH_MSG_DEBUG ("-> Muon fails dR overlap cut, dR = " << dR);
-              continue;
-            }
-	    
-          }
-          ATH_MSG_DEBUG ("-> Muon passes overlap check !");
-        }
-        
-        /** we apply impact preselection if no cosmics and no standalone muon */
-        if (!m_cosmics) {
-	  ATH_MSG_DEBUG ("-> try impact veto against cosmics");
-	  
-	  double d0=0,z0=0, d0_significance=0;
-          getMuonImpactParameter (*cm_it, d0, z0, d0_significance);
-          
-          if ( std::abs(d0) > m_maxD0preselection ) {
-            ATH_MSG_DEBUG ("-> Muon fails impact veto, ha d0 = " << d0 << " mm, for cosmics, reject it");
-            continue;
-          } else {
-            ATH_MSG_DEBUG ("-> Muon passes impact veto, has d0 = " << d0 << " mm");         
-          }
-        }
-	
-        ATH_MSG_DEBUG ("-> Muon passed, copy Muon for output !");
-	/** Fill the Muon into output list for TAG file */
-        unique_muons.push_back( *cm_it );
-	/** Fill the Muon MET input container only if the muons are medium */
-	selectedMuons->push_back( *cm_it );
-      }
-    }
-  }
-  
-  /** in TAG files we save muons momentum sorted */
-  if ( unique_muons.size() > 1) {
-    ATH_MSG_DEBUG ("sorting muon container");
-    AnalysisUtils::Sort::pT( &unique_muons );
-  }
-  
-  /** now fill muon TAG info */
-  int i=0;
-  std::vector<const xAOD::Muon*>::const_iterator muonItr  = unique_muons.begin();
-  for (; muonItr != unique_muons.end() && i < max; ++muonItr, ++i) {
-    
-    const xAOD::Muon& muon = **muonItr;
-    
-    ATH_MSG_DEBUG("Muon: pt " << muon.pt()
-                  << " eta " << muon.eta() << " phi " << muon.phi() 
-                  << " px " << muon.p4().Px() << " py " << muon.p4().Py() );
-    
-    /** pt */
-    muonTagCol.insert( m_ptStr[i], muon.pt() * muon.charge() );
-    
-    /** eta */
-    muonTagCol.insert( m_etaStr[i], muon.eta() );
-    
-    /** phi */
-    muonTagCol.insert( m_phiStr[i], muon.phi() );
-    
-    unsigned int iso = 0x0;
-    unsigned int tightness = 0x0; 
-
-    /** now start filling the isolation information */
-    if(m_doIso){
-      /** let's compute the etcone20 isolation of the muon */
-
-      float etcone     = 0.0;
-      if( ! muon.isolation(etcone,xAOD::Iso::etcone20) ){
-	ATH_MSG_ERROR("No etcone defined");
-      }
-      else{
-      
-	/** apply etcone/pt cuts first */
-	
-	float etcone_rel= etcone/muon.pt();
-	ATH_MSG_DEBUG("etcone20/pt = "<< etcone_rel);
-      
-	/* Etcone20/pt are bits 0 and 1 */
-      
-	for (unsigned int j=0; j<m_etconeisorelcutvalues.size(); j++) {
-	  if( etcone_rel < m_etconeisorelcutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting Etcone20/pt isolation: bit " << j );
-	    iso |= 1 << j;
-	  }
-	}
-      
-	/* Etcone20 are bits 8 and 9 */
-      
-	for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	  if ( etcone < m_etconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting Etcone20 isolation: bit " << j+8 );
-	    iso |= 1 << (8+j);
-	  }
-	} 
-      }
-    
-      /** let's compute the etcone20 isolation of the muon */
-    
-      if( ! muon.isolation(etcone,xAOD::Iso::topoetcone20) ){
-	ATH_MSG_ERROR("No topoetcone20 defined");
-      }
-      else{
-      
-	/** apply topoEtcone20/pt cuts first */
-      
-	float etcone_rel= etcone/muon.pt();
-	ATH_MSG_DEBUG("topoetcone20/pt = "<< etcone_rel);
-      
-	/* topoEtcone20/pt are bits 2 and 3 */
-      
-	for (unsigned int j=0; j<m_etconeisorelcutvalues.size(); j++) {
-	  if( etcone_rel < m_etconeisorelcutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting TopoEtcone20/pt isolation: bit " << j );
-	    iso |= 1 << (2 + j);
-	  }
-	}
-      
-	/* topo20Etcone/pt are bits 10 and 11 */
-      
-	for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	  if ( etcone < m_etconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting TopoEtcone20: bit " << j+10 );
-	    iso |= 1 << (10+j);
-	  }
-	} 
-      }
-    
-      /** let's compute the etcone30 isolation of the muon */
-    
-      if( ! muon.isolation(etcone,xAOD::Iso::topoetcone30) ){
-	ATH_MSG_ERROR("No topoetcone30 defined");
-      }
-      else{
-      
-	/** apply topoEtcone30/pt cuts first */
-      
-	float etcone_rel= etcone/muon.pt();
-	ATH_MSG_DEBUG("topoetcone30/pt = "<< etcone_rel);
-      
-	/* topoEtcone30/pt are bits 4 and 5 */
-      
-	for (unsigned int j=0; j<m_etconeisorelcutvalues.size(); j++) {
-	  if( etcone_rel < m_etconeisorelcutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting topoEtcone30/pt isolation: bit " << j+4 );
-	    iso |= 1 << (4 + j);
-	  }
-	}
-      
-	/* topo30Etcone are bits 12 and 13 */
-      
-	for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	  if ( etcone < m_etconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting topoEtcone30 isolation: bit " << j+12 );
-	    iso |= 1 << (12+j);
-	  }
-	} 
-      }
-    
-      /** let's compute the etcone40 isolation of the muon */
-    
-      if( ! muon.isolation(etcone,xAOD::Iso::topoetcone40) ){
-	ATH_MSG_ERROR("No topoetcone40 defined");
-      }
-      else{
-      
-	/** apply topoEtcone40/pt cuts first */
-      
-	float etcone_rel= etcone/muon.pt();
-	ATH_MSG_DEBUG("topoetcone40/pt = "<< etcone_rel);
-      
-	/* topo40Etcone/pt are bits 6 and 7 */
-      
-	for (unsigned int j=0; j<m_etconeisorelcutvalues.size(); j++) {
-	  if( etcone_rel < m_etconeisorelcutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting topoEtcone40/pt isolation: bit " << j+6 );
-	    iso |= 1 << (6 + j);
-	  }
-	}
-      
-	/* topo40Etcone are bits 14 and 15 */
-      
-	for (unsigned int j=0; j<m_etconeisocutvalues.size(); j++) {
-	  if ( etcone < m_etconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting topoEtcone40 isolation: bit " << j+14 );
-	    iso |= 1 << (14+j);
-	  }
-	} 
-      }
-    
-      /** let's compute the ptcone20 isolation of the muon */
-    
-      float ptcone = 0.0 ;
-      if( ! muon.isolation(ptcone,xAOD::Iso::ptcone20) ){
-	ATH_MSG_ERROR("No ptcone20 defined");
-      }
-      else{
-      
-	/** apply ptcone20/pt cuts first */
-      
-	float ptcone_rel= ptcone/muon.pt();
-	ATH_MSG_DEBUG("ptcone20/pt = "<< ptcone_rel);
-      
-	/* ptcone20/pt are bits 16 and 17 */
-      
-	for (unsigned int j=0; j<m_ptconeisorelcutvalues.size(); j++) {
-	  if ( ptcone_rel < m_ptconeisorelcutvalues[j] ){
-	    ATH_MSG_DEBUG("Setting ptcone20/pt isolation: bit " << j+16 );
-	    iso |= 1 << (16+j);
-	  }
-	} 
-      
-	/* ptcone20 are bits 24 and 25 */
-      
-	ATH_MSG_DEBUG("ptcone20 = "<< ptcone);
-      
-	for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++) {
-	  if ( ptcone < m_ptconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting ptcone20 isolation: bit " << j+24 );
-	    iso |= 1 << (24+j);
-	  }     
-	}
-      }
-    
-      /** let's compute the ptcone30 isolation of the muon */
-    
-      if( ! muon.isolation(ptcone,xAOD::Iso::ptcone30) ){
-	ATH_MSG_ERROR("No ptcone30 defined");
-      }
-      else{
-      
-	/** apply ptcone30/pt cuts first */
-      
-	float ptcone_rel= ptcone/muon.pt();
-	ATH_MSG_DEBUG("ptcone30/pt = "<< ptcone_rel);
-      
-	/* ptcone30 are bits 18 and 19 */
-      
-	for (unsigned int j=0; j<m_ptconeisorelcutvalues.size(); j++) {
-	  if ( ptcone_rel < m_ptconeisorelcutvalues[j] ){
-	    ATH_MSG_DEBUG("Setting ptcone30/pt isolation: bit " << j+18 );
-	    iso |= 1 << (18+j);
-	  }
-	} 
-      
-	/* ptcone30 are bits 26 and 27 */      
-      
-	ATH_MSG_DEBUG("ptcone30 = "<< ptcone);
-      
-	for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++) {
-	  if ( ptcone < m_ptconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting ptcone30 solation: bit " << j+26 );
-	    iso |= 1 << (26+j);
-	  }     
-	}
-      }
-    
-      /** let's compute the ptcone20 isolation of the muon */
-    
-      if( ! muon.isolation(ptcone,xAOD::Iso::ptcone40) ){
-	ATH_MSG_ERROR("No ptcone40 defined");
-      }
-      else{
-      
-	/** apply ptcone40/pt cuts first */
-      
-	float ptcone_rel= ptcone/muon.pt();
-	ATH_MSG_DEBUG("ptcone40/pt = "<< ptcone_rel);
-      
-	/* ptcone40/pt are bits 20 and 21 */
-      
-	for (unsigned int j=0; j<m_ptconeisorelcutvalues.size(); j++) {
-	  if ( ptcone_rel < m_ptconeisorelcutvalues[j] ){
-	    ATH_MSG_DEBUG("Setting ptcone40/pt isolation: bit " << j+20 );
-	    iso |= 1 << (20+j);
-	  }
-	} 
-      
-	/* ptcone40 are bits 28 and 29 */
-      
-	ATH_MSG_DEBUG("ptcone40 = "<< ptcone);
-      
-	for (unsigned int j=0; j<m_ptconeisocutvalues.size(); j++) {
-	  if ( ptcone < m_ptconeisocutvalues[j] ) {
-	    ATH_MSG_DEBUG("Setting ptcone40 isolation: bit " << j+28 );
-	    iso |= 1 << (28+j);
-	  }     
-	}
-      }
-
-      if( msgLvl(MSG::DEBUG) ){
-	std::bitset<32> bits(iso);
-	ATH_MSG_DEBUG("Isolation: " << iso << " bits: " << bits.to_string() );
-      }
-    
-      muonTagCol.insert( m_isoStr[i], iso );
-    
-
-      /**  Using Isolation Tool to fill bit from 22,23,30,31  with loose_trackonly,loose,tight,gradientloose,gradient*/    
-      if(m_loose_trackonly_isolation->accept(**muonItr))tightness |= (1 << 24);
-      if(m_loose_isolation->accept(**muonItr))          tightness |= (1 << 25);
-      if(m_tight_isolation->accept(**muonItr))          tightness |= (1 << 26);
-      if(m_gradient_isolation->accept(**muonItr))       tightness |= (1 << 27);
-      if(m_gradient_loose_isolation->accept(**muonItr)) tightness |= (1 << 28);
-      if(m_fixedcut_tight_trackonly_isolation->accept(**muonItr))tightness |= (1 << 29);
-      if(m_fixedcut_loose_isolation->accept(**muonItr))          tightness |= (1 << 30);
-    }
-    /** varying levels of tighness cuts - to be defined and implemented */
-    
-    if ( muon.muonType() == xAOD::Muon::MuonStandAlone )               tightness = tightness | bit2int(0);
-    if ( muon.muonType() == xAOD::Muon::Combined )                     tightness = tightness | bit2int(1);
-    if ( muon.muonType() == xAOD::Muon::SiliconAssociatedForwardMuon ) tightness = tightness | bit2int(2);
-    if ( muon.muonType() == xAOD::Muon::SegmentTagged )                tightness = tightness | bit2int(3);
-    
-    xAOD::Muon::Quality my_quality = m_muon_selection_tool->getQuality(muon);
-    if ( my_quality <= xAOD::Muon::Loose)                              tightness = tightness | bit2int(7);
-    if ( my_quality <= xAOD::Muon::Medium)                             tightness = tightness | bit2int(4);
-    if ( my_quality <= xAOD::Muon::Tight)                              tightness = tightness | bit2int(8);
-    
-    /** ID track quality cuts */
-   
-    const ElementLink<xAOD::TrackParticleContainer> &  tp_p = muon.primaryTrackParticleLink();
-    if(!tp_p){
-      ATH_MSG_DEBUG("no link to primary track particle");
-    } else {
-      ATH_MSG_DEBUG("found link to primary track particle");
-
-      if( tp_p.isValid() ) {
-        ATH_MSG_DEBUG("elementLink<TrackParticle> is valid");
-        const xAOD::TrackParticle* tp = *tp_p;
-
-        /** Add the impact parameter bits for cosmic veto */
-        
-        double d0=0,z0=0,d0sig=0;
-        /**calling getMuonImpactParameter to get d0,z0 values*/
-        getMuonImpactParameter ((*muonItr), d0, z0, d0sig);
-
-        if ( d0sig < m_maxD0signLoose) tightness = tightness | bit2int(5);
-        if ( d0sig < m_maxD0signTight) tightness = tightness | bit2int(6);
-        if ( fabs(d0) < m_maxD0tight)  tightness = tightness | bit2int(9);
-        if ( fabs(z0) < m_maxZ0tight)  tightness = tightness | bit2int(10);
-        if ( fabs(z0) < m_maxZ0loose)  tightness = tightness | bit2int(20);
-       
-        // check blayer, if expected
-        uint8_t nblh   = 0x0;
-        uint8_t eblh   = 0x0;
-        uint8_t nblo   = 0x0;
-        if( !tp->summaryValue(nblh,xAOD::numberOfInnermostPixelLayerHits)){
-          ATH_MSG_WARNING("No nBLayerHits");
-        }
-        if( !tp->summaryValue(nblo,xAOD::numberOfInnermostPixelLayerOutliers)){
-          ATH_MSG_WARNING("No nofBLayerOutliers");
-        }
-        if( !tp->summaryValue(eblh,xAOD::expectInnermostPixelLayerHit) ||
-            (nblh + nblo > 0) )        tightness = tightness | bit2int(11);
-      
-        // pixel hit counts
-        uint8_t nphi   = 0x0;
-        uint8_t npds   = 0x0;
-        if( !tp->summaryValue(nphi,xAOD::numberOfPixelHits)){
-          ATH_MSG_WARNING("No numberOfPixelHits");
-        }
-        if( !tp->summaryValue(npds,xAOD::numberOfPixelDeadSensors)){
-          ATH_MSG_WARNING("No numberOfPixelDeadSensors");
-        }
-        if( nphi + npds >= 2 )         tightness = tightness | bit2int(12);
-        
-        // sct hit counts
-        uint8_t nscthi = 0x0;
-        uint8_t nsctds = 0x0;
-        if( !tp->summaryValue(nscthi,xAOD::numberOfSCTHits)){
-          ATH_MSG_WARNING("No numberOfSCTHits");
-        }
-        if( !tp->summaryValue(nsctds,xAOD::numberOfSCTDeadSensors)){
-          ATH_MSG_WARNING("No numberOfSCTDeadSensors");
-        }
-        if( nscthi + nsctds > 5 )      tightness = tightness | bit2int(13);
-      
-        // hole cuts
-        uint8_t npho   = 0x0;
-        uint8_t nsctho = 0x0;
-        if( !tp->summaryValue(npho,xAOD::numberOfPixelHoles)){
-          ATH_MSG_WARNING("No numberOfPixelHoles");
-        }
-        if( !tp->summaryValue(nsctho,xAOD::numberOfSCTHoles)){
-          ATH_MSG_WARNING("No numberOfSCTHoles");
-        }
-        if( npho + nsctho < 2 )         tightness = tightness | bit2int(14);
-        
-        // trt cuts
-        uint8_t ntrthi = 0x0;
-        uint8_t ntrtol = 0x0;
-        if( !tp->summaryValue(ntrthi,xAOD::numberOfTRTHits)){
-          ATH_MSG_WARNING("No numberOfTRTHits");
-        }
-        if( !tp->summaryValue(ntrtol,xAOD::numberOfTRTOutliers)){
-          ATH_MSG_WARNING("No numberOfTRTHits");
-        }
-        int ntrt = ntrthi+ ntrtol;
-        bool pass = true;
-        if ( ntrt > 5 && ntrtol/(double)ntrt > 0.9 ) pass = false;                             
-        if ( (fabs(tp->eta()) > 0.1 && fabs(tp->eta()) < 1.9 ) && ntrt <= 5 ) pass = false;                          
-        if ( pass ) tightness = tightness | bit2int(15);
-        
-        /** get muon layer information */
-        
-        uint8_t nprecisionLayers=0;
-        if(!tp->summaryValue(nprecisionLayers,xAOD::numberOfPrecisionLayers)){
-          ATH_MSG_ERROR("number of precision layers not retrieved");
-        }
-        muonTagCol.insert( m_nprecLayStr[i],     nprecisionLayers );      
-      
-        uint8_t nprecisionHoleLayers=0;
-        if(!tp->summaryValue(nprecisionHoleLayers,xAOD::numberOfPrecisionHoleLayers)){
-          ATH_MSG_ERROR("number of precision hole layers not retrieved");
-        }
-        muonTagCol.insert( m_nprecHoleLayStr[i], nprecisionHoleLayers );       
-        
-        uint8_t nphiLayers=0;      
-        if(!tp->summaryValue(nphiLayers,xAOD::numberOfPhiLayers)){
-          ATH_MSG_ERROR("number of phi layers not retrieved");
-        }
-        muonTagCol.insert( m_nphiLayStr[i],      nphiLayers );
-        
-        /** get momentumBalanceSignificance */
-        
-      }
-    }
-    
-    /** check ID cuts and HightPtCuts using the muon selector tool */
-    
-    if( m_muon_selection_tool->passedIDCuts(muon) == 1 )        tightness = tightness | bit2int(16);
-    if( m_muon_selection_tool->passedHighPtCuts(muon) == 1  )   tightness = tightness | bit2int(21);
-      
-    /** segment information */
-    
-    float segChi2OverDoF = 0.0;
-    if(! muon.parameter(segChi2OverDoF, xAOD::Muon::segmentChi2OverDoF)){
-      ATH_MSG_ERROR("segmentChi2OverDoF not retrieved!");
-    }
-    if( segChi2OverDoF < 5 ) tightness = tightness | bit2int(22);
-    if( segChi2OverDoF < 3 ) tightness = tightness | bit2int(23);
-
-    if( msgLvl(MSG::DEBUG) ){
-      std::bitset<32> bits(tightness);
-      ATH_MSG_VERBOSE("Tightness: " << tightness << " bits: " << bits.to_string() );
-    }
-    
-    /** now insert tightness */
-    
-    muonTagCol.insert( m_tightStr[i], tightness );       
-
-    /** insert momentum balance */
-        
-    float momentumBal = 0.0;
-    if(! muon.parameter(momentumBal, xAOD::Muon::momentumBalanceSignificance)){
-      ATH_MSG_WARNING("momentumBalanceSignificance not retrieved!");
-    }      
-    muonTagCol.insert( m_momBalStr[i], momentumBal );
-  }
-
-  /** insert the number of loose muons */
-  muonTagCol.insert(MuonAttributeNames[MuonTAG::NMuon], i);
-
-  return StatusCode::SUCCESS;
-}
-
-/** finalize - called once at the end */
-StatusCode MuonTagTool::finalize() {
-  ATH_MSG_DEBUG ("in finalize()");
-  return StatusCode::SUCCESS;
-}
-
-/** private function to get impact parameter */
-void MuonTagTool::getMuonImpactParameter (const xAOD::Muon* muon, double& d0, double& z0, double& d0_significance) {
-   
-  /** let's initialize to 0 the impact parameters*/
-  d0    = 0;
-  z0    = 0;
-  d0_significance = 0;
-
-  StatusCode sc;
-  
-  /** retrieve the  EventInfo container*/
-  const xAOD::EventInfo* eventInfo = 0;
-  sc = evtStore()->retrieve( eventInfo, "EventInfo");
-  if (sc.isFailure()) {
-    ATH_MSG_WARNING( "No AOD EventInfo container found in SG" );
-    return;
-  }
-
-  /** get vertex container, we assume the first vertex is the primary by convention */
-  const xAOD::VertexContainer* vxContainer=0;
-  sc = evtStore()->retrieve(vxContainer, m_vxCandidate);
-  if (sc.isFailure() || !vxContainer) {
-    ATH_MSG_DEBUG ("Could not retrieve primary vertex info: " << m_vxCandidate <<", return 0 impact parameter.");
-    return;
-  }
-  if (vxContainer->size()<1) {
-    ATH_MSG_DEBUG ("No primary vertices reconstructed, return 0 impact parameter.");
-    return;
-  } 
-  xAOD::VertexContainer::const_iterator vxI     = vxContainer->begin();
-  if ((*vxI)->vertexType() != xAOD::VxType::PriVtx) {
-    ATH_MSG_DEBUG ("---> no primary vertex reconstructed, return 0 impact parameters.");
-    return;
-  }
-  ATH_MSG_DEBUG ("---> vertex at (x/y/z) = " << (*vxI)->x() << " / " << (*vxI)->y() << " / " << (*vxI)->z() );
-  
-  /** We try to find the link to the primary track and after we retrieve it*/
-  const ElementLink<xAOD::TrackParticleContainer> &  tp_prime = muon->primaryTrackParticleLink();
-  if(!tp_prime){
-    ATH_MSG_DEBUG("found no link to primary track particle");
-  } else {
-    const xAOD::TrackParticle* trk = *tp_prime;
-  
-    /** d0 Significance w.r.t. Beam Spot covariance as recommended (even if it makes little sense) */
-    double d0_significance = xAOD::TrackingHelpers::d0significance(trk,
-								   eventInfo->beamPosSigmaX(),
-								   eventInfo->beamPosSigmaY(),
-								   eventInfo->beamPosSigmaXY() );
-    /** get d0 impact parameter */
-    d0    = trk->d0();
-    /** z0 is an approximation, just do the diff */
-    double z0 = fabs(trk->z0() + trk->vz() - (*vxI)->z());
-
-    ATH_MSG_DEBUG("d0 = " <<  d0 << " z0 = " <<z0 << " d0_significance = " << d0_significance);
-  }
-  return;
-}
-
diff --git a/PhysicsAnalysis/MuonID/MuonTagTools/src/components/MuonTagTools_entries.cxx b/PhysicsAnalysis/MuonID/MuonTagTools/src/components/MuonTagTools_entries.cxx
deleted file mode 100644
index 1d0300a57276324bcb3fbd6c6caae8604e4fc925..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/MuonID/MuonTagTools/src/components/MuonTagTools_entries.cxx
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "MuonTagTools/MuonTagTool.h"
-
-DECLARE_COMPONENT( MuonTagTool )
- 
diff --git a/Projects/AnalysisBase/package_filters.txt b/Projects/AnalysisBase/package_filters.txt
index aa36f316318aae75c688c2722718b2b966ece4c7..2fa649c9fdb39cd85ae1c3bc5fa867ab399ae98f 100644
--- a/Projects/AnalysisBase/package_filters.txt
+++ b/Projects/AnalysisBase/package_filters.txt
@@ -69,7 +69,6 @@
 + PhysicsAnalysis/AnalysisCommon/ReweightUtils
 + PhysicsAnalysis/AnalysisCommon/TruthClassification
 + PhysicsAnalysis/D3PDTools/.*
-- PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
 + PhysicsAnalysis/ElectronPhotonID/.*
 + PhysicsAnalysis/HeavyIonPhys/HIEventUtils
 + PhysicsAnalysis/HiggsPhys/Run2/HZZ/Tools/ZMassConstraint