From dc1969b8be6a43ec4d7b97cdba873492dfa3d874 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Wed, 19 Aug 2020 03:00:32 +0100
Subject: [PATCH] InDetConversionSelector : Remove un-needed TrackSummary Tool,
 Make Extrapolator Private, update configs

---
 .../python/ConfiguredSecVertexFinding.py      |  12 +-
 .../InDetConversionTrackSelectorTool.h        | 145 +++++++++---------
 .../src/InDetConversionTrackSelectorTool.cxx  |  51 +++---
 .../egammaAlgs/python/EMVertexBuilder.py      |  25 +--
 .../egammaTools/python/egammaExtrapolators.py |  11 +-
 5 files changed, 105 insertions(+), 139 deletions(-)

diff --git a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredSecVertexFinding.py b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredSecVertexFinding.py
index af37ac352856..6f4f27828233 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredSecVertexFinding.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredSecVertexFinding.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
 
@@ -17,7 +17,6 @@ class ConfiguredSecVertexFinding:
                  TrackParticles=None,
                  SecVertices=None,
                  Extrapolator=None,
-                 TrackSummaryTool=None,
                  MagFieldSvc=None,
                  printConfig=False):
 
@@ -43,7 +42,6 @@ class ConfiguredSecVertexFinding:
             FirstMeasuredPointLimit=VertexCuts.FirstMeasuredPointLimit(),
             usePhiCnst=VertexCuts.usePhiCnst(),
             useThetaCnst=VertexCuts.useThetaCnst())
-        ToolSvc += InDetSecVxFitterTool
         if (printConfig):
             print(InDetSecVxFitterTool)
         #
@@ -63,7 +61,6 @@ class ConfiguredSecVertexFinding:
             InDet__ConversionFinderUtils)
         InDetSecVxHelper = InDet__ConversionFinderUtils(
             name=prefix+"FinderUtils")
-        ToolSvc += InDetSecVxHelper
         if (printConfig):
             print(InDetSecVxHelper)
         #
@@ -73,7 +70,6 @@ class ConfiguredSecVertexFinding:
             InDet__InDetConversionTrackSelectorTool)
         InDetSecVxTrackSelector = InDet__InDetConversionTrackSelectorTool(
             name=prefix+"TrackSelector",
-            TrackSummaryTool=TrackSummaryTool,
             Extrapolator=Extrapolator,
             maxSiD0=VertexCuts.TrkSel_maxSiD0(),
             maxTrtD0=VertexCuts.TrkSel_maxTrtD0(),
@@ -88,7 +84,6 @@ class ConfiguredSecVertexFinding:
             significanceD0_Si=VertexCuts.TrkSel_significanceD0_Si(),
             RatioV0=VertexCuts.TrkSel_RatioV0())
 
-        ToolSvc += InDetSecVxTrackSelector
         if (printConfig):
             print(InDetSecVxTrackSelector)
         #
@@ -105,7 +100,6 @@ class ConfiguredSecVertexFinding:
             MaxEta=VertexCuts.TrkPairSel_MaxEta(),
             MaxInitDistance=VertexCuts.TrkPairSel_MaxInitDistance(),
             MinTrackAngle=VertexCuts.TrkPairSel_MinTrackAngle())
-        ToolSvc += InDetSecVxTrackPairsSelector
         if (printConfig):
             print(InDetSecVxTrackPairsSelector)
         #
@@ -118,7 +112,6 @@ class ConfiguredSecVertexFinding:
             MinDeltaR=VertexCuts.VtxPt_MinDeltaR(),
             MaxDeltaR=VertexCuts.VtxPt_MaxDeltaR(),
             MaxPhi=VertexCuts.VtxPt_MaxPhi())
-        ToolSvc += InDetSecVtxPointEstimator
         if (printConfig):
             print(InDetSecVtxPointEstimator)
         #
@@ -135,7 +128,6 @@ class ConfiguredSecVertexFinding:
             MinPt=VertexCuts.SecVtxPost_MinPt(),
             MaxdR=VertexCuts.SecVtxPost_MaxdR(),
             MaxPhiVtxTrk=VertexCuts.SecVtxPost_MaxPhiVtxTrk())
-        ToolSvc += InDetSecVtxPostSelector
         if (printConfig):
             print(InDetSecVtxPostSelector)
         #
