From 89c1c45dca9d189b81bff1a43ef4944a1f15ae42 Mon Sep 17 00:00:00 2001
From: Savanna Marie Shaw <savanna.marie.shaw@cern.ch>
Date: Wed, 25 Jan 2017 09:27:36 +0100
Subject: [PATCH] Fix naming bug in msonly isolation (TrigMuonEF-00-04-85)

	* Fix naming bug in msonly isolation
	* TrigMuonEF-00-04-85

2017-01-24 Savanna Shaw
	* Include possibilty to apply isolation to MS-only muons
	* TrigMuonEF-00-04-84
---
 .../TrigMuonEF/python/TrigMuonEFConfig.py     | 35 +++++++++++++++++++
 .../src/TrigMuonEFTrackIsolation.cxx          | 13 +++++++
 2 files changed, 48 insertions(+)

diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
index cdadeac3f06a..0b1f38d1ae3a 100755
--- a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
@@ -542,6 +542,41 @@ class TrigMuonEFTrackIsolationConfig (TrigMuonEFTrackIsolation):
         self.AthenaMonTools = [ validation_trkiso, online_trkiso ]
 
 
+class TrigMuonEFMSTrackIsolationConfig (TrigMuonEFTrackIsolation):
+    __slots__ = ()
+
+    def __init__( self, name="TrigMuonEFMSTrackIsolationConfig" ):
+        super( TrigMuonEFMSTrackIsolationConfig, self ).__init__( name )
+
+        # configure the isolation tool
+        TMEF_IsolationTool = TrigMuonEFTrackIsolationTool(name = 'TMEF_IsolationTool',
+                                                 deltaZCut = 6.0*mm, 
+                                                 removeSelf=True,
+                                                 useAnnulus=False,
+						 useVarIso=False) 
+
+        # Isolation tool
+        self.IsolationTool = TMEF_IsolationTool
+
+        # ID tracks
+        #self.IdTrackParticles = "InDetTrigParticleCreation_FullScan_EFID"
+        #self.IdTrackParticles = "InDetTrigParticleCreation_MuonIso_EFID"
+        self.IdTrackParticles = "InDetTrigTrackingxAODCnv_Muon_IDTrig"
+
+        # Only run algo on combined muons
+        self.requireCombinedMuon = False
+
+        # Use offline isolation variables
+        self.useVarIso = False
+
+        # histograms
+        self.histoPathBase = ""
+        validation_trkiso = TrigMuonEFTrackIsolationValidationMonitoring()
+        online_trkiso     = TrigMuonEFTrackIsolationOnlineMonitoring()
+
+        self.AthenaMonTools = [ validation_trkiso, online_trkiso ]
+
+
 class TrigMuonEFTrackIsolationVarConfig (TrigMuonEFTrackIsolation):
     __slots__ = ()
 
diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFTrackIsolation.cxx b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFTrackIsolation.cxx
index 91b12923c538..6daf1dec0037 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFTrackIsolation.cxx
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFTrackIsolation.cxx
@@ -248,6 +248,19 @@ TrigMuonEFTrackIsolation::hltExecute(const HLT::TriggerElement* inputTE, HLT::Tr
 	  }
 	  continue;
 	}//requireCombined
+	else{
+	  if( muontype == xAOD::Muon::MuonType::MuonStandAlone ){
+	    if(m_debug) {
+	      msg() << MSG::DEBUG << "EF muon has standalone muon" << endmsg;
+	    }
+	  }
+	  else{
+	    if(m_debug) {
+	      msg() << MSG::DEBUG << "EF muon has neither combined, segment tagged, nor standalone muon" << endmsg;
+	    }
+	    continue;
+	  }
+	}
       }//no combined muon
     
       std::vector<double> isoResults;
-- 
GitLab