diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
index 97ad245a7fb6050944a92cba65ac8e7fcd812500..8c79e8ebac42b42a92a98d23f8331986ab40fc41 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
@@ -39,6 +39,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Reconstruction/MuonIdentification/MuonCombinedToolInterfaces
                           Reconstruction/MuonIdentification/MuonSegmentTaggers/MuonSegmentTaggerToolInterfaces
                           Reconstruction/MuonIdentification/muonEvent
+			  Reconstruction/MuonIdentification/MuidEvent
                           Reconstruction/ParticleTruth
                           Reconstruction/RecoTools/RecoToolInterfaces
                           Reconstruction/RecoTools/TrackToCalo
@@ -66,5 +67,5 @@ atlas_add_component( MuonCombinedBaseTools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloEvent AthLinks AthenaBaseComps Identifier EventPrimitives FourMomUtils xAODCaloEvent xAODEventInfo xAODMuon xAODTracking xAODTruth GaudiKernel MagFieldInterfaces MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSegmentMakerUtils MuonSelectorToolsLib ICaloTrkMuIdTools MuGirlInterfaces MuidInterfaces MuonCombinedEvent MuonCombinedToolInterfaces muonEvent ParticleTruth RecoToolInterfaces TrackToCaloLib TrkGeometry TrkSurfaces TrkCaloExtension TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkParameters TrkParametersIdentificationHelpers TrkSegment TrkTrack TrkTrackSummary TrkExInterfaces TrkToolInterfaces )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloEvent AthLinks AthenaBaseComps Identifier EventPrimitives FourMomUtils xAODCaloEvent xAODEventInfo xAODMuon xAODTracking xAODTruth GaudiKernel MagFieldInterfaces MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSegmentMakerUtils MuonSelectorToolsLib ICaloTrkMuIdTools MuGirlInterfaces MuidInterfaces MuonCombinedEvent MuonCombinedToolInterfaces muonEvent MuidEvent ParticleTruth RecoToolInterfaces TrackToCaloLib TrkGeometry TrkSurfaces TrkCaloExtension TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkParameters TrkParametersIdentificationHelpers TrkSegment TrkTrack TrkTrackSummary TrkExInterfaces TrkToolInterfaces )
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/cmt/requirements b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/cmt/requirements
index 54581ecb47d90e5794e731e2e30182139a00df62..dc2b0c3505c459601df9ab853a8150b98f9f1967 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/cmt/requirements
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/cmt/requirements
@@ -23,6 +23,7 @@ use  MuGirlInterfaces           MuGirlInterfaces-*              Reconstruction/M
 use  MuidInterfaces             MuidInterfaces-*                Reconstruction/MuonIdentification
 use  MuonCombinedEvent          MuonCombinedEvent-*             Reconstruction/MuonIdentification
 use  MuonCombinedToolInterfaces MuonCombinedToolInterfaces-*    Reconstruction/MuonIdentification
+use  MuidEvent                  MuidEvent-*                     Reconstruction/MuonIdentification
 use  MuonIdHelpers              MuonIdHelpers-*                 MuonSpectrometer
 use  MuonReadoutGeometry        MuonReadoutGeometry-*           MuonSpectrometer/MuonDetDescr
 use  MuonRIO_OnTrack            MuonRIO_OnTrack-*               MuonSpectrometer/MuonReconstruction/MuonRecEvent
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.cxx
index 64f27bdb4cd12c75951fa5bc8a0472cc5905a34b..b984029cc5c4596a6dc1191cf1ad1cfb75006094 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.cxx
@@ -50,7 +50,7 @@ namespace MuonCombined {
     return StatusCode::SUCCESS;
   }
 