@@ -151,7 +143,6 @@ class ConfiguredSecVertexFinding:
             MinInitialHitRadius=VertexCuts.SingleTrk_MinInitialHitRadius(),
             MinInitialHitRadius_noBlay=VertexCuts.SingleTrk_MinInitialHitRadius_noBlay(),
             MinRatioOfHLhits=VertexCuts.SingleTrk_MinRatioOfHLhits())
-        ToolSvc += InDetSingleTrackSecVtx
         if (printConfig):
             print(InDetSingleTrackSecVtx)
         #
@@ -175,7 +166,6 @@ class ConfiguredSecVertexFinding:
             MaxDistVtxHit=VertexCuts.Finder_MaxDistVtxHit(),
             MinFlightAngle=VertexCuts.Finder_MinFlightAngle(),
             MinInitVtxR=VertexCuts.Finder_MinInitVtxR())
-        ToolSvc += InDetSecVtxFinderTool
         if (printConfig):
             print(InDetSecVtxFinderTool)
 
diff --git a/InnerDetector/InDetRecTools/InDetTrackSelectorTool/InDetTrackSelectorTool/InDetConversionTrackSelectorTool.h b/InnerDetector/InDetRecTools/InDetTrackSelectorTool/InDetTrackSelectorTool/InDetConversionTrackSelectorTool.h
index 7e0a55c15cf6..1574604a2bf6 100644
--- a/InnerDetector/InDetRecTools/InDetTrackSelectorTool/InDetTrackSelectorTool/InDetConversionTrackSelectorTool.h
+++ b/InnerDetector/InDetRecTools/InDetTrackSelectorTool/InDetTrackSelectorTool/InDetConversionTrackSelectorTool.h
@@ -1,90 +1,97 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef InDetTrackSelectorTool_InDetConversionTrackSelectorTool_H
 #define InDetTrackSelectorTool_InDetConversionTrackSelectorTool_H
 
-//#include "GaudiKernel/MsgStream.h"
+#include "TrkToolInterfaces/ITrackSelectorTool.h"
 #include "AthenaBaseComps/AthAlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
+#include "BeamSpotConditionsData/BeamSpotData.h"
 #include "GaudiKernel/ServiceHandle.h"
-#include "TrkToolInterfaces/ITrackSelectorTool.h"
+#include "GaudiKernel/ToolHandle.h"
+#include "TrkExInterfaces/IExtrapolator.h"
 #include "xAODTracking/TrackParticle.h"
-#include "BeamSpotConditionsData/BeamSpotData.h"
 /**
- * A tool to be used for track preselection in conversion 
+ * A tool to be used for track preselection in conversion
  * vertex finding.
  *
  * Thomas Koffas <Thomas.Koffas@cern.ch>
  * June 2008
  */
 
