diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/CMakeLists.txt b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/CMakeLists.txt index 4bf979636196ee86b5cb0a825bb4d4e51771535d..932ed162555eacf93fe5d770b20833ac345a547d 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/CMakeLists.txt +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/CMakeLists.txt @@ -29,6 +29,8 @@ atlas_depends_on_subdirs( PRIVATE MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerInterfaces MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerUtils MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerUtils + Reconstruction/MuonIdentification/MuidInterfaces + Tracking/TrkFitter/TrkFitterInterfaces Tracking/TrkDetDescr/TrkDetDescrInterfaces Tracking/TrkDetDescr/TrkDetElementBase Tracking/TrkDetDescr/TrkGeometry @@ -46,7 +48,6 @@ atlas_depends_on_subdirs( PRIVATE Tracking/TrkEvent/TrkSegment Tracking/TrkEvent/TrkTrackSummary Tracking/TrkExtrapolation/TrkExInterfaces - Tracking/TrkFitter/TrkFitterInterfaces Tracking/TrkTools/TrkToolInterfaces Tracking/TrkUtilityPackages/TrkDriftCircleMath MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData @@ -63,5 +64,5 @@ atlas_add_component( MuonTrackFinderTools src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests GeoPrimitives IRegionSelector Identifier RoiDescriptor EventPrimitives GaudiKernel MuonAlignErrorBase MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonStationIntersectSvcLib MuonSegmentMakerUtils TrkDetDescrInterfaces TrkDetElementBase TrkGeometry TrkSurfaces TrkVolumes TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkMeasurementBase TrkParameters TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkRoad TrkTrack TrkSegment TrkTrackSummary TrkExInterfaces TrkFitterInterfaces TrkToolInterfaces TrkDriftCircleMath MuonCondData MagFieldElements MagFieldConditions ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests GeoPrimitives IRegionSelector Identifier RoiDescriptor EventPrimitives GaudiKernel MuonAlignErrorBase MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonStationIntersectSvcLib MuonSegmentMakerUtils MuidInterfaces TrkFitterInterfaces TrkDetDescrInterfaces TrkDetElementBase TrkGeometry TrkSurfaces TrkVolumes TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkMeasurementBase TrkParameters TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkRoad TrkTrack TrkSegment TrkTrackSummary TrkExInterfaces TrkToolInterfaces TrkDriftCircleMath MuonCondData MagFieldElements MagFieldConditions ) diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.cxx index ea830fb8022abbfbb6d71eb45ea01e267727b2a6..25e9f71b172813714f55066d6882d3479ce533b4 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.cxx @@ -77,7 +77,14 @@ StatusCode MuonSegmentRegionRecoveryTool::initialize() ATH_CHECK( m_chamberHoleRecoveryTool.retrieve() ); ATH_CHECK( m_extrapolator.retrieve() ); - ATH_CHECK( m_fitter.retrieve() ); + if(m_onlyEO){ + ATH_CHECK( m_fitter.retrieve() ); + m_builder.disable(); + } + else{ + m_fitter.disable(); + ATH_CHECK( m_builder.retrieve() ); + } ATH_CHECK( m_idHelperSvc.retrieve() ); ATH_CHECK( m_hitSummaryTool.retrieve() ); ATH_CHECK( m_regsel_mdt.retrieve() ); @@ -1062,7 +1069,9 @@ const Trk::Track* MuonSegmentRegionRecoveryTool::addMissingChambers( const Trk:: ATH_MSG_DEBUG("Creating new Track " << newStates.size()); Trk::Track* newTrack = new Trk::Track( track.info(), trackStateOnSurfaces, track.fitQuality() ? track.fitQuality()->clone() : 0 ); - const Trk::Track* refittedTrack = m_fitter->fit(*newTrack, m_useFitterOutlierLogic, Trk::muon); + const Trk::Track* refittedTrack; + if(m_onlyEO) refittedTrack=m_fitter->fit(*newTrack, m_useFitterOutlierLogic, Trk::muon); + else refittedTrack=m_builder->fit(*newTrack, m_useFitterOutlierLogic, Trk::muon); delete newTrack; if ( refittedTrack ) { ATH_MSG_DEBUG("New Track " << m_printer->print(*refittedTrack) << std::endl << m_printer->printStations(*refittedTrack) ); diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.h b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.h index 01c81aba57843c0ec3e87395b4852dc607f6fca6..5ae1646ca315a1b352b6e335e6a19a8e3047bc2f 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonSegmentRegionRecoveryTool.h @@ -27,6 +27,7 @@ #include "TrkToolInterfaces/ITrackHoleSearchTool.h" #include "TrkToolInterfaces/IResidualPullCalculator.h" #include "TrkFitterInterfaces/ITrackFitter.h" +#include "MuidInterfaces/ICombinedMuonTrackBuilder.h" #include "MuonChamberHoleRecoveryTool.h" #include "MuonRecToolInterfaces/IMuonSeededSegmentFinder.h" #include "MuonChamberHoleRecoveryTool.h" @@ -155,8 +156,10 @@ namespace Muon { {this, "ChamberHoleRecoveryTool", "Muon::MuonChamberHoleRecoveryTool/MuonChamberHoleRecoveryTool"}; //<! hit-based hole search ToolHandle<Trk::IExtrapolator> m_extrapolator {this, "Extrapolator", "Trk::Extrapolator/MuonExtrapolator"}; + ToolHandle<Rec::ICombinedMuonTrackBuilder> m_builder + {this, "Builder", "Rec::CombinedMuonTrackBuilder/CombinedMuonTrackBuilder"}; ToolHandle<Trk::ITrackFitter> m_fitter - {this, "Fitter", "Rec::CombinedMuonTrackBuilder/CombinedMuonTrackBuilder"}; + {this, "Fitter", "Trk::GlobalChi2Fitter/MCTBSLFitter"}; ServiceHandle<MuonStationIntersectSvc> m_intersectSvc {this, "MuonStationIntersectSvc", "MuonStationIntersectSvc"}; ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}; diff --git a/Reconstruction/MuonIdentification/MuidInterfaces/MuidInterfaces/ICombinedMuonTrackBuilder.h b/Reconstruction/MuonIdentification/MuidInterfaces/MuidInterfaces/ICombinedMuonTrackBuilder.h index 8929888254cc3089f2183aea7e724bc149250db0..621e06379ee670f295a4a35247e61ee9d41e5da4 100755 --- a/Reconstruction/MuonIdentification/MuidInterfaces/MuidInterfaces/ICombinedMuonTrackBuilder.h +++ b/Reconstruction/MuonIdentification/MuidInterfaces/MuidInterfaces/ICombinedMuonTrackBuilder.h @@ -15,9 +15,9 @@ #define MUIDINTERFACES_ICOMBINEDMUONTRACKBUILDER_H #include "GaudiKernel/IAlgTool.h" -#include "TrkFitterInterfaces/ITrackFitter.h" #include "TrkFitterUtils/FitterTypes.h" #include "TrkParameters/TrackParameters.h" +#include "TrkEventPrimitives/ParticleHypothesis.h" namespace Trk { @@ -37,8 +37,7 @@ Base class for CombinedMuonTrackBuilder AlgTool @author Alan.Poppleton@cern.ch */ - class ICombinedMuonTrackBuilder : virtual public IAlgTool, - virtual public Trk::ITrackFitter + class ICombinedMuonTrackBuilder : virtual public IAlgTool { public: @@ -73,67 +72,9 @@ public: virtual Trk::Track* standaloneRefit (const Trk::Track& combinedTrack, float bs_x = 0., float bs_y = 0., float bs_z = 0.) const = 0; - - /* - * Default implement the ITrackFitter context aware method to just call - * the no-context ones - */ - using Trk::ITrackFitter::fit; - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::Track& track, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - return std::unique_ptr<Trk::Track>(fit(track, runOutlier, matEffects)); - } - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::Track& track, - const Trk::PrepRawDataSet& prepRawSet, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - return std::unique_ptr<Trk::Track>(fit(track, prepRawSet, runOutlier, matEffects)); - } - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::PrepRawDataSet& prepRawSet, - const Trk::TrackParameters& params, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - return std::unique_ptr<Trk::Track>(fit(prepRawSet, params, runOutlier, matEffects)); - } - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::Track& track, - const Trk::MeasurementSet& measSet, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - return std::unique_ptr<Trk::Track>(fit(track, measSet, runOutlier, matEffects)); - } - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::MeasurementSet& measSet, - const Trk::TrackParameters& params, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - return std::unique_ptr<Trk::Track>(fit(measSet, params, runOutlier, matEffects)); - } - virtual std::unique_ptr<Trk::Track> fit( - const EventContext&, - const Trk::Track& track1, - const Trk::Track& track2, - const Trk::RunOutlierRemoval runOutlier = false, - const Trk::ParticleHypothesis matEffects = Trk::nonInteracting) const - { - - return std::unique_ptr<Trk::Track>(fit(track1, track2, runOutlier, matEffects)); - } - //End of default implementing of context aware methods + /*refit a track*/ + virtual Trk::Track* fit(Trk::Track& track, const Trk::RunOutlierRemoval runOutlier = false, + const Trk::ParticleHypothesis particleHypothesis = Trk::muon) const = 0; }; diff --git a/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/CombinedMuonTrackBuilder.h b/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/CombinedMuonTrackBuilder.h index 92a9f33d4c139265f9ace28b0bdb886157a73585..2d12aad72c002a73ca54badba1c58afa9f67bc4a 100755 --- a/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/CombinedMuonTrackBuilder.h +++ b/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/CombinedMuonTrackBuilder.h @@ -7,7 +7,7 @@ // AlgTool gathering material effects along a combined muon track, in // particular the TSOS'es representing the calorimeter energy deposit and // Coulomb scattering. -// The resulting track is fitted at the IP using the ITrackFitter interface. +// The resulting track is fitted at the IP // // (c) ATLAS Combined Muon software ////////////////////////////////////////////////////////////////////////////// @@ -39,6 +39,7 @@ #include "TrkExInterfaces/IExtrapolator.h" #include "TrkExInterfaces/IIntersector.h" #include "TrkExInterfaces/IPropagator.h" +#include "TrkFitterInterfaces/ITrackFitter.h" #include "TrkGeometry/MagneticFieldProperties.h" #include "TrkParameters/TrackParameters.h" #include "TrkToolInterfaces/ITrackSummaryTool.h" @@ -91,53 +92,21 @@ class CombinedMuonTrackBuilder : public AthAlgTool, virtual public ICombinedMuon refit a track removing any indet measurements with optional addition of pseudoMeasurements */ Trk::Track* standaloneRefit(const Trk::Track& combinedTrack, float bs_x, float bs_y, float bs_z) const; - /** ITrackFitter interface: - * - * Bring in default impl with - * EventContext for now - */ using ICombinedMuonTrackBuilder::fit; /*refit a track */ - Trk::Track* fit(const Trk::Track& track, const Trk::RunOutlierRemoval runOutlier = false, + Trk::Track* fit(Trk::Track& track, const Trk::RunOutlierRemoval runOutlier = false, const Trk::ParticleHypothesis particleHypothesis = Trk::muon) const; - /**ITrackFitter interface: - refit a track adding a PrepRawDataSet */ - Trk::Track* fit(const Trk::Track& /*track*/, const Trk::PrepRawDataSet& /*rawDataSet*/, - const Trk::RunOutlierRemoval /*runOutlier*/, - const Trk::ParticleHypothesis /*particleHypothesis*/) const - { - return interfaceNotImplemented(); - }; - - /** ITrackFitter interface: - fit a set of PrepRawData objects */ - Trk::Track* fit(const Trk::PrepRawDataSet&, const Trk::TrackParameters& /*perigeeStartValue*/, - const Trk::RunOutlierRemoval /*runOutlier*/, - const Trk::ParticleHypothesis /*particleHypothesis*/) const - { - return interfaceNotImplemented(); - }; - - /** ITrackFitter interface: - refit a track adding a MeasurementSet */ - Trk::Track* fit(const Trk::Track& /*track*/, const Trk::MeasurementSet& /*measurementSet*/, - const Trk::RunOutlierRemoval /*runOutlier*/, - const Trk::ParticleHypothesis /*particleHypothesis*/) const - { - return interfaceNotImplemented(); - }; - - /** ITrackFitter interface: + /** fit a set of MeasurementBase objects with starting value for perigeeParameters */ Trk::Track* fit(const Trk::MeasurementSet& /*measurementSet*/, const Trk::TrackParameters& /*perigeeStartValue*/, const Trk::RunOutlierRemoval /*runOutlier*/, const Trk::ParticleHypothesis /*particleHypothesis*/) const; - /** ITrackFitter interface: + /** combined muon fit */ - Trk::Track* fit(const Trk::Track& indetTrack, const Trk::Track& extrapolatedTrack, + Trk::Track* fit(const Trk::Track& indetTrack, Trk::Track& extrapolatedTrack, const Trk::RunOutlierRemoval runOutlier = false, const Trk::ParticleHypothesis particleHypothesis = Trk::muon) const; diff --git a/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/OutwardsCombinedMuonTrackBuilder.h b/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/OutwardsCombinedMuonTrackBuilder.h index e0d64a4a6fda259683ca739594165ce2817bed40..2d9fa769951dc672891ce95f6cc6c2d4c6d1bab3 100644 --- a/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/OutwardsCombinedMuonTrackBuilder.h +++ b/Reconstruction/MuonIdentification/MuidTrackBuilder/MuidTrackBuilder/OutwardsCombinedMuonTrackBuilder.h @@ -24,6 +24,7 @@ #include "MuonRecToolInterfaces/IMuonTrackCleaner.h" #include "TrkDetDescrInterfaces/ITrackingVolumesSvc.h" #include "TrkParameters/TrackParameters.h" +#include "TrkFitterInterfaces/ITrackFitter.h" #include "TrkToolInterfaces/ITrackSummaryTool.h" #include "TrkTrack/TrackInfo.h" @@ -80,27 +81,13 @@ class OutwardsCombinedMuonTrackBuilder : public AthAlgTool, virtual public IComb according to original extrapolation */ Trk::Track* standaloneRefit(const Trk::Track& combinedTrack, float bs_x, float bs_y, float bs_z) const; - /** ITrackFitter interface: - * - * Bring in default impl with - * EventContext for now - */ - using ICombinedMuonTrackBuilder::fit; /** refit a track */ - Trk::Track* fit(const Trk::Track& track, const Trk::RunOutlierRemoval runOutlier = false, + Trk::Track* fit(Trk::Track& track, const Trk::RunOutlierRemoval runOutlier = false, const Trk::ParticleHypothesis particleHypothesis = Trk::muon) const; - /** ITrackFitter interface: - refit a track adding a PrepRawDataSet */ - Trk::Track* fit(const Trk::Track& /*track*/, const Trk::PrepRawDataSet& /*rawDataSet*/, - const Trk::RunOutlierRemoval /*runOutlier*/, - const Trk::ParticleHypothesis /*particleHypothesis*/) const - { - return nullptr; - }; - /**ITrackFitter interface: + /** fit a set of PrepRawData objects */ Trk::Track* fit(const Trk::PrepRawDataSet&, const Trk::TrackParameters& /*perigeeStartValue*/, const Trk::RunOutlierRemoval /*runOutlier*/, @@ -109,7 +96,7 @@ class OutwardsCombinedMuonTrackBuilder : public AthAlgTool, virtual public IComb return nullptr; }; - /** ITrackFitter interface: + /** refit a track adding a MeasurementSet */ Trk::Track* fit(const Trk::Track& /*track*/, const Trk::MeasurementSet& /*measurementSet*/, const Trk::RunOutlierRemoval /*runOutlier*/, @@ -118,13 +105,13 @@ class OutwardsCombinedMuonTrackBuilder : public AthAlgTool, virtual public IComb return nullptr; }; - /** ITrackFitter interface: + /** fit a set of MeasurementBase objects with starting value for perigeeParameters */ Trk::Track* fit(const Trk::MeasurementSet& /*measurementSet*/, const Trk::TrackParameters& /*perigeeStartValue*/, const Trk::RunOutlierRemoval /*runOutlier*/, const Trk::ParticleHypothesis /*particleHypothesis*/) const; - /** ITrackFitter interface: + /** combined muon fit */ Trk::Track* fit(const Trk::Track& indetTrack, const Trk::Track& extrapolatedTrack, const Trk::RunOutlierRemoval runOutlier = false, diff --git a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx index bf8204a11ef21e6d31e30c5ba8a707356c7c0a99..6b05614defd116d398e2e214293a2d51328cc728 100755 --- a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx +++ b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/CombinedMuonTrackBuilder.cxx @@ -7,7 +7,7 @@ // AlgTool gathering material effects along a combined muon track, in // particular the TSOS'es representing the calorimeter energy deposit and // Coulomb scattering. -// The resulting track is fitted at the IP using the ITrackFitter interface. +// The resulting track is fitted at the IP // // (c) ATLAS Combined Muon software ////////////////////////////////////////////////////////////////////////////// @@ -132,7 +132,6 @@ CombinedMuonTrackBuilder::CombinedMuonTrackBuilder(const std::string& type, cons m_messageHelper = new MessageHelper(*this); declareInterface<ICombinedMuonTrackBuilder>(this); - declareInterface<Trk::ITrackFitter>(this); declareProperty("CaloEnergyParam", m_caloEnergyParam); declareProperty("CaloTSOS", m_caloTSOS); declareProperty("Cleaner", m_cleaner); @@ -975,6 +974,7 @@ Trk::Track* CombinedMuonTrackBuilder::standaloneFit(const Trk::Track& inputSpectrometerTrack, const Trk::Vertex* inputVertex, float bs_x, float bs_y, float bs_z) const { + MagField::AtlasFieldCache fieldCache; // Get field cache object EventContext ctx = Gaudi::Hive::currentContext(); @@ -1623,7 +1623,7 @@ CombinedMuonTrackBuilder::standaloneFit(const Trk::Track& inputSpectrometerTrack ATH_MSG_VERBOSE("Refining Calorimeter TSOS in StandAlone Fit ..."); std::unique_ptr<Trk::Track> oldTrack = std::make_unique<Trk::Track>(Trk::Track(*track)); - m_materialUpdator->updateCaloTSOS(const_cast<Trk::Track&>(*track)); + m_materialUpdator->updateCaloTSOS(*track); Trk::Track* refinedTrack = fit(*track, false, Trk::muon); if (refinedTrack) { @@ -2254,9 +2254,9 @@ CombinedMuonTrackBuilder::standaloneRefit(const Trk::Track& combinedTrack, float return refittedTrack; } -/** ITrackFitter interface: refit a track */ +/** refit a track */ Trk::Track* -CombinedMuonTrackBuilder::fit(const Trk::Track& track, const Trk::RunOutlierRemoval runOutlier, +CombinedMuonTrackBuilder::fit(Trk::Track& track, const Trk::RunOutlierRemoval runOutlier, const Trk::ParticleHypothesis particleHypothesis) const { @@ -2311,7 +2311,7 @@ CombinedMuonTrackBuilder::fit(const Trk::Track& track, const Trk::RunOutlierRemo // run-2 schema, update default eloss with parametrised value if (m_useCaloTG) { ATH_MSG_VERBOSE("Updating Calorimeter TSOS in Muon Combined (re)Fit ..."); - m_materialUpdator->updateCaloTSOS(const_cast<Trk::Track&>(track)); + m_materialUpdator->updateCaloTSOS(track); caloAssociated = true; } @@ -2366,7 +2366,7 @@ CombinedMuonTrackBuilder::fit(const Trk::Track& track, const Trk::RunOutlierRemo // Updates the calo TSOS with the ones from TG+corrections if (m_updateWithCaloTG && !m_useCaloTG && particleHypothesis == Trk::muon) { ATH_MSG_VERBOSE("Updating Calorimeter TSOS in Muon Standalone Fit ..."); - m_materialUpdator->updateCaloTSOS(const_cast<Trk::Track&>(track)); + m_materialUpdator->updateCaloTSOS(track); } // FIT @@ -2452,7 +2452,7 @@ CombinedMuonTrackBuilder::fit(const Trk::Track& track, const Trk::RunOutlierRemo return fittedTrack; } -/** ITrackFitter interface: +/** fit a set of MeasurementBase objects with starting value for perigeeParameters */ Trk::Track* CombinedMuonTrackBuilder::fit(const Trk::MeasurementSet& measurementSet, const Trk::TrackParameters& perigeeStartValue, @@ -2586,9 +2586,9 @@ CombinedMuonTrackBuilder::fit(const Trk::MeasurementSet& measurementSet, const T } -/**ITrackFitter interface: combined muon fit */ +/**combined muon fit */ Trk::Track* -CombinedMuonTrackBuilder::fit(const Trk::Track& indetTrack, const Trk::Track& extrapolatedTrack, +CombinedMuonTrackBuilder::fit(const Trk::Track& indetTrack, Trk::Track& extrapolatedTrack, const Trk::RunOutlierRemoval runOutlier, const Trk::ParticleHypothesis particleHypothesis) const { @@ -2632,7 +2632,7 @@ CombinedMuonTrackBuilder::fit(const Trk::Track& indetTrack, const Trk::Track& ex // Updates the calo TSOS with the ones from TG+corrections if (m_updateWithCaloTG && !m_useCaloTG && particleHypothesis == Trk::muon) { ATH_MSG_VERBOSE("Updating Calorimeter TSOS in Muon Combined Fit ..."); - m_materialUpdator->updateCaloTSOS(indetTrack, const_cast<Trk::Track&>(extrapolatedTrack)); + m_materialUpdator->updateCaloTSOS(indetTrack, extrapolatedTrack); } // FIT diff --git a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/OutwardsCombinedMuonTrackBuilder.cxx b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/OutwardsCombinedMuonTrackBuilder.cxx index 5601441f387b03e62cd83f7f0e470ca18d7c4138..ee5260697a83b281de418d4850c13f2242af5946 100755 --- a/Reconstruction/MuonIdentification/MuidTrackBuilder/src/OutwardsCombinedMuonTrackBuilder.cxx +++ b/Reconstruction/MuonIdentification/MuidTrackBuilder/src/OutwardsCombinedMuonTrackBuilder.cxx @@ -53,7 +53,6 @@ OutwardsCombinedMuonTrackBuilder::OutwardsCombinedMuonTrackBuilder(const std::st m_addIDMSerrors(true) { declareInterface<ICombinedMuonTrackBuilder>(this); - declareInterface<Trk::ITrackFitter>(this); declareProperty("AllowCleanerVeto", m_allowCleanerVeto); declareProperty("CleanCombined", m_cleanCombined); declareProperty("RecoverCombined", m_recoverCombined); @@ -363,9 +362,9 @@ OutwardsCombinedMuonTrackBuilder::standaloneRefit(const Trk::Track& combinedTrac } -/** ITrackFitter interface: refit a track */ +/** refit a track */ Trk::Track* -OutwardsCombinedMuonTrackBuilder::fit(const Trk::Track& track, const Trk::RunOutlierRemoval runOutlier, +OutwardsCombinedMuonTrackBuilder::fit(Trk::Track& track, const Trk::RunOutlierRemoval runOutlier, const Trk::ParticleHypothesis particleHypothesis) const { // check valid particleHypothesis diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py index 4dbcbe7129d0904d81074bd236d60b8edb59c346..4789539dc431d571ebcc20c689a6eff6c4131897 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py +++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py @@ -500,7 +500,7 @@ def MuonTrackQueryCfg(flags, name="MuonTrackQuery", **kwargs ): def MuidSegmentRegionRecoveryToolCfg(flags, name ='MuidSegmentRegionRecoveryTool', **kwargs ): result = CombinedMuonTrackBuilderFitCfg(flags) - kwargs.setdefault("Fitter", result.popPrivateTools() ) + kwargs.setdefault("Builder", result.popPrivateTools() ) tool = CompFactory.Muon.MuonSegmentRegionRecoveryTool(name,**kwargs) result.setPrivateTools(tool) return result diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedFitTools.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedFitTools.py index 784b26b802571f3c6035e78f759f1d20630e0600..3f49316625f8f16a3f4c3332d15d5b457d081308 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedFitTools.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedFitTools.py @@ -181,7 +181,7 @@ def MuonTrackQuery( name="MuonTrackQuery", **kwargs ): return CfgMgr.Rec__MuonTrackQuery(name,**kwargs) def MuidSegmentRegionRecoveryTool( name ='MuidSegmentRegionRecoveryTool', **kwargs ): - kwargs.setdefault("Fitter", getPublicTool("CombinedMuonTrackBuilderFit") ) + kwargs.setdefault("Builder", getPublicTool("CombinedMuonTrackBuilderFit") ) import MuonCombinedRecExample.CombinedMuonTrackSummary from AthenaCommon.AppMgr import ToolSvc kwargs.setdefault("TrackSummaryTool", ToolSvc.CombinedMuonTrackSummary)