-  void MuGirlTagTool::extend( const InDetCandidateCollection& inDetCandidates ) const {
+  void MuGirlTagTool::extend( const InDetCandidateCollection& inDetCandidates ) {
     if (m_pMuGirlReconstruction->MuGirlReco(inDetCandidates).isFailure()) {
       ATH_MSG_ERROR("MuGirl reconstruction failed!");
     }
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.h
index c8ac54f20809383db2482f59ce3648c86bf0d87e..2502976d5a177b7435eab1cf57de13119aad467f 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuGirlTagTool.h
@@ -20,13 +20,13 @@ namespace MuonCombined {
 
   public:
     MuGirlTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-    ~MuGirlTagTool(void); // destructor
+    virtual ~MuGirlTagTool(void); // destructor
   
-    StatusCode initialize();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode finalize() override;
 
     /**IMuonCombinedInDetExtensionTool interface: extend ID candidate */    
-    void extend( const InDetCandidateCollection& inDetCandidates ) const;
+    virtual void extend( const InDetCandidateCollection& inDetCandidates ) override;
 
 
   private:
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
index bad6a6ef594994799dbbfddf3047aaa1b11faadc..2a0966a3d2105e80a505aee2006c68b92f58c74e 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
@@ -142,13 +142,13 @@ namespace MuonCombined {
   
   }
 
-  void MuonCaloTagTool::extend( const InDetCandidateCollection& inDetCandidates ) const {
+  void MuonCaloTagTool::extend( const InDetCandidateCollection& inDetCandidates ) {
     extend(inDetCandidates, nullptr, nullptr);
   }
 
   void MuonCaloTagTool::extend( const InDetCandidateCollection& inDetCandidates,
                                 const CaloCellContainer* caloCellCont,
-                                const xAOD::CaloClusterContainer* caloClusterCont) const {
+                                const xAOD::CaloClusterContainer* caloClusterCont) {
 
 
     //return;
@@ -361,7 +361,7 @@ namespace MuonCombined {
   
   // applyTrackIsolation check 
   
-  bool MuonCaloTagTool::applyTrackIsolation(const xAOD::TrackParticle& tp ) const {
+  bool MuonCaloTagTool::applyTrackIsolation(const xAOD::TrackParticle& tp ) {
 
     if( m_trackIsolationTool.empty() ) return true;
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.h
index fd522de5cc8a2c53dc9ac5b6eae8c804b7930f1b..8de9192070f3f7b67da16964a7d97d57f75957dd 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.h
@@ -44,17 +44,19 @@ namespace MuonCombined {
 
   public:
     MuonCaloTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-    ~MuonCaloTagTool(void); // destructor
+    virtual ~MuonCaloTagTool(void); // destructor
   
-    StatusCode initialize();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode finalize() override;
 
     /**IMuonCombinedInDetExtensionTool interface: extend ID candidate */    
-    void extend( const InDetCandidateCollection& inDetCandidates ) const;
+    virtual
+    void extend( const InDetCandidateCollection& inDetCandidates ) override;
 
+    virtual
     void extend( const InDetCandidateCollection& inDetCandidates,
                  const CaloCellContainer* caloCellContainer,
-                 const xAOD::CaloClusterContainer* caloClusterContainer) const;
+                 const xAOD::CaloClusterContainer* caloClusterContainer) override;
 
 
   private:
@@ -65,7 +67,7 @@ namespace MuonCombined {
     //bool applyEnergyIsolation(const xAOD::IParticle* muon);
     bool selectTrack(const Trk::Track* trk, const Trk::Vertex* vertex) const;
     bool selectCosmic(const Trk::Track* ptcl) const;
-    bool applyTrackIsolation(const xAOD::TrackParticle& tp) const;
+    bool applyTrackIsolation(const xAOD::TrackParticle& tp);
     void showTrackInfo(const Trk::TrackParameters* par) const;
 //    std::vector<DepositInCalo> getDeposits(const xAOD::TrackParticle* tp, const CaloCellContainer* caloCellCont) const;
     
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx
index 5f5a25d5acad6e70137374f63abe7b272615fe5a..0f9b86b62826cb042891079943f1aada8fb66528 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.cxx
@@ -53,7 +53,7 @@ namespace MuonCombined {
     return StatusCode::SUCCESS;
   }
 
-  void MuonCandidateTool::create( const xAOD::TrackParticleContainer& tracks, MuonCandidateCollection& outputCollection ) const {
+  void MuonCandidateTool::create( const xAOD::TrackParticleContainer& tracks, MuonCandidateCollection& outputCollection ) {
     ATH_MSG_DEBUG("Producing MuonCandidates for " << tracks.size() );
     unsigned int ntracks = 0;
     const xAOD::EventInfo* eventInfo; 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.h
index a814d9c7dded99704f3563ad43db54fd56bc785a..c7ae8ebc07b63ca94767eacef08cadc2ac3ba362 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCandidateTool.h
@@ -30,13 +30,14 @@ namespace MuonCombined {
 
   public:
     MuonCandidateTool(const std::string& type, const std::string& name, const IInterface* parent);
-    ~MuonCandidateTool(void); // destructor
+    virtual ~MuonCandidateTool(void); // destructor
   
-    StatusCode initialize();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode finalize() override;
 
     /**IMuonCandidateTool interface: build a MuonCandidateCollection from a TrackCollection of spectrometer tracks */
-    void create( const xAOD::TrackParticleContainer& tracks, MuonCandidateCollection& outputCollection ) const;
+    virtual
+    void create( const xAOD::TrackParticleContainer& tracks, MuonCandidateCollection& outputCollection ) override;
 
   private:
     ToolHandle<Muon::MuonEDMPrinterTool> m_printer;
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx
index 70d54adda95a511d214f80c3e4cbd52addca20c9..83942fb8a303c0df578ad54a9422551c0cb12d1e 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx
@@ -107,7 +107,7 @@ namespace MuonCombined {
       return StatusCode::SUCCESS;
     }
 
-    void MuonCombinedFitTagTool::combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) {  
+    void MuonCombinedFitTagTool::combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) const {  
 
       ATH_MSG_DEBUG("muon candidate: "<<muonCandidate.toString());
 
@@ -338,7 +338,7 @@ namespace MuonCombined {
   }
 
 
-  void MuonCombinedFitTagTool::evaluateMatchProperties(CombinedFitTag& tag, const Trk::Track& idTrack, const xAOD::TrackParticle& idTrackParticle) 
+  void MuonCombinedFitTagTool::evaluateMatchProperties(CombinedFitTag& tag, const Trk::Track& idTrack, const xAOD::TrackParticle& idTrackParticle) const
   {
     // evaluate field integral and momentum balance significance for combined track
     tag.fieldIntegral(m_trackQuery->fieldIntegral(tag.combinedTrack()));
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h
index 407e21245d67825bbc246b0f6d2449a98627cb53..ba1dfef1592bee4284cf78ce22b61099260a7954 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h
@@ -50,13 +50,14 @@ namespace MuonCombined {
 
   public:
     MuonCombinedFitTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-    ~MuonCombinedFitTagTool(void); // destructor
+    virtual ~MuonCombinedFitTagTool(void); // destructor
   
-    StatusCode initialize();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode finalize() override;
 
     /**IMuonCombinedTagTool interface: build combined  muons from a muon and a vector of indet candidates */    
-    void combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates );
+    virtual 
+    void combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) const override;
 
   private:
 
@@ -67,7 +68,7 @@ namespace MuonCombined {
     bool combinedTrackQualityCheck(const Trk::Track& combinedTrack,
 				   const Trk::Track& indetTrack) const;
       
-    void evaluateMatchProperties(CombinedFitTag& tag, const Trk::Track& idTrack, const xAOD::TrackParticle& idTrackParticle);
+    void evaluateMatchProperties(CombinedFitTag& tag, const Trk::Track& idTrack, const xAOD::TrackParticle& idTrackParticle) const;
 
     bool extrapolatedNeedsRefit(const Trk::Track& combTrack,
 				const Trk::Track* extrTrack) const;
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx
index 3747745f733d082774d5f425852c03a07e9de619..26ca36f07f79df777cfee87be5fcf16a2152f0c7 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx
@@ -55,7 +55,7 @@ namespace MuonCombined {
     return StatusCode::SUCCESS;
   }
 
-  void MuonCombinedStacoTagTool::combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) {  
+  void MuonCombinedStacoTagTool::combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) const {  
 
     // only combine if the back extrapolation was successfull
     if( !muonCandidate.extrapolatedTrack() ||
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h
index 7871345f5dca366c092ca709cb0c3c932977892b..b3d23c5af942a1a7a20bcc4bcc2d21f7d6eaf2bf 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h
@@ -36,13 +36,14 @@ namespace MuonCombined {
 
   public:
     MuonCombinedStacoTagTool(const std::string& type, const std::string& name, const IInterface* parent);
-    ~MuonCombinedStacoTagTool(void); // destructor
+    virtual ~MuonCombinedStacoTagTool(void); // destructor
   
-    StatusCode initialize();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode finalize() override;
 
     /**IMuonCombinedTagTool interface: build combined  muons from a muon and a vector of indet candidates */    
-    void combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates );
+    virtual
+    void combine( const MuonCandidate& muonCandidate, const std::vector<InDetCandidate*>& indetCandidates ) const override;
 
   private:
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
index 560f67f70ad7fc502a9e894722a6aba7c9b0616e..cf956f3044b0b0e3ce781fac831274af6bb2d36b 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
@@ -67,6 +67,7 @@
 #include "MuonCompetingRIOsOnTrack/CompetingMuonClustersOnTrack.h"
 
 #include "MuidInterfaces/IMuonTrackQuery.h"
+#include "MuidEvent/FieldIntegral.h"
 
 #include "TrackSegmentAssociationTool.h"
 #include "MuonIdHelpers/MuonStationIndex.h"
@@ -170,7 +171,7 @@ namespace MuonCombined {
                  << m_applyCaloNoiseCut << " " << m_sigmaCaloNoiseCut);
 
     ATH_CHECK(m_caloMaterialProvider.retrieve());
-    
+
     return StatusCode::SUCCESS;
   }
 
@@ -543,7 +544,7 @@ namespace MuonCombined {
     // Etcore variables for muon
     collectCells(*muon,outputData.clusterContainer);
 
-    ATH_MSG_DEBUG("Done creating muon");
+    ATH_MSG_DEBUG("Done creating muon with "<<muon->auxdata<int>("nUnspoiledCscHits")<<" unspoiled csc hits");
 
     return muon;
   }
@@ -622,7 +623,6 @@ namespace MuonCombined {
   void MuonCreatorTool::addCombinedFit( xAOD::Muon& muon, const CombinedFitTag* tag, OutputData& outputData ) const {
     if (!tag){
       // init variables if necessary.
-      
       return;
     }
     
@@ -1039,6 +1039,11 @@ namespace MuonCombined {
 	    ATH_MSG_DEBUG("Adding standalone fit (refitted): pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
 	    //link.toPersistent();
 	    muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
+	    float fieldInt=m_trackQuery->fieldIntegral(*updatedExtrapolatedTrack).betweenSpectrometerMeasurements();
+	    muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
+	    //TrackSummary* tsum=updatedExtrapolatedTrack->trackSummary();
+	    int nunspoiled=updatedExtrapolatedTrack->trackSummary()->get(Trk::numberOfCscUnspoiltEtaHits);
+	    muon.auxdata<int>("nUnspoiledCscHits")=nunspoiled;
 	  }
 	}
 	else{ //no refitted track, so add original un-refitted extrapolated track as ME track
@@ -1050,6 +1055,10 @@ namespace MuonCombined {
 	    ATH_MSG_DEBUG("Adding standalone fit (un-refitted): pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
 	    //link.toPersistent();
 	    muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
+	    float fieldInt=m_trackQuery->fieldIntegral(*extrapolatedTrack).betweenSpectrometerMeasurements();
+	    muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
+            int nunspoiled=extrapolatedTrack->trackSummary()->get(Trk::numberOfCscUnspoiltEtaHits);
+	    muon.auxdata<int>("nUnspoiledCscHits")=nunspoiled;
 	  }
 	}
       }
@@ -1063,8 +1072,14 @@ namespace MuonCombined {
 	  ATH_MSG_DEBUG("Adding standalone fit: pt " << (*link)->pt() << " eta " << (*link)->eta() << " phi " << (*link)->phi() );
 	  //link.toPersistent();
 	  muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
+	  float fieldInt=m_trackQuery->fieldIntegral(*extrapolatedTrack).betweenSpectrometerMeasurements();
+	  muon.setParameter(fieldInt,xAOD::Muon::spectrometerFieldIntegral);
+	  int nunspoiled=extrapolatedTrack->trackSummary()->get(Trk::numberOfCscUnspoiltEtaHits);
+	  muon.auxdata<int>("nUnspoiledCscHits")=nunspoiled;
+	}
+	else{
+	  ATH_MSG_WARNING("failed to create ME track particle for SA muon");
 	}
-	else ATH_MSG_WARNING("failed to create ME track particle for SA muon");
       }
     }
   }
@@ -1420,6 +1435,10 @@ namespace MuonCombined {
     
     if( !m_trackSegmentAssociationTool.empty() ) addSegmentsOnTrack(muon);
 
+    if(!muon.isAvailable<int>("nUnspoiledCscHits")){
+      muon.auxdata<int>("nUnspoiledCscHits")=-999;
+    }
+
     return true;
   }
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.h
index 2a409d536aa64503349c0b6ea6640ba1729974b2..1170502249c0b50ed0af125ed4b7a0dfbf8af5fb 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.h
@@ -190,7 +190,8 @@ namespace MuonCombined {
     ToolHandle<Rec::IMuonPrintingTool>            m_muonPrinter;
     ToolHandle<Trk::IParticleCaloExtensionTool>   m_caloExtTool;
     ToolHandle<Trk::ITrackParticleCreatorTool>    m_particleCreator;
-    ToolHandle<Trk::ITrackAmbiguityProcessorTool> m_ambiguityProcessor;
+    // FIXME mutable
+    mutable ToolHandle<Trk::ITrackAmbiguityProcessorTool> m_ambiguityProcessor;
     ToolHandle<Trk::IPropagator>                  m_propagator;
     ToolHandle<xAOD::IMuonDressingTool>           m_muonDressingTool;
     ToolHandle<Rec::IMuonMomentumBalanceSignificance> m_momentumBalanceTool;