-
-namespace Trk
-{
- class ITrackSummaryTool;
- class Vertex;
- class IExtrapolator;
- class Track;
- class TrackParticleBase;
+namespace Trk {
+class Vertex;
+class Track;
+class TrackParticleBase;
 }
 
-namespace InDet
+namespace InDet {
+
+class InDetConversionTrackSelectorTool
+  : virtual public Trk::ITrackSelectorTool
+  , public AthAlgTool
 {
- 
- class InDetConversionTrackSelectorTool : virtual public Trk::ITrackSelectorTool, public AthAlgTool  
- {
- 
-   public:
-    
-    virtual StatusCode initialize() override;
-    
-    InDetConversionTrackSelectorTool(const std::string& t, const std::string& n, const IInterface*  p); 
- 
-    ~InDetConversionTrackSelectorTool();
-  
-    /** Select a Trk::Track  */
-    virtual bool decision(const Trk::Track& track,const Trk::Vertex* vertex) const override;
-  
-    /** Select a Trk::TrackParticleBase  */
-    virtual bool decision(const Trk::TrackParticleBase& track,const Trk::Vertex* vertex) const override;
-
-    virtual bool decision(const xAOD::TrackParticle&,const xAOD::Vertex*) const override;
-
-
-    
-   private:
-   
-    int getCount( const xAOD::TrackParticle& tp, xAOD::SummaryType type ) const {
-      uint8_t val;
-      if( !tp.summaryValue(val,type) ) return 0;
-      return val > 0 ? val : 0;
-    }
-    
-    Amg::Vector3D getPosOrBeamSpot(const xAOD::Vertex*) const;
-   
-    ToolHandle <Trk::ITrackSummaryTool>       m_trkSumTool;   //!< Track summary tool
-    ToolHandle<Trk::IExtrapolator>            m_extrapolator; //!< Extrapolator tool
-    SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
-    /** Properties for track selection:all cuts are ANDed */
-    double m_maxSiD0;  //!< Maximal d0 at (0,0,0) for tracks with Si hits
-    double m_maxTrtD0; //!< Maximal d0 at (0,0,0) for standalone TRT tracks
-    double m_maxSiZ0;  //!< Maximal z0 at (0,0,0)
-    double m_maxTrtZ0; //!< Maximal z0 at (0,0,0) for standalone TRT tracks
-    double m_minPt;    //!< Minimum Pt of tracks
-    double m_trRatio1; //!< TR ratio for tracks with 15-20 TRT hits
-    double m_trRatio2; //!< TR ratio for tracks with 20-25 TRT hits
-    double m_trRatio3; //!< TR ratio for tracks with >25 TRT hits
-    double m_trRatioTRT;//!< TR ratio for TRT only tracks
-    double m_trRatioV0;//!< TR ratio for pion selection during V0 reconstruction
-    double m_sD0_Si;   //!< Cut on D0 significance of Si tracks
-    double m_sD0_Trt;  //!< Cut on D0 significance of TRT tracks
-    double m_sZ0_Trt;  //!< Cut on Z0 significance of TRT tracks
-    bool   m_isConv;   //!< Conversion flag
-    bool   m_PIDonlyForXe; //!< Only check TRT PID if all hits are Xe hits
-
- }; //end of class definitions
-} //end of namespace definitions
+
+public:
+  virtual StatusCode initialize() override;
+
+  InDetConversionTrackSelectorTool(const std::string& t,
+                                   const std::string& n,
+                                   const IInterface* p);
+
+  virtual ~InDetConversionTrackSelectorTool() =default;
+
+  /** Select a Trk::Track  */
+  virtual bool decision(const Trk::Track& track,
+                        const Trk::Vertex* vertex) const override final;
+
+  /** Select a Trk::TrackParticleBase  */
+  virtual bool decision(const Trk::TrackParticleBase& track,
+                        const Trk::Vertex* vertex) const override final;
+
+  virtual bool decision(const xAOD::TrackParticle&,
+                        const xAOD::Vertex*) const override final;
+
+private:
+  int getCount(const xAOD::TrackParticle& tp, xAOD::SummaryType type) const
+  {
+    uint8_t val;
+    if (!tp.summaryValue(val, type))
+      return 0;
+    return val > 0 ? val : 0;
+  }
+
+  Amg::Vector3D getPosOrBeamSpot(const xAOD::Vertex*) const;
+
+  ToolHandle<Trk::IExtrapolator> m_extrapolator{ this,
+                                                 "Extrapolator",
+                                                 "",
+                                                 "Extrapolator Tool" };
+  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey{
+    this,
+    "BeamSpotKey",
+    "BeamSpotData",
+    "SG key for beam spot"
+  };
+  /** Properties for track selection:all cuts are ANDed */
+  double m_maxSiD0;    //!< Maximal d0 at (0,0,0) for tracks with Si hits
+  double m_maxTrtD0;   //!< Maximal d0 at (0,0,0) for standalone TRT tracks
+  double m_maxSiZ0;    //!< Maximal z0 at (0,0,0)
+  double m_maxTrtZ0;   //!< Maximal z0 at (0,0,0) for standalone TRT tracks
+  double m_minPt;      //!< Minimum Pt of tracks
+  double m_trRatio1;   //!< TR ratio for tracks with 15-20 TRT hits
+  double m_trRatio2;   //!< TR ratio for tracks with 20-25 TRT hits
+  double m_trRatio3;   //!< TR ratio for tracks with >25 TRT hits
+  double m_trRatioTRT; //!< TR ratio for TRT only tracks
+  double m_trRatioV0;  //!< TR ratio for pion selection during V0 reconstruction
+  double m_sD0_Si;     //!< Cut on D0 significance of Si tracks
+  double m_sD0_Trt;    //!< Cut on D0 significance of TRT tracks
+  double m_sZ0_Trt;    //!< Cut on Z0 significance of TRT tracks
+  bool m_isConv;       //!< Conversion flag
+  bool m_PIDonlyForXe; //!< Only check TRT PID if all hits are Xe hits
+
+}; // end of class definitions
+} // end of namespace definitions
 
 #endif
