diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/Root/MissingETObjectCollectionMaker.cxx b/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/Root/MissingETObjectCollectionMaker.cxx
index 9d16cc8991fb3c9b4339d8f8c3112ad8dfd82088..371277d200a519dce5588ee753a12ef96099358b 100644
--- a/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/Root/MissingETObjectCollectionMaker.cxx
+++ b/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/Root/MissingETObjectCollectionMaker.cxx
@@ -29,7 +29,6 @@ namespace top {
     m_recommendedSystematics(),
 
     m_MET_core("setMe"),
-    m_MET_map("setMe"),
     m_met_maker("met::METMaker"),
     m_met_systematics("met::METSystematicsTool") {
     declareProperty("config", m_config);
@@ -47,7 +46,6 @@ namespace top {
     jet_collection.erase(jet_collection.length() - 4); //erase "Jets" from jet collection name
 
     m_MET_core = "MET_Core_" + jet_collection;
-    m_MET_map = "METAssoc_" + jet_collection;
 
     ///-- Set Systematics Information --///
     const std:: string& syststr = m_config->systematics();
@@ -73,16 +71,12 @@ namespace top {
     return StatusCode::SUCCESS;
   }
 
-  StatusCode MissingETObjectCollectionMaker::recalculateMET(bool executeNominal) {
+  StatusCode MissingETObjectCollectionMaker::recalculateMET(const bool executeNominal) {
     // met core contains the soft terms we need to add to our met calculation
     const xAOD::MissingETContainer* xaod_met_core(nullptr);
 
     top::check(evtStore()->retrieve(xaod_met_core, m_MET_core), "Failed to retrieve MET Core");
 
-    // This maps the met terms to objects
-    const xAOD::MissingETAssociationMap* xaod_met_map(nullptr);
-    top::check(evtStore()->retrieve(xaod_met_map, m_MET_map), "Failed to retrieve MET Association Map");
-
     if (m_config->doTightEvents()) {
       // All the tight systematic events
       const xAOD::SystematicEventContainer* systEvents(nullptr);
@@ -98,8 +92,8 @@ namespace top {
         ///-- if executeNominal, skip other systematics (and vice-versa) --///
         if (!executeNominal && m_config->isSystNominal(m_config->systematicName(x->hashValue()))) continue;
         if (executeNominal && !m_config->isSystNominal(m_config->systematicName(x->hashValue()))) continue;
-        top::check(recalculateEventMET(x, xaod_met_core, xaod_met_map), "Failed to recalculate MET for event");
-        if(m_config->writeMETBuiltWithLooseObjects()) top::check(recalculateEventMET(x, xaod_met_core, xaod_met_map, true, "WithLooseObjects"), "Failed to recalculate MET using loose leptons for event");
+        top::check(recalculateEventMET(x, xaod_met_core), "Failed to recalculate MET for event");
+        if(m_config->writeMETBuiltWithLooseObjects()) top::check(recalculateEventMET(x, xaod_met_core, true, "WithLooseObjects"), "Failed to recalculate MET using loose leptons for event");
       }
     } // tight events
     if (m_config->doLooseEvents()) {
@@ -119,201 +113,211 @@ namespace top {
         ///-- if executeNominal, skip other systematics (and vice-versa) --///
         if (!executeNominal && m_config->isSystNominal(m_config->systematicName(x->hashValue()))) continue;
         if (executeNominal && !m_config->isSystNominal(m_config->systematicName(x->hashValue()))) continue;
-        top::check(recalculateEventMET(x, xaod_met_core, xaod_met_map), "Failed to recalculate MET for loose event");
-        if(m_config->writeMETBuiltWithLooseObjects()) top::check(recalculateEventMET(x, xaod_met_core, xaod_met_map, true, "WithLooseObjects"), "Failed to recalculate MET using loose leptons for event");
+        top::check(recalculateEventMET(x, xaod_met_core), "Failed to recalculate MET for loose event");
+        if(m_config->writeMETBuiltWithLooseObjects()) top::check(recalculateEventMET(x, xaod_met_core, true, "WithLooseObjects"), "Failed to recalculate MET using loose leptons for event");
       }
     } // Loose events
 
     return StatusCode::SUCCESS;
   }
 
-  StatusCode MissingETObjectCollectionMaker::recalculateEventMET(const xAOD::SystematicEvent* /*event*/,
-                                                                 const xAOD::MissingETContainer* /*xaod_met_core*/,
-                                                                 const xAOD::MissingETAssociationMap* /*xaod_met_map*/,
-                                                                 bool /*forceUseLooseObjects*/,
-                                                                 std::string /*outputContainerSuffix*/){
-//    // decoration for objects that pass pre OR selection
-//    std::string passPreORSelection = "passPreORSelection";
-//
-//    bool is_loose_event = (event->isLooseEvent() == 1 ? true : false);
-//
-//    // default behaviour for top analysis - use the "Tight" definitions
-//    bool looseLeptonOR(is_loose_event);
-//    if (m_config->doOverlapRemovalOnLooseLeptonDef() || (is_loose_event && m_config->useLooseObjectsInMETInLooseTree()) || (!is_loose_event && m_config->useLooseObjectsInMETInNominalTree()) || forceUseLooseObjects) {
-//      looseLeptonOR = true;
-//      // change decoration we check
-//      passPreORSelection = "passPreORSelectionLoose";
-//    }
-//
-//    std::size_t hash = event->hashValue();
-//
-//    // Make a new MET container that we are going to use
-//    xAOD::MissingETContainer* new_met_container = new xAOD::MissingETContainer();
-//    xAOD::MissingETAuxContainer* new_met_aux_container = new xAOD::MissingETAuxContainer();
-//    new_met_container->setStore(new_met_aux_container);
-//
-//    // Reset all the met map associations
-//    //xaod_met_map->resetObjSelectionFlags();
-//
-//    // Apparently we need to add objects to the METMaker in a specific order
-//    // Start by retrieving jet container, we need it to perform e-jet ghost-matching
-//    xAOD::JetContainer* xaod_jet(nullptr);
-//    top::check(evtStore()->retrieve(xaod_jet, m_config->sgKeyJets(hash, looseLeptonOR)), "Failed to retrieve Jets");
-//    // 1. Electrons
-//    const xAOD::ElectronContainer* xaod_el(nullptr);
-//    if (m_config->useElectrons()) {
-//      // Get all calibrated electrons
-//      top::check(evtStore()->retrieve(xaod_el, m_config->sgKeyElectrons(hash)), "Failed to retrieve Electrons");
-//
-//      // Add those that pass pre-overlap removal selection to met_electrons
-//      ConstDataVector<xAOD::ElectronContainer> met_electrons(SG::VIEW_ELEMENTS);
-//      for (const auto& el: *xaod_el)
-//        if (el->isAvailable<char>(passPreORSelection)
-//            && el->auxdata<char>(passPreORSelection) == 1) met_electrons.push_back(el);
-//
-//      // Recalculate electron MET term using electrons that pass overlap removal
-//      top::check(m_met_maker->rebuildMET("RefEle", xAOD::Type::Electron,
-//                                         new_met_container, met_electrons.asDataVector(),
-//                                         xaod_met_map), "Failed to rebuild electron MET term");
-//    }
-//
-//    // 2. Photons
-//    if (m_config->usePhotons()) {
-//      // Get calibrated photons
-//      const xAOD::PhotonContainer* xaod_photon(nullptr);
-//      top::check(evtStore()->retrieve(xaod_photon, m_config->sgKeyPhotons(hash)), "Failed to retrieve Photons");
-//
-//      // Add those that pass pre-overlap removal to met_photons
-//      ConstDataVector<xAOD::PhotonContainer> met_photons(SG::VIEW_ELEMENTS);
-//      for (const auto& photon: *xaod_photon)
-//        if (photon->isAvailable<char>(passPreORSelection)
-//            && photon->auxdata<char>(passPreORSelection) == 1) met_photons.push_back(photon);
-//
-//      top::check(m_met_maker->rebuildMET("RefPhoton", xAOD::Type::Photon,
-//                                         new_met_container, met_photons.asDataVector(),
-//                                         xaod_met_map), "Failed to rebuild photon MET term");
-//    }
-//
-//    // 3. Taus
-//    if (m_config->useTaus()) {
-//      // Get calibrated taus
-//      const xAOD::TauJetContainer* xaod_tau(nullptr);
-//      top::check(evtStore()->retrieve(xaod_tau, m_config->sgKeyTaus(hash)), "Failed to retrieve Taus");
-//
-//      // Add those that pass pre-overlap removal to met_taus
-//      ConstDataVector<xAOD::TauJetContainer> met_taus(SG::VIEW_ELEMENTS);
-//      for (const auto& tau: *xaod_tau)
-//        if (tau->isAvailable<char>(passPreORSelection)
-//            && tau->auxdata<char>(passPreORSelection) == 1) met_taus.push_back(tau);
-//
-//      top::check(m_met_maker->rebuildMET("RefTau", xAOD::Type::Tau,
-//                                         new_met_container, met_taus.asDataVector(),
-//                                         xaod_met_map), "Failed to rebuild tau MET term");
-//    }
-//
-//    // 4. Muons
-//    const xAOD::MuonContainer* xaod_mu(nullptr); // Need these for ghost matching
-//    if (m_config->useMuons()) {
-//      // Get calibrated muons
-//      top::check(evtStore()->retrieve(xaod_mu, m_config->sgKeyMuons(hash)), "Failed to retrieve Muons");
-//
-//      // Add those that pass pre-overlap removal to met_muons
-//      ConstDataVector<xAOD::MuonContainer> met_muons(SG::VIEW_ELEMENTS);
-//      for (const auto& mu: *xaod_mu)
-//        if (mu->isAvailable<char>(passPreORSelection)
-//            && mu->auxdata<char>(passPreORSelection) == 1) met_muons.push_back(mu);
-//
-//      // Recalculate muon MET term using muons that pass overlap removal
-//      top::check(m_met_maker->rebuildMET("RefMuon", xAOD::Type::Muon,
-//                                         new_met_container, met_muons.asDataVector(),
-//                                         xaod_met_map), "Failed to rebuild muon MET term");
-//
-//      // Muon-jet ghost association
-//      // performed after muon handing to METUtility, but before jets
-//      if (xaod_mu) {
-//        met::addGhostMuonsToJets(*xaod_mu, *xaod_jet);
-//      }
-//    }
-//    else
-//    {
-//      ConstDataVector<xAOD::MuonContainer> met_muons(SG::VIEW_ELEMENTS);
-//      top::check(m_met_maker->rebuildMET("RefMuon", xAOD::Type::Muon,
-//                                         new_met_container, met_muons.asDataVector(),
-//                                         xaod_met_map), "Failed to rebuild muon MET term");
-//    }
-//
-//
-//    // 5. Jets
-//    // We do not perfom any selection on jets here. Give them all to the METMaker, it does its own thing
-//    top::check(m_met_maker->rebuildJetMET("RefJet", "SoftClus", "PVSoftTrk",
-//                                          new_met_container, xaod_jet,
-//                                          xaod_met_core, xaod_met_map,
-//                                          m_config->doJVTinMET()), "Failed to rebuild jet MET term");
-//
-//
-//    ///-- John thinks that the systematics go here --///
-//    ///-- This may well be wrong --///
-//
-//    for (auto systematic : m_specifiedSystematics) {
-//      if (systematic.hash() == event->hashValue() && systematic.hash() != m_config->nominalHashValue()) {
-//        ///-- Tell tool which systematic to use --///
-//        top::check(m_met_systematics->applySystematicVariation(systematic), "Failed to applySystematicVariation");
-//
-//        // code lifted and modified from:
-//        // https://svnweb.cern.ch/trac/atlasoff/browser/Reconstruction/MET/METUtilities/tags/METUtilities-00-01-43/util/example_METMaker_METSystematicsTool.cxx
-//
-//        //get the soft cluster term, and applyCorrection
-//        xAOD::MissingET* softClusMet = (*new_met_container)["SoftClus"];
-//        if (softClusMet != nullptr) { //check we retrieved the clust term
-//          top::check(m_met_systematics->applyCorrection(*softClusMet), "Failed to applyCorrection");
-//        }
-//
-//        xAOD::MissingET* softTrkMet = (*new_met_container)["PVSoftTrk"];
-//        if (softTrkMet != nullptr) { //check we retrieved the soft trk
-//          top::check(m_met_systematics->applyCorrection(*softTrkMet), "Failed to applyCorrection");
-//        }
-//      }
-//    }
-//
-//    /************************************************************
-//       We could use this to build TrackMET but should be careful as we would probably
-//       want a different met_container and it shouldn't contain photons (and I don't think taus either...)
-//       This function should NOT be used with the previous rebuildJetMET (one or the other)
-//
-//       top::check( m_met_maker->rebuildTrackMET("RefJetTrk", "PVSoftTrk",
-//                              new_met_container, xaod_jet,
-//                              xaod_met_core, xaod_met_map,
-//                              false), "Failed to rebuild track MET term" );
-//    ************************************************************/
-//
-//
-//    // This will sum up all the contributions we've made so far e.g.
-//    // Total MET = RefEle + RefPhoton + RefTau + RefMuon + RefJet + PVSoftTrk (Track Soft Term)
-//
-//    top::check(m_met_maker->buildMETSum("FinalTrk", new_met_container, MissingETBase::Source::Track),
-//               "Failed to rebuild Final Track MET");
-//
-//    /************************************************************
-//       // We are only going to build a single MET Sum now for clarity. The final argument is the soft term we
-//       // want to use. The recommended one is the track soft term (TST) as above.
-//
-//       top::check( m_met_maker->buildMETSum("FinalClus", new_met_container, MissingETBase::Source::EMTopo),
-//              "Failed to rebuild Final Cluster MET");
-//    ************************************************************/
-//
-//    // Save corrected xAOD Container to StoreGate / TStore
-//    std::string outputSGKey = m_config->sgKeyMissingEt(hash);
-//    if (is_loose_event) outputSGKey = m_config->sgKeyMissingEtLoose(hash);
-//
-//    outputSGKey+=outputContainerSuffix;
-//    std::string outputSGKeyAux = outputSGKey + "Aux.";
-//
-//    xAOD::TReturnCode save = evtStore()->tds()->record(new_met_container, outputSGKey);
-//    xAOD::TReturnCode saveAux = evtStore()->tds()->record(new_met_aux_container, outputSGKeyAux);
-//
-//    if (!save || !saveAux) {
-//      return StatusCode::FAILURE;
-//    }
+  StatusCode MissingETObjectCollectionMaker::recalculateEventMET(const xAOD::SystematicEvent* event,
+                                                                 const xAOD::MissingETContainer* xaod_met_core,
+                                                                 const bool forceUseLooseObjects,
+                                                                 const std::string& outputContainerSuffix) {
+    // decoration for objects that pass pre OR selection
+    std::string passPreORSelection = "passPreORSelection";
+    const std::string jet_collection = m_config->sgKeyJetsType();
+
+    const bool is_loose_event = (event->isLooseEvent() == 1 ? true : false);
+
+    // default behaviour for top analysis - use the "Tight" definitions
+    bool looseLeptonOR(is_loose_event);
+    if (m_config->doOverlapRemovalOnLooseLeptonDef() || (is_loose_event && m_config->useLooseObjectsInMETInLooseTree()) || (!is_loose_event && m_config->useLooseObjectsInMETInNominalTree()) || forceUseLooseObjects) {
+      looseLeptonOR = true;
+      // change decoration we check
+      passPreORSelection = "passPreORSelectionLoose";
+    }
+
+    const std::size_t hash = event->hashValue();
+
+    // Make a new MET container that we are going to use
+    xAOD::MissingETContainer* new_met_container = new xAOD::MissingETContainer();
+    xAOD::MissingETAuxContainer* new_met_aux_container = new xAOD::MissingETAuxContainer();
+    new_met_container->setStore(new_met_aux_container);
+
+    const xAOD::MissingETAssociationMap* metMap(nullptr);
+    const std::string metAssocKey = "METAssoc_" + jet_collection;
+    top::check(evtStore()->retrieve(metMap, metAssocKey), "Failed to retrive MET map");
+    xAOD::MissingETAssociationHelper metHelper(metMap);
+
+    // Reset all the met map associations
+    metHelper.resetObjSelectionFlags();
+
+    // Apparently we need to add objects to the METMaker in a specific order
+    // Start by retrieving jet container, we need it to perform e-jet ghost-matching
+    // 1. Electrons
+    const xAOD::ElectronContainer* xaod_el(nullptr);
+    if (m_config->useElectrons()) {
+      // Get all calibrated electrons
+      top::check(evtStore()->retrieve(xaod_el, m_config->sgKeyElectrons(hash)), "Failed to retrieve Electrons");
+
+      // Add those that pass pre-overlap removal selection to met_electrons
+      ConstDataVector<xAOD::ElectronContainer> met_electrons(SG::VIEW_ELEMENTS);
+      for (const auto& el: *xaod_el)
+        if (el->isAvailable<char>(passPreORSelection)
+            && el->auxdata<char>(passPreORSelection) == 1) met_electrons.push_back(el);
+
+      // Recalculate electron MET term using electrons that pass overlap removal
+      top::check(m_met_maker->rebuildMET("RefEle",
+                                         xAOD::Type::Electron,
+                                         new_met_container,
+                                         met_electrons.asDataVector(),
+                                         &metHelper),
+                                         "Failed to rebuild electron MET term");
+    }
+
+    // 2. Photons
+    if (m_config->usePhotons()) {
+      // Get calibrated photons
+      const xAOD::PhotonContainer* xaod_photon(nullptr);
+      top::check(evtStore()->retrieve(xaod_photon, m_config->sgKeyPhotons(hash)), "Failed to retrieve Photons");
+
+      // Add those that pass pre-overlap removal to met_photons
+      ConstDataVector<xAOD::PhotonContainer> met_photons(SG::VIEW_ELEMENTS);
+      for (const auto& photon: *xaod_photon)
+        if (photon->isAvailable<char>(passPreORSelection)
+            && photon->auxdata<char>(passPreORSelection) == 1) met_photons.push_back(photon);
+
+      top::check(m_met_maker->rebuildMET("RefPhoton",
+                                         xAOD::Type::Photon,
+                                         new_met_container,
+                                         met_photons.asDataVector(),
+                                         &metHelper),
+                                         "Failed to rebuild photon MET term");
+    }
+
+    // 3. Taus
+    if (m_config->useTaus()) {
+      // Get calibrated taus
+      const xAOD::TauJetContainer* xaod_tau(nullptr);
+      top::check(evtStore()->retrieve(xaod_tau, m_config->sgKeyTaus(hash)), "Failed to retrieve Taus");
+
+      // Add those that pass pre-overlap removal to met_taus
+      ConstDataVector<xAOD::TauJetContainer> met_taus(SG::VIEW_ELEMENTS);
+      for (const auto& tau: *xaod_tau)
+        if (tau->isAvailable<char>(passPreORSelection)
+            && tau->auxdata<char>(passPreORSelection) == 1) met_taus.push_back(tau);
+
+      top::check(m_met_maker->rebuildMET("RefTau",
+                                         xAOD::Type::Tau,
+                                         new_met_container,
+                                         met_taus.asDataVector(),
+                                         &metHelper),
+                                         "Failed to rebuild tau MET term");
+    }
+
+    xAOD::JetContainer* xaod_jet(nullptr);
+    top::check(evtStore()->retrieve(xaod_jet, m_config->sgKeyJets(hash, looseLeptonOR)), "Failed to retrieve Jets");
+    // 4. Muons
+    const xAOD::MuonContainer* xaod_mu(nullptr); // Need these for ghost matching
+    if (m_config->useMuons()) {
+      // Get calibrated muons
+      top::check(evtStore()->retrieve(xaod_mu, m_config->sgKeyMuons(hash)), "Failed to retrieve Muons");
+
+      // Add those that pass pre-overlap removal to met_muons
+      ConstDataVector<xAOD::MuonContainer> met_muons(SG::VIEW_ELEMENTS);
+      for (const auto& mu: *xaod_mu)
+        if (mu->isAvailable<char>(passPreORSelection)
+            && mu->auxdata<char>(passPreORSelection) == 1) met_muons.push_back(mu);
+
+      // Recalculate muon MET term using muons that pass overlap removal
+      top::check(m_met_maker->rebuildMET("RefMuon",
+                                         xAOD::Type::Muon,
+                                         new_met_container,
+                                         met_muons.asDataVector(),
+                                         &metHelper),
+                                         "Failed to rebuild muon MET term");
+
+      // Muon-jet ghost association
+      // performed after muon handing to METUtility, but before jets
+      if (xaod_mu && xaod_jet) {
+        met::addGhostMuonsToJets(*xaod_mu, *xaod_jet);
+      }
+    } else {
+      ConstDataVector<xAOD::MuonContainer> met_muons(SG::VIEW_ELEMENTS);
+      top::check(m_met_maker->rebuildMET("RefMuon",
+                                         xAOD::Type::Muon,
+                                         new_met_container,
+                                         met_muons.asDataVector(),
+                                         &metHelper),
+                                         "Failed to rebuild muon MET term");
+    }
+
+
+    // 5. Jets
+    // We do not perfom any selection on jets here. Give them all to the METMaker, it does its own thing
+    top::check(m_met_maker->rebuildJetMET("RefJet",
+                                          "SoftClus",
+                                          "PVSoftTrk",
+                                          new_met_container,
+                                          xaod_jet,
+                                          xaod_met_core,
+                                          &metHelper,
+                                          m_config->doJVTinMET()),
+                                          "Failed to rebuild jet MET term");
+
+
+
+    for (auto systematic : m_specifiedSystematics) {
+      if (systematic.hash() == event->hashValue() && systematic.hash() != m_config->nominalHashValue()) {
+        ///-- Tell tool which systematic to use --///
+        top::check(m_met_systematics->applySystematicVariation(systematic), "Failed to applySystematicVariation");
+
+        // code lifted and modified from:
+        // https://svnweb.cern.ch/trac/atlasoff/browser/Reconstruction/MET/METUtilities/tags/METUtilities-00-01-43/util/example_METMaker_METSystematicsTool.cxx
+
+        //get the soft cluster term, and applyCorrection
+        xAOD::MissingET* softClusMet = (*new_met_container)["SoftClus"];
+        if (softClusMet != nullptr) { //check we retrieved the clust term
+          top::check(m_met_systematics->applyCorrection(*softClusMet), "Failed to applyCorrection");
+        }
+
+        xAOD::MissingET* softTrkMet = (*new_met_container)["PVSoftTrk"];
+        if (softTrkMet != nullptr) { //check we retrieved the soft trk
+          top::check(m_met_systematics->applyCorrection(*softTrkMet), "Failed to applyCorrection");
+        }
+      }
+    }
+
+    // This will sum up all the contributions we've made so far e.g.
+    // Total MET = RefEle + RefPhoton + RefTau + RefMuon + RefJet + PVSoftTrk (Track Soft Term)
+    top::check(met::buildMETSum("FinalTrk",
+                                new_met_container,
+                                MissingETBase::Source::Track),
+               "Failed to rebuild Final Track MET");
+
+    /************************************************************
+       // We are only going to build a single MET Sum now for clarity. The final argument is the soft term we
+       // want to use. The recommended one is the track soft term (TST) as above.
+
+       top::check(mer::buildMETSum("FinalClus", new_met_container, MissingETBase::Source::EMTopo),
+              "Failed to rebuild Final Cluster MET");
+    ************************************************************/
+
+    // Save corrected xAOD Container to StoreGate / TStore
+    std::string outputSGKey = m_config->sgKeyMissingEt(hash);
+    if (is_loose_event) outputSGKey = m_config->sgKeyMissingEtLoose(hash);
+
+    outputSGKey+=outputContainerSuffix;
+    const std::string outputSGKeyAux = outputSGKey + "Aux.";
+
+    xAOD::TReturnCode save = evtStore()->tds()->record(new_met_container, outputSGKey);
+    xAOD::TReturnCode saveAux = evtStore()->tds()->record(new_met_aux_container, outputSGKeyAux);
+
+    if (!save || !saveAux) {
+      return StatusCode::FAILURE;
+    }
 
 
     return StatusCode::SUCCESS;
@@ -346,7 +350,7 @@ namespace top {
             if (specifiedSystematics.size() > 0) {
               for (auto i : specifiedSystematics) {
                 TreeFilter filter(i);
-		if (!filter.filterTree(s.name())) {
+                if (!filter.filterTree(s.name())) {
                   m_specifiedSystematics.push_back(s);
                 }
               }
diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/TopSystematicObjectMaker/MissingETObjectCollectionMaker.h b/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/TopSystematicObjectMaker/MissingETObjectCollectionMaker.h
index a13fedc6878abdc4bc17277e331451d0df1b7b73..71f98e55f2231caad5621b21674b7e537740c92f 100644
--- a/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/TopSystematicObjectMaker/MissingETObjectCollectionMaker.h
+++ b/PhysicsAnalysis/TopPhys/xAOD/TopSystematicObjectMaker/TopSystematicObjectMaker/MissingETObjectCollectionMaker.h
@@ -1,8 +1,7 @@
 /*
-   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+   Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
  */
 
-// $Id: MissingETObjectCollectionMaker.h 683191 2015-07-15 16:05:25Z morrisj $
 #ifndef ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MISSINGETOBJECTCOLLECTIONMAKER_H
 #define ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MISSINGETOBJECTCOLLECTIONMAKER_H
 
@@ -12,9 +11,6 @@
  * @brief MissingETObjectCollectionMaker
  *   Makes all systematic variations of Missing ET
  *
- * $Revision: 683191 $
- * $Date: 2015-07-15 17:05:25 +0100 (Wed, 15 Jul 2015) $
- *
  **/
 
 // system include(s):
@@ -50,7 +46,7 @@ namespace top {
     MissingETObjectCollectionMaker& operator = (const MissingETObjectCollectionMaker& rhs) = delete;
 
     StatusCode initialize();
-    StatusCode recalculateMET(bool);
+    StatusCode recalculateMET(const bool executeNominal);
 
     // return specific Systematic
     inline virtual const std::list<CP::SystematicSet>& specifiedSystematics() const {return m_specifiedSystematics;}
@@ -63,9 +59,8 @@ namespace top {
   private:
     StatusCode recalculateEventMET(const xAOD::SystematicEvent* event,
                                    const xAOD::MissingETContainer* met_core,
-                                   const xAOD::MissingETAssociationMap* met_map,
-                                   bool forceUseLooseObjects=false,
-                                   std::string outputContainerSuffix="");
+                                   const bool forceUseLooseObjects=false,
+                                   const std::string& outputContainerSuffix="");
 
     std::shared_ptr<top::TopConfig> m_config;
 
@@ -73,7 +68,6 @@ namespace top {
     std::list<CP::SystematicSet> m_recommendedSystematics;
 
     std::string m_MET_core;
-    std::string m_MET_map;
 
     ToolHandle<IMETMaker> m_met_maker;
     ToolHandle<IMETSystematicsTool> m_met_systematics;