From e4eae54d14c793991d50739fa76fb84899110b17 Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Thu, 10 Dec 2020 04:45:54 +0100 Subject: [PATCH] Make updateHitInfo EventContextAware, pass the EventContext down the call chain --- .../IInDetTestBLayerTool.h | 62 +++- .../InDetTestBLayer/InDetTestBLayerTool.h | 78 +++-- .../src/InDetTestBLayerTool.cxx | 266 ++++++++++-------- .../InDetTrackSummaryHelperTool.h | 14 +- .../src/InDetTrackSummaryHelperTool.cxx | 23 +- .../src/MuonTrackSummaryHelperTool.h | 14 +- .../ISF_TrackSummaryHelperTool.h | 1 + .../IExtendedTrackSummaryHelperTool.h | 29 +- .../ITrackSummaryHelperTool.h | 3 +- .../TrkTrackSummaryTool/TrackSummaryTool.icc | 2 +- 10 files changed, 307 insertions(+), 185 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/IInDetTestBLayerTool.h b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/IInDetTestBLayerTool.h index bb50a1cac65e..a294fbeb9ba4 100755 --- a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/IInDetTestBLayerTool.h +++ b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/IInDetTestBLayerTool.h @@ -4,7 +4,9 @@ #ifndef IInDetTestBLayerTool_H #define IInDetTestBLayerTool_H -#include "GaudiKernel/AlgTool.h" +#include "GaudiKernel/EventContext.h" +#include "GaudiKernel/IAlgTool.h" +#include "GaudiKernel/ThreadLocalContext.h" #include "TrkParameters/TrackParameters.h" #include "TrkEventPrimitives/ResidualPull.h" #include <vector> @@ -26,10 +28,18 @@ namespace InDet { static const InterfaceID& interfaceID() { return IID_IInDetTestBLayerTool; }; virtual ~IInDetTestBLayerTool() {}; - - virtual bool expectHitInBLayer(const Trk::TrackParticleBase*, bool recompute=false) const=0; - virtual bool expectHitInBLayer(const Trk::Track*, bool recompute=false) const=0; - virtual bool expectHitInBLayer(const Trk::TrackParameters* trackpar) const=0; + + virtual bool expectHitInBLayer(const EventContext& ctx, + const Trk::Track* track, + bool recompute = false) const = 0; + virtual bool expectHitInBLayer(const Trk::TrackParticleBase*, + bool recompute = false) const = 0; + bool expectHitInBLayer(const Trk::Track* track, bool recompute = false) const + { + return expectHitInBLayer(Gaudi::Hive::currentContext(), track, recompute); + } + virtual bool expectHitInBLayer( + const Trk::TrackParameters* trackpar) const = 0; virtual const Trk::ResidualPull* bLayerHitResidual(const Trk::Track* ) const=0; virtual const Trk::ResidualPull* bLayerHitResidual(const Trk::TrackParticleBase*) const=0; @@ -41,10 +51,21 @@ namespace InDet { virtual bool getTrackStateOnBlayerInfo(const Trk::TrackParameters* trackpar, std::vector<TrackStateOnBLayerInfo>& infoList) const=0; - - virtual bool expectHitInInnermostPixelLayer(const Trk::TrackParticleBase*, bool recompute=false) const=0; - virtual bool expectHitInInnermostPixelLayer(const Trk::Track*, bool recompute=false) const=0; - virtual bool expectHitInInnermostPixelLayer(const Trk::TrackParameters* trackpar) const=0; + virtual bool expectHitInInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track* track, + bool recompute = false) const = 0; + virtual bool expectHitInInnermostPixelLayer( + const Trk::TrackParticleBase*, + bool recompute = false) const = 0; + bool expectHitInInnermostPixelLayer(const Trk::Track* track, + bool recompute = false) const + { + return expectHitInInnermostPixelLayer( + Gaudi::Hive::currentContext(), track, recompute); + } + virtual bool expectHitInInnermostPixelLayer( + const Trk::TrackParameters* trackpar) const = 0; virtual const Trk::ResidualPull* innermostPixelLayerHitResidual(const Trk::Track* ) const=0; virtual const Trk::ResidualPull* innermostPixelLayerHitResidual(const Trk::TrackParticleBase*) const=0; @@ -56,11 +77,24 @@ namespace InDet { virtual bool getTrackStateOnInnermostPixelLayerInfo(const Trk::TrackParameters* trackpar, std::vector<TrackStateOnBLayerInfo>& infoList) const=0; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::TrackParticleBase*, bool recompute=false) const=0; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::Track*, bool recompute=false) const=0; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::TrackParameters* trackpar) const=0; - - virtual const Trk::ResidualPull* nextToInnermostPixelLayerHitResidual(const Trk::Track* ) const=0; + virtual bool expectHitInNextToInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track* track, + bool recompute = false) const = 0; + virtual bool expectHitInNextToInnermostPixelLayer( + const Trk::TrackParticleBase*, + bool recompute = false) const = 0; + bool expectHitInNextToInnermostPixelLayer(const Trk::Track* track, + bool recompute = false) const + { + return expectHitInInnermostPixelLayer( + Gaudi::Hive::currentContext(), track, recompute); + } + virtual bool expectHitInNextToInnermostPixelLayer( + const Trk::TrackParameters* trackpar) const = 0; + + virtual const Trk::ResidualPull* nextToInnermostPixelLayerHitResidual( + const Trk::Track*) const = 0; virtual const Trk::ResidualPull* nextToInnermostPixelLayerHitResidual(const Trk::TrackParticleBase*) const=0; virtual bool getTrackStateOnNextToInnermostPixelLayerInfo(const Trk::TrackParticleBase*, diff --git a/InnerDetector/InDetRecTools/InDetTestBLayer/InDetTestBLayer/InDetTestBLayerTool.h b/InnerDetector/InDetRecTools/InDetTestBLayer/InDetTestBLayer/InDetTestBLayerTool.h index 9369c7c7c4c5..3e42bc06d7a5 100644 --- a/InnerDetector/InDetRecTools/InDetTestBLayer/InDetTestBLayer/InDetTestBLayerTool.h +++ b/InnerDetector/InDetRecTools/InDetTestBLayer/InDetTestBLayer/InDetTestBLayerTool.h @@ -41,12 +41,17 @@ namespace InDet { virtual StatusCode initialize() override; virtual StatusCode finalize() override; - // bool expectHitInBLayer(const Rec::TrackParticle*) const ; - virtual bool expectHitInBLayer(const Trk::TrackParticleBase*, bool recompute = false) const override; - virtual bool expectHitInBLayer(const Trk::Track*, bool recompute = false) const override; - virtual bool expectHitInBLayer(const Trk::TrackParameters* trackpar) const override; + virtual bool expectHitInBLayer(const EventContext& ctx, + const Trk::Track*, + bool recompute = false) const override final; - virtual const Trk::ResidualPull* bLayerHitResidual(const Trk::Track*) const override; + virtual bool expectHitInBLayer(const Trk::TrackParticleBase*, + bool recompute = false) const override final; + virtual bool expectHitInBLayer( + const Trk::TrackParameters* trackpar) const override final; + + virtual const Trk::ResidualPull* bLayerHitResidual( + const Trk::Track*) const override; virtual const Trk::ResidualPull* bLayerHitResidual(const Trk::TrackParticleBase*) const override; //// return false if extrapolation failed @@ -57,10 +62,15 @@ namespace InDet { virtual bool getTrackStateOnBlayerInfo(const Trk::TrackParameters* trackpar, std::vector<TrackStateOnBLayerInfo>& infoList) const override; - virtual bool expectHitInInnermostPixelLayer(const Trk::TrackParticleBase*, - bool recompute = false) const override; - virtual bool expectHitInInnermostPixelLayer(const Trk::Track*, bool recompute = false) const override; - virtual bool expectHitInInnermostPixelLayer(const Trk::TrackParameters* trackpar) const override; + virtual bool expectHitInInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track* track, + bool recompute = false) const override final; + virtual bool expectHitInInnermostPixelLayer( + const Trk::TrackParticleBase*, + bool recompute = false) const override final; + virtual bool expectHitInInnermostPixelLayer( + const Trk::TrackParameters* trackpar) const override final; virtual const Trk::ResidualPull* innermostPixelLayerHitResidual(const Trk::Track*) const override; virtual const Trk::ResidualPull* innermostPixelLayerHitResidual( @@ -78,11 +88,15 @@ namespace InDet { const Trk::TrackParameters* trackpar, std::vector<TrackStateOnBLayerInfo>& infoList) const override; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::TrackParticleBase*, - bool recompute = false) const override; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::Track*, - bool recompute = false) const override; - virtual bool expectHitInNextToInnermostPixelLayer(const Trk::TrackParameters* trackpar) const override; + virtual bool expectHitInNextToInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track*, + bool recompute = false) const override final; + virtual bool expectHitInNextToInnermostPixelLayer( + const Trk::TrackParticleBase*, + bool recompute = false) const override final; + virtual bool expectHitInNextToInnermostPixelLayer( + const Trk::TrackParameters* trackpar) const override final; virtual const Trk::ResidualPull* nextToInnermostPixelLayerHitResidual(const Trk::Track*) const override; virtual const Trk::ResidualPull* nextToInnermostPixelLayerHitResidual( @@ -99,9 +113,22 @@ namespace InDet { std::vector<TrackStateOnBLayerInfo>& infoList) const override; private: - bool expectHitInPixelLayer(const Trk::TrackParticleBase*, int layer, bool recompute = false) const; - bool expectHitInPixelLayer(const Trk::Track*, int layer, bool recompute = false) const; - bool expectHitInPixelLayer(const Trk::TrackParameters* trackpar, int layer) const; + bool expectHitInPixelLayer(const EventContext& ctx, + const Trk::Track*, + int layer, + bool recompute = false) const; + bool expectHitInPixelLayer(const Trk::TrackParticleBase*, + int layer, + bool recompute = false) const; + bool expectHitInPixelLayer(const EventContext& ctx, + const Trk::TrackParameters* trackpar, + int layer) const; + bool expectHitInPixelLayer(const Trk::TrackParameters* trackpar, + int layer) const + { + return expectHitInPixelLayer( + Gaudi::Hive::currentContext(), trackpar, layer); + } const Trk::ResidualPull* pixelLayerHitResidual(const Trk::Track*, int layer) const; @@ -119,9 +146,20 @@ namespace InDet { bool isActive(const Trk::TrackParameters* trackpar) const; - bool getPixelLayerParameters(const Trk::TrackParameters* trackpar, - std::vector<std::unique_ptr<const Trk::TrackParameters>>& blayerParam, - int layer) const; + bool getPixelLayerParameters( + const EventContext& ctx, + const Trk::TrackParameters* trackpar, + std::vector<std::unique_ptr<const Trk::TrackParameters>>& blayerParam, + int layer) const; + + bool getPixelLayerParameters( + const Trk::TrackParameters* trackpar, + std::vector<std::unique_ptr<const Trk::TrackParameters>>& blayerParam, + int layer) const + { + return getPixelLayerParameters( + Gaudi::Hive::currentContext(), trackpar, blayerParam, layer); + } double getFracGood(const Trk::TrackParameters* trackpar, double phiRegionSize, diff --git a/InnerDetector/InDetRecTools/InDetTestBLayer/src/InDetTestBLayerTool.cxx b/InnerDetector/InDetRecTools/InDetTestBLayer/src/InDetTestBLayerTool.cxx index 180dde76a47b..53a0749595c2 100644 --- a/InnerDetector/InDetRecTools/InDetTestBLayer/src/InDetTestBLayerTool.cxx +++ b/InnerDetector/InDetRecTools/InDetTestBLayer/src/InDetTestBLayerTool.cxx @@ -228,55 +228,73 @@ namespace InDet { } - bool InDet::InDetTestBLayerTool::expectHitInBLayer(const Trk::Track* track, bool recompute) const + bool + InDet::InDetTestBLayerTool::expectHitInBLayer(const EventContext& ctx, + const Trk::Track* track, + bool recompute) const { - return expectHitInPixelLayer(track,0, recompute); + return expectHitInPixelLayer(ctx, track, 0, recompute); } - bool InDet::InDetTestBLayerTool::expectHitInInnermostPixelLayer(const Trk::Track* track, bool recompute) const + bool + InDet::InDetTestBLayerTool::expectHitInInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track* track, + bool recompute) const { - return expectHitInPixelLayer(track,0, recompute); + return expectHitInPixelLayer(ctx, track, 0, recompute); } - bool InDet::InDetTestBLayerTool::expectHitInNextToInnermostPixelLayer(const Trk::Track* track, bool recompute) const + bool + InDet::InDetTestBLayerTool::expectHitInNextToInnermostPixelLayer( + const EventContext& ctx, + const Trk::Track* track, + bool recompute) const { - return expectHitInPixelLayer(track,1, recompute); + return expectHitInPixelLayer(ctx, track, 1, recompute); } - bool InDet::InDetTestBLayerTool::expectHitInPixelLayer(const Trk::Track *track, int layer, bool recompute) const { - assert( layer>=0 && layer<=1); - if(!recompute){ - const Trk::TrackSummary* ts = track->trackSummary(); - if(ts){ - int ehbl = ts->get(s_layerSummaryTypeExpectHit[layer]); - if(0==ehbl || 1==ehbl ){ - ATH_MSG_DEBUG("Found the expected hit in the " << s_layerNames[layer] << " info in TrackSummary: return cached value" ); - return ehbl; - } + bool + InDet::InDetTestBLayerTool::expectHitInPixelLayer(const EventContext& ctx, + const Trk::Track* track, + int layer, + bool recompute) const + { + assert(layer >= 0 && layer <= 1); + if (!recompute) { + const Trk::TrackSummary* ts = track->trackSummary(); + if (ts) { + int ehbl = ts->get(s_layerSummaryTypeExpectHit[layer]); + if (0 == ehbl || 1 == ehbl) { + ATH_MSG_DEBUG("Found the expected hit in the " + << s_layerNames[layer] + << " info in TrackSummary: return cached value"); + return ehbl; + } } - } - else{ - ATH_MSG_DEBUG("Forced to recompute whether a hit is expected in the " << s_layerNames[layer] << " or not." ); + } else { + ATH_MSG_DEBUG("Forced to recompute whether a hit is expected in the " + << s_layerNames[layer] << " or not."); } - ATH_MSG_DEBUG("Computing whether a hit is expected in the " << s_layerNames[layer] << " or not." ); + ATH_MSG_DEBUG("Computing whether a hit is expected in the " + << s_layerNames[layer] << " or not."); const Trk::Perigee* mp = track->perigeeParameters(); - if (!mp) - { - //This can happen if re-creating the summary for tracks prior to ambi-solving and final fit, e.g. in StatisticAlg - ATH_MSG_DEBUG("Found Track with no perigee parameters: no information whether a hit is expected in the " << s_layerNames[layer] << " will be provided." ); - return false; - } - else - { - ATH_MSG_DEBUG("Track perigee parameters"); - return this->expectHitInPixelLayer(mp,layer); - } + if (!mp) { + // This can happen if re-creating the summary for tracks prior to + // ambi-solving and final fit, e.g. in StatisticAlg + ATH_MSG_DEBUG("Found Track with no perigee parameters: no information " + "whether a hit is expected in the " + << s_layerNames[layer] << " will be provided."); + return false; + } else { + ATH_MSG_DEBUG("Track perigee parameters"); + return this->expectHitInPixelLayer(ctx,mp, layer); + } } - bool InDet::InDetTestBLayerTool::expectHitInBLayer(const Trk::TrackParticleBase* track, bool recompute) const { return expectHitInPixelLayer(track,0,recompute); @@ -343,75 +361,80 @@ namespace InDet { return expectHitInPixelLayer(trackpar, 1); } - bool InDet::InDetTestBLayerTool::expectHitInPixelLayer(const Trk::TrackParameters* trackpar,int layer) const + bool + InDet::InDetTestBLayerTool::expectHitInPixelLayer( + const EventContext& ctx, + const Trk::TrackParameters* trackpar, + int layer) const { - assert( layer >=0 && layer<=1); - const std::string layer_name=s_layerNames[layer]; + assert(layer >= 0 && layer <= 1); + const std::string layer_name = s_layerNames[layer]; - if(!m_configured){ - ATH_MSG_WARNING("Unconfigured tool, unable to compute expected hit in the " << layer_name << "."); + if (!m_configured) { + ATH_MSG_WARNING( + "Unconfigured tool, unable to compute expected hit in the " + << layer_name << "."); return false; } - bool expect_hit = false; /// will be set to true if at least on good module is passed + bool expect_hit = + false; /// will be set to true if at least on good module is passed //// Cylinder bigger than the given layer ? //// - std::vector<std::unique_ptr<const Trk::TrackParameters> > blayerParam; - if(!this->getPixelLayerParameters(trackpar, blayerParam,layer)) return false; - + std::vector<std::unique_ptr<const Trk::TrackParameters>> blayerParam; + if (!this->getPixelLayerParameters(ctx,trackpar, blayerParam, layer)) + return false; for (std::unique_ptr<const Trk::TrackParameters>& p : blayerParam) { - Identifier id = p->associatedSurface().associatedDetectorElement()->identify(); + Identifier id = + p->associatedSurface().associatedDetectorElement()->identify(); - if( m_pixelCondSummaryTool->isGood(id,InDetConditions::PIXEL_MODULE) ){ + if (m_pixelCondSummaryTool->isGood(id, InDetConditions::PIXEL_MODULE,ctx)) { - if( m_checkActiveAreas ){ + if (m_checkActiveAreas) { - if( isActive(p.get()) ){ + if (isActive(p.get())) { - if(m_checkDeadRegions){ + if (m_checkDeadRegions) { - double fracGood = getFracGood(p.get(), m_phiRegionSize, m_etaRegionSize); - if(fracGood>m_goodFracCut){ - ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good"); - expect_hit=true; /// pass good module -> hit is expected on blayer - } - else{ - ATH_MSG_DEBUG( layer_name << " in dead region"); - } + double fracGood = + getFracGood(p.get(), m_phiRegionSize, m_etaRegionSize); + if (fracGood > m_goodFracCut) { + ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good"); + expect_hit = + true; /// pass good module -> hit is expected on blayer + } else { + ATH_MSG_DEBUG(layer_name << " in dead region"); + } - } - else{ /// check dead regios - ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good"); - expect_hit=true; /// pass good module -> hit is expected on blayer - } + } else { /// check dead regios + ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good"); + expect_hit = + true; /// pass good module -> hit is expected on blayer + } - } - else{ - ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good but outside active area"); - } + } else { + ATH_MSG_DEBUG("Condition Summary: " + << layer_name << " good but outside active area"); + } - } /// check active area (check edges) - else{ - ATH_MSG_DEBUG("Condition Summary: " << layer_name << " good, active areas not checked"); - expect_hit=true; /// pass good module -> hit is expected on blayer - } + } /// check active area (check edges) + else { + ATH_MSG_DEBUG("Condition Summary: " + << layer_name << " good, active areas not checked"); + expect_hit = true; /// pass good module -> hit is expected on blayer + } - } - else{ - ATH_MSG_DEBUG( layer_name << " not good"); + } else { + ATH_MSG_DEBUG(layer_name << " not good"); } } /// blayer param - return expect_hit; - } - - bool InDet::InDetTestBLayerTool::isActive(const Trk::TrackParameters* trackpar) const { @@ -639,73 +662,70 @@ namespace InDet { } - bool InDet::InDetTestBLayerTool::getPixelLayerParameters - (const Trk::TrackParameters* trackpar, - std::vector<std::unique_ptr<const Trk::TrackParameters> >& blayerParam, + bool + InDet::InDetTestBLayerTool::getPixelLayerParameters + + (const EventContext& ctx, + const Trk::TrackParameters* trackpar, + std::vector<std::unique_ptr<const Trk::TrackParameters>>& blayerParam, int layer) const { //// Cylinder bigger than the b-layer //// ATH_MSG_DEBUG("Trying to extrapolate to Pixel layer " << layer); - Trk::CylinderSurface BiggerThanBLayerSurface (new Transform3D(Transform3D::Identity()), - 100.0, - 10000.0); - - // extrapolate stepwise to this parameter (be careful, sorting might be wrong) - std::vector<std::unique_ptr<const Trk::TrackParameters> > paramList = - m_extrapolator->extrapolateStepwise(*trackpar, - BiggerThanBLayerSurface, - Trk::alongMomentum, - false); - + Trk::CylinderSurface BiggerThanBLayerSurface( + new Transform3D(Transform3D::Identity()), 100.0, 10000.0); + // extrapolate stepwise to this parameter (be careful, sorting might be + // wrong) + std::vector<std::unique_ptr<const Trk::TrackParameters>> paramList = + m_extrapolator->extrapolateStepwise( + ctx, *trackpar, BiggerThanBLayerSurface, Trk::alongMomentum, false); + if (paramList.empty()) { + ATH_MSG_DEBUG("No parameter returned by propagator "); + ATH_MSG_VERBOSE("dumping track parameters " << *trackpar); + return false; + } - if(paramList.empty()){ - ATH_MSG_DEBUG("No parameter returned by propagator "); - ATH_MSG_VERBOSE("dumping track parameters " <<*trackpar); - return false; - } - - ATH_MSG_DEBUG(" Number of generated parameters by propagator: " << paramList.size() ); - + ATH_MSG_DEBUG( + " Number of generated parameters by propagator: " << paramList.size()); - int s_int = 0; - for (std::unique_ptr<const Trk::TrackParameters>& p : paramList) { + int s_int = 0; + for (std::unique_ptr<const Trk::TrackParameters>& p : paramList) { - ATH_MSG_DEBUG( s_int++ << "th surface : "); + ATH_MSG_DEBUG(s_int++ << "th surface : "); - Identifier id; - if( !( p->associatedSurface().associatedDetectorElement() !=0 && - p->associatedSurface().associatedDetectorElement()->identify() !=0 ) ) - { - continue; - } + Identifier id; + if (!(p->associatedSurface().associatedDetectorElement() != 0 && + p->associatedSurface().associatedDetectorElement()->identify() != + 0)) { + continue; + } - id = p->associatedSurface().associatedDetectorElement()->identify(); - if (!m_idHelper->is_pixel(id)){ - continue; - } + id = p->associatedSurface().associatedDetectorElement()->identify(); + if (!m_idHelper->is_pixel(id)) { + continue; + } - ATH_MSG_DEBUG("Found pixel module : Associated track parameter"); - if(!m_pixelId->is_barrel(id)){ - continue; - } - ATH_MSG_DEBUG("Found pixel barrel"); - if(m_pixelId->layer_disk(id)!=layer) { - continue; - } + ATH_MSG_DEBUG("Found pixel module : Associated track parameter"); + if (!m_pixelId->is_barrel(id)) { + continue; + } + ATH_MSG_DEBUG("Found pixel barrel"); + if (m_pixelId->layer_disk(id) != layer) { + continue; + } - ATH_MSG_DEBUG( "Found layer " << layer << " ID: " << id.get_compact() ); - blayerParam.push_back (std::move (p)); + ATH_MSG_DEBUG("Found layer " << layer << " ID: " << id.get_compact()); + blayerParam.push_back(std::move(p)); - } /// all params + } /// all params - return true; + return true; } - double InDet::InDetTestBLayerTool::getFracGood(const Trk::TrackParameters* trkParam, double phiRegionSize, double etaRegionSize) const{ diff --git a/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool.h b/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool.h index 1309b85481c2..77aa32e2186c 100755 --- a/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool.h +++ b/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool/InDetTrackSummaryHelperTool.h @@ -59,7 +59,8 @@ namespace InDet { */ using IExtendedTrackSummaryHelperTool::analyse; using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary; - + using IExtendedTrackSummaryHelperTool::updateExpectedHitInfo; + virtual void analyse( const EventContext& ctx, const Trk::Track& track, @@ -84,6 +85,12 @@ namespace InDet { const Trk::Track&, Trk::TrackSummary&) const override final; + /** This method updates the expect... hit info*/ + virtual void updateExpectedHitInfo( + const EventContext& ctx, + const Trk::Track& track, + Trk::TrackSummary& summary) const override final; + /** Input : track, partHyp Output: Changes in information This method first calls the method getListOfHits to isolate the relevant @@ -113,11 +120,6 @@ namespace InDet { int& nclus, int& noverflowclus) const override final; - /** This method updates the expect... hit info*/ - virtual void updateExpectedHitInfo( - const Trk::Track& track, - Trk::TrackSummary& summary) const override final; - private: const Trk::ClusterSplitProbabilityContainer::ProbabilityInfo& getClusterSplittingProbability(const EventContext& ctx, diff --git a/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/src/InDetTrackSummaryHelperTool.cxx b/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/src/InDetTrackSummaryHelperTool.cxx index 5e2967a1bb7b..88a876652059 100755 --- a/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/src/InDetTrackSummaryHelperTool.cxx +++ b/InnerDetector/InDetRecTools/InDetTrackSummaryHelperTool/src/InDetTrackSummaryHelperTool.cxx @@ -441,23 +441,25 @@ void InDet::InDetTrackSummaryHelperTool::updateSharedHitCount(const Trk::Track & void InDet::InDetTrackSummaryHelperTool::updateExpectedHitInfo( + const EventContext& ctx, const Trk::Track& track, Trk::TrackSummary& summary) const { - if (m_usePixel and not m_testBLayerTool.empty() ) { + if (m_usePixel and not m_testBLayerTool.empty()) { - if ( summary.m_information[Trk::numberOfContribPixelLayers] == 0 ) { + if (summary.m_information[Trk::numberOfContribPixelLayers] == 0) { ATH_MSG_DEBUG("No pxiels on track, so wo do not expect a B-Layer hit !"); summary.m_information[Trk::expectInnermostPixelLayerHit] = 0; summary.m_information[Trk::expectNextToInnermostPixelLayerHit] = 0; - } else{ - //innermost layer block - if (summary.m_information[Trk::numberOfInnermostPixelLayerHits] > 0){ - ATH_MSG_DEBUG("Innermost pixel Layer hit on track, so we expect a innermost pixel layer hit !"); + } else { + // innermost layer block + if (summary.m_information[Trk::numberOfInnermostPixelLayerHits] > 0) { + ATH_MSG_DEBUG("Innermost pixel Layer hit on track, so we expect a " + "innermost pixel layer hit !"); summary.m_information[Trk::expectInnermostPixelLayerHit] = 1; } else { - if (m_testBLayerTool->expectHitInInnermostPixelLayer(&track) ) { + if (m_testBLayerTool->expectHitInInnermostPixelLayer(ctx,&track)) { ATH_MSG_DEBUG("expect Pixel Layer 0 hit !"); summary.m_information[Trk::expectInnermostPixelLayerHit] = 1; } else { @@ -466,11 +468,12 @@ InDet::InDetTrackSummaryHelperTool::updateExpectedHitInfo( } } - //next to innermost block - if (summary.m_information[Trk::numberOfNextToInnermostPixelLayerHits] > 0){ + // next to innermost block + if (summary.m_information[Trk::numberOfNextToInnermostPixelLayerHits] > + 0) { summary.m_information[Trk::expectNextToInnermostPixelLayerHit] = 1; } else { - if (m_testBLayerTool->expectHitInNextToInnermostPixelLayer(&track) ) { + if (m_testBLayerTool->expectHitInNextToInnermostPixelLayer(ctx,&track)) { ATH_MSG_DEBUG("expect Pixel Layer 1 hit !"); summary.m_information[Trk::expectNextToInnermostPixelLayerHit] = 1; } else { diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTrackSummaryHelperTool/src/MuonTrackSummaryHelperTool.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTrackSummaryHelperTool/src/MuonTrackSummaryHelperTool.h index 879a5f3f0fea..9d0c6d715cdc 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTrackSummaryHelperTool/src/MuonTrackSummaryHelperTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTrackSummaryHelperTool/src/MuonTrackSummaryHelperTool.h @@ -47,6 +47,7 @@ namespace Muon { using IExtendedTrackSummaryHelperTool::analyse; using IExtendedTrackSummaryHelperTool::updateSharedHitCount; + using IExtendedTrackSummaryHelperTool::updateExpectedHitInfo; using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary; virtual void analyse( const Trk::Track& trk, @@ -67,10 +68,15 @@ namespace Muon { std::vector<int>& information, Trk::ParticleHypothesis hyp) const override final; - virtual void updateSharedHitCount( - const Trk::Track&, - const Trk::PRDtoTrackMap*, - Trk::TrackSummary&) const override final{}; + virtual void updateSharedHitCount(const Trk::Track&, + const Trk::PRDtoTrackMap*, + Trk::TrackSummary&) const override final + {} + + virtual void updateExpectedHitInfo( + const Trk::Track&, + Trk::TrackSummary&) const override final + {} virtual void addDetailedTrackSummary( const Trk::Track& track, diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/ISF_TrackSummaryHelperTool.h b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/ISF_TrackSummaryHelperTool.h index dc4609482708..faf554d3fc9c 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/ISF_TrackSummaryHelperTool.h +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/ISF_TrackSummaryHelperTool.h @@ -46,6 +46,7 @@ namespace iFatras { */ using IExtendedTrackSummaryHelperTool::analyse; using IExtendedTrackSummaryHelperTool::updateSharedHitCount; + using IExtendedTrackSummaryHelperTool::updateExpectedHitInfo; using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary; virtual void analyse( const EventContext& ctx, diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IExtendedTrackSummaryHelperTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IExtendedTrackSummaryHelperTool.h index 2bb75e741c86..11d6e06e0c73 100644 --- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IExtendedTrackSummaryHelperTool.h +++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/IExtendedTrackSummaryHelperTool.h @@ -42,7 +42,11 @@ namespace Trk { /* Expand/Extend the interface , with methods using the EventContext * and Trk::PRDtoTrackMap. - * For now due to compatibility we provide a default implementation + */ + + /* + * For now due to client compatibility + * we provide a default implementations * in terms of the the older interface */ @@ -81,15 +85,21 @@ namespace Trk { (void)ctx; addDetailedTrackSummary(track,summary); }; + + virtual void updateExpectedHitInfo(const EventContext& ctx, + const Trk::Track& track, + Trk::TrackSummary& summary) const{ + + (void)ctx; + updateExpectedHitInfo(track,summary); + } + virtual void updateSharedHitCount( const Trk::Track&, const Trk::PRDtoTrackMap*, Trk::TrackSummary&) const {}; - virtual void updateExpectedHitInfo(const Trk::Track&, - Trk::TrackSummary&) const {}; - - virtual void updateAdditionalInfo(Trk::TrackSummary&, + virtual void updateAdditionalInfo(Trk::TrackSummary&, std::vector<float>&, float&, int&, @@ -100,7 +110,6 @@ namespace Trk { * of the interface for the methods with the same * name as the method above. */ - virtual void analyse( const Trk::Track& track, const RIO_OnTrack* rot, @@ -139,6 +148,14 @@ namespace Trk { { addDetailedTrackSummary(Gaudi::Hive::currentContext(), track, summary); } + + virtual void updateExpectedHitInfo(const Trk::Track& track, + Trk::TrackSummary& summary) const override{ + + updateExpectedHitInfo(Gaudi::Hive::currentContext(),track,summary); + } + + }; inline const InterfaceID& Trk::IExtendedTrackSummaryHelperTool::interfaceID() diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITrackSummaryHelperTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITrackSummaryHelperTool.h index 068e6e8f3bfd..e8487834004c 100755 --- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITrackSummaryHelperTool.h +++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITrackSummaryHelperTool.h @@ -64,7 +64,8 @@ namespace Trk { virtual void addDetailedTrackSummary(const Trk::Track& track, Trk::TrackSummary& summary) const = 0; - + virtual void updateExpectedHitInfo(const Trk::Track&, + Trk::TrackSummary&) const = 0; }; inline const InterfaceID& Trk::ITrackSummaryHelperTool::interfaceID() diff --git a/Tracking/TrkTools/TrkTrackSummaryTool/TrkTrackSummaryTool/TrackSummaryTool.icc b/Tracking/TrkTools/TrkTrackSummaryTool/TrkTrackSummaryTool/TrackSummaryTool.icc index 59c6cc29031c..9c6472d28fd5 100644 --- a/Tracking/TrkTools/TrkTrackSummaryTool/TrkTrackSummaryTool/TrackSummaryTool.icc +++ b/Tracking/TrkTools/TrkTrackSummaryTool/TrkTrackSummaryTool/TrackSummaryTool.icc @@ -17,7 +17,7 @@ TrackSummaryTool::updateTrackSummary(const EventContext& ctx, /*suppress hole search*/ UpdateSummary(ctx, track, nullptr, true); /*Needed for expected B-Layer*/ - m_idTool->updateExpectedHitInfo(track, *track.trackSummary()); + m_idTool->updateExpectedHitInfo(ctx,track, *track.trackSummary()); } inline void -- GitLab