diff --git a/InnerDetector/InDetRecTools/InDetTrackSelectorTool/src/InDetConversionTrackSelectorTool.cxx b/InnerDetector/InDetRecTools/InDetTrackSelectorTool/src/InDetConversionTrackSelectorTool.cxx
index 07d9f0f725c8..4b89534e3644 100644
--- a/InnerDetector/InDetRecTools/InDetTrackSelectorTool/src/InDetConversionTrackSelectorTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetTrackSelectorTool/src/InDetConversionTrackSelectorTool.cxx
@@ -3,8 +3,6 @@
 */
 
 #include "InDetTrackSelectorTool/InDetConversionTrackSelectorTool.h"
-#include "TrkToolInterfaces/ITrackSummaryTool.h"
-#include "TrkExInterfaces/IExtrapolator.h"
 #include "VxVertex/Vertex.h"
 #include "TrkTrack/Track.h"
 #include "TrkParticleBase/TrackParticleBase.h"
@@ -22,8 +20,6 @@ namespace InDet
 
  InDetConversionTrackSelectorTool::InDetConversionTrackSelectorTool(const std::string& t, const std::string& n, const IInterface*  p)
  :AthAlgTool(t,n,p),
-  m_trkSumTool("Trk::TrackSummaryTool"),
-  m_extrapolator("Trk::Extrapolator"),
   m_maxSiD0   (35.),
   m_maxTrtD0 (100.),
   m_maxSiZ0  (200.),
@@ -40,8 +36,6 @@ namespace InDet
   m_isConv(true)
  {
    declareInterface<ITrackSelectorTool>(this);
-   declareProperty("TrackSummaryTool",     m_trkSumTool);
-   declareProperty("Extrapolator",         m_extrapolator);
    declareProperty("maxSiD0",              m_maxSiD0);
    declareProperty("maxTrtD0",             m_maxTrtD0);
    declareProperty("maxSiZ0",              m_maxSiZ0);
@@ -60,27 +54,21 @@ namespace InDet
      "Only check TRT PID if all hits are Xe hits");
  }
 
- InDetConversionTrackSelectorTool::~InDetConversionTrackSelectorTool()
- {}
-  
+
  StatusCode  InDetConversionTrackSelectorTool::initialize()
  {
-   /* Get the track summary tool from ToolSvc */
-   ATH_CHECK( m_trkSumTool.retrieve());
-   /* Get the extrapolator tool from ToolSvc */
    ATH_CHECK( m_extrapolator.retrieve() );
-   
    ATH_CHECK(m_beamSpotKey.initialize());
    return StatusCode::SUCCESS;
  }
-    
-    
+
+
  bool InDetConversionTrackSelectorTool::decision(const Trk::Track& track,const Trk::Vertex* vx) const
- {  
+ {
    bool pass = false;
    const Trk::Perigee* perigee=dynamic_cast<const Trk::Perigee*>(track.perigeeParameters());
    const bool vertexSuppliedByUser{vx!=nullptr};
-   const Trk::Vertex* myVertex=vx;    
+   const Trk::Vertex* myVertex=vx;
    //in case no Vertex is provided by the user, beam position will be used if available
    if (not vertexSuppliedByUser) {
      SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey };
@@ -112,8 +100,7 @@ namespace InDet
    }
 
    const Trk::TrackParameters * extrapolatedParameters= m_extrapolator->extrapolate(*firstmeaspar,perigeeSurface,Trk::anyDirection,true,track.info().particleHypothesis() );
-//   const Trk::TrackParameters * extrapolatedParameters= firstmeaspar ? m_extrapolator->extrapolate(*firstmeaspar,perigeeSurface,Trk::anyDirection,true,track.info().particleHypothesis() ) : 0;
-   perigee = extrapolatedParameters ? dynamic_cast<const Trk::Perigee*>(extrapolatedParameters) : 0; 
+   perigee = extrapolatedParameters ? dynamic_cast<const Trk::Perigee*>(extrapolatedParameters) : 0;
    if (perigee==0 || !perigee->covariance() ) {
      ATH_MSG_WARNING( "Track Selector failed to extrapolate track to the vertex: " << myVertex->position() );
      if (extrapolatedParameters!=0) {
@@ -130,7 +117,7 @@ namespace InDet
    double pt = std::fabs(1./qOverP)*std::sin(perigee->parameters()[Trk::theta]);
    double d0 = perigee->parameters()[Trk::d0];
    double z0 = perigee->parameters()[Trk::z0];
-   std::unique_ptr<const Trk::TrackSummary> tSum = m_trkSumTool->summaryNoHoleSearch(track);
+   const Trk::TrackSummary* tSum = track.trackSummary();
    if(tSum){
      double ratioTrk = 1.0;
      int nclus  = tSum->get(Trk::numberOfPixelHits) + tSum->get(Trk::numberOfSCTHits);
@@ -149,7 +136,7 @@ namespace InDet
                if((ntrt<=15 && ratioTrk>=m_trRatio1) ||
                 (ntrt>15 && ntrt<=25 && ratioTrk>=m_trRatio2) ||
                 (ntrt>25 && ratioTrk>=m_trRatio3)) pass = true;
-             } else if (ratioTrk>=m_trRatioTRT) pass = true;  
+             } else if (ratioTrk>=m_trRatioTRT) pass = true;
            }
          }
        }
