From a174d25e9a91e8100e699d31096c31cd3f179f36 Mon Sep 17 00:00:00 2001 From: Christian Grefe <christian.grefe@cern.ch> Date: Tue, 3 Nov 2020 15:25:25 +0100 Subject: [PATCH] Avoid circular package dependencies --- .../src/TRT_ElectronPidToolRun2.cxx | 4 ++-- Tracking/TrkEvent/TrkTrackSummary/CMakeLists.txt | 2 +- .../TrkTrackSummary/TrkTrackSummary/TrackSummary.h | 2 ++ .../TrkEvent/TrkTrackSummary/src/TrackSummary.cxx | 5 ++--- .../TrkToolInterfaces/ITRT_ElectronPidTool.h | 13 ------------- .../TrkTrackSummaryTool/src/TrackSummaryTool.cxx | 4 ++-- 6 files changed, 9 insertions(+), 21 deletions(-) diff --git a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx index 10fab207c18..04e0f80d2de 100644 --- a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx +++ b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx @@ -135,7 +135,7 @@ StatusCode InDet::TRT_ElectronPidToolRun2::finalize() std::vector<float> InDet::TRT_ElectronPidToolRun2::electronProbability_old(const Trk::Track& track) { // Simply return values without calculation - std::vector<float> PIDvalues = defaultElectronProbability(); + std::vector<float> PIDvalues = Trk::eProbabilityDefault; const Trk::TrackParameters* perigee = track.perigeeParameters(); if (!perigee) { return PIDvalues; } return PIDvalues; @@ -167,7 +167,7 @@ InDet::TRT_ElectronPidToolRun2::electronProbability(const Trk::Track& track) con } // Initialize the vector with default PID values - std::vector<float> PIDvalues = defaultElectronProbability(); + std::vector<float> PIDvalues = Trk::eProbabilityDefault; // Check for perigee: const Trk::TrackParameters* perigee = track.perigeeParameters(); diff --git a/Tracking/TrkEvent/TrkTrackSummary/CMakeLists.txt b/Tracking/TrkEvent/TrkTrackSummary/CMakeLists.txt index 7ea617ee3f7..5f892915ea2 100644 --- a/Tracking/TrkEvent/TrkTrackSummary/CMakeLists.txt +++ b/Tracking/TrkEvent/TrkTrackSummary/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( TrkTrackSummary ) atlas_add_library( TrkTrackSummary src/*.cxx PUBLIC_HEADERS TrkTrackSummary - LINK_LIBRARIES Identifier TrkToolInterfaces + LINK_LIBRARIES Identifier PRIVATE_LINK_LIBRARIES GaudiKernel ) atlas_add_dictionary( TrkTrackSummaryDict diff --git a/Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h b/Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h index 86ad7027b99..64964c1f29e 100755 --- a/Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h +++ b/Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h @@ -149,6 +149,8 @@ static const std::vector<unsigned int> floatSummaryTypes = {eProbabilityComb_res numberOfeProbabilityTypes = 8 }; +static const std::vector<float> eProbabilityDefault(numberOfeProbabilityTypes, 0.5); + /** enumerates the various detector types currently accessible from the isHit() method. \todo work out how to add muons to this*/ enum DetectorType { diff --git a/Tracking/TrkEvent/TrkTrackSummary/src/TrackSummary.cxx b/Tracking/TrkEvent/TrkTrackSummary/src/TrackSummary.cxx index b4e10825047..42de737e96f 100755 --- a/Tracking/TrkEvent/TrkTrackSummary/src/TrackSummary.cxx +++ b/Tracking/TrkEvent/TrkTrackSummary/src/TrackSummary.cxx @@ -11,7 +11,6 @@ #include "TrkTrackSummary/TrackSummary.h" #include "TrkTrackSummary/InDetTrackSummary.h" #include "TrkTrackSummary/MuonTrackSummary.h" -#include "TrkToolInterfaces/ITRT_ElectronPidTool.h" #include "GaudiKernel/MsgStream.h" std::atomic<unsigned int> Trk::TrackSummary::s_numberOfInstantiations{0}; @@ -20,7 +19,7 @@ const int Trk::TrackSummary::SummaryTypeNotSet=-1; Trk::TrackSummary::TrackSummary() : m_information(numberOfTrackSummaryTypes, SummaryTypeNotSet), - m_eProbability(ITRT_ElectronPidTool::defaultElectronProbability()), + m_eProbability(Trk::eProbabilityDefault), m_dedx(-1), m_nhitsdedx(-1), m_nhitsoverflowdedx(-1), @@ -106,7 +105,7 @@ Trk::TrackSummary& Trk::TrackSummary::operator+=(const TrackSummary& ts) } m_information[i]+= ts.m_information[i]; } - if (ts.m_eProbability != ITRT_ElectronPidTool::defaultElectronProbability()) { + if (ts.m_eProbability != Trk::eProbabilityDefault) { m_eProbability = ts.m_eProbability; } if (m_dedx<0 && ts.m_dedx>=0) { diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h index 75fcb362e09..7050bd36525 100644 --- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h +++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h @@ -45,19 +45,6 @@ namespace Trk { virtual double probHT( const double p, const Trk::ParticleHypothesis hypothesis, const int HitPart, const int Layer, const int Strawlayer) const = 0; virtual double probHTRun2( float pTrk, Trk::ParticleHypothesis hypothesis, int TrtPart, int GasType, int StrawLayer, float ZR, float rTrkWire, float Occupancy ) const = 0; - static std::vector<float> defaultElectronProbability() { - std::vector<float> PIDvalues(Trk::numberOfeProbabilityTypes); - PIDvalues[Trk::eProbabilityComb] = 0.5; - PIDvalues[Trk::eProbabilityHT] = 0.5; - PIDvalues[Trk::eProbabilityToT] = 0.5; - PIDvalues[Trk::eProbabilityBrem] = 0.5; - PIDvalues[Trk::eProbabilityNN] = 0.5; - PIDvalues[Trk::TRTTrackOccupancy] = 0.0; - PIDvalues[Trk::TRTdEdx] = 0.0; - PIDvalues[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx] = 0.0; - return PIDvalues; - } - }; inline const InterfaceID& Trk::ITRT_ElectronPidTool::interfaceID() diff --git a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx index 274678b37a0..a6f4e02619d 100755 --- a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx +++ b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx @@ -192,7 +192,7 @@ information.resize(std::min(information.size(), static_cast<size_t>(numberOfTrackSummaryTypes))); // Troels.Petersen@cern.ch: -std::vector<float> eProbability = ITRT_ElectronPidTool::defaultElectronProbability(); +std::vector<float> eProbability = Trk::eProbabilityDefault; float dedx = -1; int nhitsuseddedx = -1; @@ -339,7 +339,7 @@ void Trk::TrackSummaryTool::updateSharedHitCount(const Track& track, const Trk:: void Trk::TrackSummaryTool::updateAdditionalInfo(const Track& track, TrackSummary &summary, bool initialise_to_zero) const { - std::vector<float> eProbability = ITRT_ElectronPidTool::defaultElectronProbability(); + std::vector<float> eProbability = Trk::eProbabilityDefault; if (!m_eProbabilityTool.empty()) { eProbability = m_eProbabilityTool->electronProbability(track); int nHits = eProbability[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx]; -- GitLab