@@ -213,7 +200,7 @@ namespace InDet
      }
    }
    const Trk::TrackParameters * extrapolatedParameters= m_extrapolator->extrapolate(*firstmeaspar,perigeeSurface,Trk::anyDirection,true,Trk::pion );
-   perigee = extrapolatedParameters ? dynamic_cast<const Trk::Perigee*>(extrapolatedParameters) : 0; 
+   perigee = extrapolatedParameters ? dynamic_cast<const Trk::Perigee*>(extrapolatedParameters) : 0;
    if (perigee==0 || !perigee->covariance()) {
      ATH_MSG_WARNING( "Track Selector failed to extrapolate track to the vertex: " << myVertex->position() );
      if (extrapolatedParameters!=0) {
@@ -225,7 +212,7 @@ namespace InDet
      if (not vertexSuppliedByUser) delete myVertex;
      return false;
    }
-    
+
    double qOverP = perigee->parameters()[Trk::qOverP];
    double pt = std::fabs(1./qOverP)*std::sin(perigee->parameters()[Trk::theta]);
    double d0 = perigee->parameters()[Trk::d0];
@@ -250,7 +237,7 @@ namespace InDet
                if((ntrt<=15 && ratioTrk>=m_trRatio1) ||
                 (ntrt>15 && ntrt<=25 && ratioTrk>=m_trRatio2) ||
                 (ntrt>25 && ratioTrk>=m_trRatio3)) pass = true;
-             } else if (ratioTrk>=m_trRatioTRT) pass = true;  
+             } else if (ratioTrk>=m_trRatioTRT) pass = true;
            }
          }
        }
@@ -275,10 +262,10 @@ namespace InDet
    } else pass = false;
    if (not vertexSuppliedByUser) delete myVertex;
    if (perigee!=&(track.definingParameters())) delete perigee;
-    
+
    return pass;
  }
- 
+
  Amg::Vector3D InDetConversionTrackSelectorTool::getPosOrBeamSpot(const xAOD::Vertex* vertex) const
  {
     if(vertex) return vertex->position();
@@ -286,9 +273,9 @@ namespace InDet
     if(beamSpotHandle.isValid()) return beamSpotHandle->beamVtx().position();
     else return Amg::Vector3D(0,0,0);
  }
- 
+
    // ---------------------------------------------------------------------
-  bool InDetConversionTrackSelectorTool::decision(const xAOD::TrackParticle& tp,const xAOD::Vertex* vertex) const 
+  bool InDetConversionTrackSelectorTool::decision(const xAOD::TrackParticle& tp,const xAOD::Vertex* vertex) const
   {
     bool pass = false;
     const Trk::Perigee& perigee=tp.perigeeParameters();
@@ -316,7 +303,7 @@ namespace InDet
      if(ntrt > 0 && (!m_PIDonlyForXe || nTrtXenonHits==ntrt) ){ // only check TRT PID if m_PIDonlyForXe is false or all TRT hits are Xenon hits
       ratioTrk = tp.summaryValue(temp,xAOD::eProbabilityHT)  ?  temp: 0 ;
      }
- 
+
      if ( pt >= m_minPt ) {
        if ( (nclus==0 && std::fabs(d0)<=m_maxTrtD0) || (nclus>0 && std::fabs(d0)<=m_maxSiD0) ) {
          if ( (nclus==0 && std::fabs(z0)<=m_maxTrtZ0) || (nclus>0 && std::fabs(z0)<=m_maxSiZ0) ) {
@@ -324,7 +311,7 @@ namespace InDet
              if((ntrt<=15 && ratioTrk>=m_trRatio1) ||
               (ntrt>15 && ntrt<=25 && ratioTrk>=m_trRatio2) ||
               (ntrt>25 && ratioTrk>=m_trRatio3)) pass = true;
-           } else if (ratioTrk>=m_trRatioTRT) pass = true;  
+           } else if (ratioTrk>=m_trRatioTRT) pass = true;
          }
        }
      }
@@ -347,8 +334,8 @@ namespace InDet
      if(ratioTrk>m_trRatioV0) pass = false;
     }
 
-        
+
     delete extrapolatedParameters;
     return pass;
-  } 
+  }
 }//end of namespace definitions
diff --git a/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py b/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
index 0738f9e6f45a..3dc5b5097f1f 100644
--- a/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
+++ b/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
@@ -4,35 +4,15 @@ __doc__ = """ToolFactory to instantiate EMVertexBuilder
 with default configuration"""
 __author__ = "Bruno Lenzi"
 
-import InDetRecExample.TrackingCommon as TrackingCommon
 from egammaAlgs import egammaAlgsConf
 from egammaRec.Factories import FcnWrapper, AlgFactory
 from egammaRec import egammaKeys
 from egammaTrackTools.egammaTrackToolsFactories import EMExtrapolationTools
-from egammaTools.egammaExtrapolators import AtlasPublicExtrapolator
+from egammaTools.egammaExtrapolators import egammaExtrapolator
 
 
 class VertexFinderToolInstance(FcnWrapper):
     def __call__(self):
-
-        # In reality we do NOT need a summary tool
-        # but the confgured Secondary vertex
-        # still asks for one (TODO)
-        egammaVtxInDetTrackSummaryHelperTool = (
-            TrackingCommon.getInDetSummaryHelper(
-                name="egammaVtxInDetSummaryHelper",
-                AssoTool=None,
-                HoleSearch=None,
-                DoSharedHits=False,
-                private=True))
-
-        egammaVtxInDetTrackSummaryTool = (
-            TrackingCommon.getInDetTrackSummaryTool(
-                name="egammaVtxInDetTrackSummaryTool",
-                InDetSummaryHelperTool=egammaVtxInDetTrackSummaryHelperTool,
-                doSharedHits=False,
-                doHolesInDet=False))
-
         #
         # Configured conversion vertex reconstruction cuts
         #
@@ -50,8 +30,7 @@ class VertexFinderToolInstance(FcnWrapper):
             VertexCuts=egammaConversionVertexCuts,
             TrackParticles=egammaKeys.outputTrackParticleKey(),
             SecVertices=egammaKeys.outputConversionKey(),
-            Extrapolator=AtlasPublicExtrapolator(),
-            TrackSummaryTool=egammaVtxInDetTrackSummaryTool,
+            Extrapolator=egammaExtrapolator(),
             printConfig=False)
 
         return theemvertexfindertool.toolInstance()
diff --git a/Reconstruction/egamma/egammaTools/python/egammaExtrapolators.py b/Reconstruction/egamma/egammaTools/python/egammaExtrapolators.py
index e3ef3242e0b6..ac6cbb4c26c7 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaExtrapolators.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaExtrapolators.py
@@ -2,7 +2,8 @@
 
 from egammaRec.Factories import ToolFactory, PublicToolFactory
 from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-__doc__ = "ToolFactories to instantiate InDet tools for egamma with default configuration"
+__doc__ = """ToolFactories to instantiate InDet tools
+for egamma with default configuration"""
 __author__ = "Bruno Lenzi"
 
 # Tools for extrapolating to the calo
@@ -76,13 +77,15 @@ egammaExtrapolator = ToolFactory(
     AtlasExtrapolator,
     name='egammaExtrapolator')
 
-# The general use extrapolator same as ATLAS default public
+# The general use extrapolator same as ATLAS default.
+# Public as still needed due to some InnerDetector/Tracking
+# tools
 AtlasPublicExtrapolator = PublicToolFactory(
     AtlasExtrapolator,
     name='AtlasPublicExtrapolator')
 
-# Specialized for e/gamma calo extrapolations i.e ignore material effect
-# that are not that relevant in the calo side
+# Extrapolator specialized for the e/gamma specific calo extrapolations
+# i.e ignore material effect that are not relevant.
 egammaCaloExtrapolator = ToolFactory(
     AtlasExtrapolator,
     postInit=[configureExtrapolator],
-- 
GitLab