diff --git a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx index 4851b857cbd7148c5da215d56edc5c113aa37a1b..d56103c9a7b3e851cd6a33a0cf7c54e85239117d 100644 --- a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx +++ b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx @@ -61,49 +61,33 @@ StatusCode InDet::TRT_TrackSegmentsFinder::initialize() StatusCode InDet::TRT_TrackSegmentsFinder::execute(const EventContext &ctx) const { std::unique_ptr<Trk::SegmentCollection> found_segments(std::make_unique<Trk::SegmentCollection>()); - std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData> event_data_p; if(!m_useCaloSeeds) { - event_data_p = m_segmentsMakerTool->newEvent(ctx); m_segmentsMakerTool->find (ctx, *event_data_p); - // Loop through all segments and reconsrtucted segments collection preparation // Trk::Segment* segment = nullptr; while((segment = m_segmentsMakerTool->next(*event_data_p))) { found_segments->push_back(segment); } - } - else { - + } else { Amg::Vector3D PSV(0.,0.,0.); Trk::PerigeeSurface PS(PSV); - std::vector<IdentifierHash> vTR; - SG::ReadHandle calo(m_caloKey,ctx); if(calo.isValid()) { - // CaloClusterROI_Collection::const_iterator c = m_calo->begin(), ce = m_calo->end(); - // for(; c!=ce; ++c) { - for (const Trk::CaloClusterROI *c: *calo) { - if ( c->energy()/cosh(c->globalPosition().eta()) < m_ClusterEt) { + if ( c->energy()/std::cosh(c->globalPosition().eta()) < m_ClusterEt) { continue; } - - std::vector<const InDetDD::TRT_BaseElement*> DE; - { Amg::Vector3D global_pos(c->globalPosition()); double x = global_pos.x(); double y = global_pos.y(); double z = global_pos.z(); - std::unique_ptr<Trk::TrackParameters> par = PS.createUniqueTrackParameters( - 0., 0., atan2(y, x), atan2(1., z / sqrt(x * x + y * y)), 0., nullptr); - + 0., 0., std::atan2(y, x), std::atan2(1., z / std::sqrt(x * x + y * y)), 0., nullptr); // Get AtlasFieldCache MagField::AtlasFieldCache fieldCache; - SG::ReadCondHandle<AtlasFieldCacheCondObj> readHandle{m_fieldCondObjInputKey, ctx}; const AtlasFieldCacheCondObj* fieldCondObj{*readHandle}; if (fieldCondObj == nullptr) { @@ -111,30 +95,24 @@ StatusCode InDet::TRT_TrackSegmentsFinder::execute(const EventContext &ctx) cons return StatusCode::FAILURE; } fieldCondObj->getInitializedCache (fieldCache); - - // TRT detector elements road builder - // - m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum, DE); - } - if(int(DE.size()) < m_minNumberDCs) continue; - - vTR.clear(); + // TRT detector elements road builder + // + const auto & DE = m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum); + if(int(DE.size()) < m_minNumberDCs) continue; + vTR.clear(); vTR.reserve(DE.size()); for (const InDetDD::TRT_BaseElement*d: DE) { vTR.push_back(d->identifyHash()); } - - event_data_p = m_segmentsMakerTool->newRegion(ctx, vTR); - m_segmentsMakerTool->find(ctx, *event_data_p); - - // Loop through all segments and reconsrtucted segments collection preparation - // + event_data_p = m_segmentsMakerTool->newRegion(ctx, vTR); + m_segmentsMakerTool->find(ctx, *event_data_p); + // Loop through all segments and reconsrtucted segments collection preparation Trk::Segment* segment = nullptr; - while((segment = m_segmentsMakerTool->next(*event_data_p))) { - found_segments->push_back(segment); - } - } - }else{ + while((segment = m_segmentsMakerTool->next(*event_data_p))) { + found_segments->push_back(segment); + } + }//end of loopover *calo + } else { ATH_MSG_WARNING("Could not find calo cluster seeds in container " << m_caloKey.key()); return StatusCode::SUCCESS; // @TODO correct ? } diff --git a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ITRT_DetElementsRoadMaker.h b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ITRT_DetElementsRoadMaker.h index df3c74e18ff8e564ed141565f9d52591176daa98..ea2cb1db6b9fccc62ac9912921c7b0acd9e6d9d4 100755 --- a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ITRT_DetElementsRoadMaker.h +++ b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ITRT_DetElementsRoadMaker.h @@ -58,17 +58,10 @@ namespace InDet { // Main methods for road builder /////////////////////////////////////////////////////////////////// - virtual void detElementsRoad - (const EventContext& ctx, + virtual std::vector<const InDetDD::TRT_BaseElement*> + detElementsRoad(const EventContext& ctx, MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters&,Trk::PropDirection, - std::vector<const InDetDD::TRT_BaseElement*>&) const = 0; - - virtual void detElementsRoad - (const EventContext& ctx, - MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters&,Trk::PropDirection, - std::vector<std::pair<const InDetDD::TRT_BaseElement*,const Trk::TrackParameters*> >&) const =0; + const Trk::TrackParameters&,Trk::PropDirection) const = 0; /////////////////////////////////////////////////////////////////// // Print internal tool parameters and status diff --git a/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadMaker_xk.h b/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadMaker_xk.h index 6febd736fd52a9c4392b17ff6ca81bca78cd35ba..b1e6044e1ea1ab71ff7f6953afaf799e324fbf71 100755 --- a/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadMaker_xk.h +++ b/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadTool_xk/TRT_DetElementsRoadMaker_xk.h @@ -87,17 +87,11 @@ namespace InDet { // Main methods for road builder /////////////////////////////////////////////////////////////////// - virtual void detElementsRoad - (const EventContext& ctx, + + virtual std::vector<const InDetDD::TRT_BaseElement*> + detElementsRoad(const EventContext& ctx, MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters&,Trk::PropDirection, - std::vector<const InDetDD::TRT_BaseElement*>&) const; - - virtual void detElementsRoad - (const EventContext& ctx, - MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters&,Trk::PropDirection, - std::vector<std::pair<const InDetDD::TRT_BaseElement*,const Trk::TrackParameters*> >&) const; + const Trk::TrackParameters&,Trk::PropDirection) const; /////////////////////////////////////////////////////////////////// // Print internal tool parameters and status diff --git a/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/src/TRT_DetElementsRoadMaker_xk.cxx b/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/src/TRT_DetElementsRoadMaker_xk.cxx index ca71f7adf9edd780b91eae4e5b267d2e3a3531ce..75384af860e0f57a99f802b2f43a0881d62f4ebd 100755 --- a/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/src/TRT_DetElementsRoadMaker_xk.cxx +++ b/InnerDetector/InDetRecTools/TRT_DetElementsRoadTool_xk/src/TRT_DetElementsRoadMaker_xk.cxx @@ -276,72 +276,33 @@ std::ostream& InDet::TRT_DetElementsRoadMaker_xk::dump( std::ostream& out ) cons // Main methods for road builder /////////////////////////////////////////////////////////////////// -void InDet::TRT_DetElementsRoadMaker_xk::detElementsRoad +std::vector<const InDetDD::TRT_BaseElement*> +InDet::TRT_DetElementsRoadMaker_xk::detElementsRoad (const EventContext& ctx, MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters& Tp,Trk::PropDirection D, - std::vector<const InDetDD::TRT_BaseElement*>& R) const + const Trk::TrackParameters& Tp,Trk::PropDirection D) const { - double qp = std::abs(500.*Tp.parameters()[4]) ; if( qp < 1.e-10 ) qp = 1.e-10; double S = m_step/qp ; if( S > 200. ) S = 200. ; if(D<0) S=-S; - Trk::CylinderBounds CB = getBound(fieldCache, Tp); - double rminTRT = getTRTMinR(); - + std::vector<const InDetDD::TRT_BaseElement*> result; if( CB.r() > rminTRT) { Trk::MagneticFieldMode fieldModeEnum(m_fieldModeEnum); if(!fieldCache.solenoidOn()) fieldModeEnum = Trk::NoField; Trk::MagneticFieldProperties fieldprop(fieldModeEnum); - std::list<Amg::Vector3D> G; m_proptool->globalPositions(ctx, G,Tp,fieldprop,CB,S,Trk::pion); - if(G.size() > 1 ) { - detElementsRoadATL(G,R); + detElementsRoadATL(G,result); } } - - if (msgLvl(MSG::VERBOSE)) { - dumpEvent(msg(MSG::VERBOSE),R.size()); - dumpConditions(msg(MSG::VERBOSE)); - msg(MSG::VERBOSE) << endmsg; - } + return result; } -/////////////////////////////////////////////////////////////////// -// Main methods for road builder -/////////////////////////////////////////////////////////////////// - -void -InDet::TRT_DetElementsRoadMaker_xk::detElementsRoad -(const EventContext& ctx, - MagField::AtlasFieldCache& fieldCache, - const Trk::TrackParameters& trackParams, - Trk::PropDirection direction, std::vector<std::pair<const InDetDD::TRT_BaseElement*,const Trk::TrackParameters*> > & result) const -{ - std::vector<const InDetDD::TRT_BaseElement*> baseElementPointers; - detElementsRoad(ctx, fieldCache, trackParams,direction,baseElementPointers); - if (baseElementPointers.empty()) return; - // - Trk::MagneticFieldMode fieldModeEnum(m_fieldModeEnum); - if(!fieldCache.solenoidOn()) fieldModeEnum = Trk::NoField; - Trk::MagneticFieldProperties fieldprop(fieldModeEnum); - // - const Trk::TrackParameters* tp0 = &trackParams; - for(const auto pThisElement : baseElementPointers) { - const auto & thisSurface = pThisElement->surface(); - auto tp = m_proptool->propagate(ctx, (*tp0),thisSurface,direction,false,fieldprop,Trk::pion); - if(!tp) return; - tp0=tp.get(); - //ownership of tp given to the vector - result.emplace_back(pThisElement, tp.release()); - } -} /////////////////////////////////////////////////////////////////// // Main methods for road builder using input list global positions diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_DAF/src/TRT_TrackExtensionTool_DAF.cxx b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_DAF/src/TRT_TrackExtensionTool_DAF.cxx index 3b14950f1248cb615f5c355f5895ff869f4f8929..e33b0482070daed2cf2dc51f8bffe898af4cfc3d 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_DAF/src/TRT_TrackExtensionTool_DAF.cxx +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_DAF/src/TRT_TrackExtensionTool_DAF.cxx @@ -225,8 +225,7 @@ InDet::TRT_TrackExtensionTool_DAF::extendTrack(const EventContext& ctx, fieldCondObj->getInitializedCache (fieldCache); // ---------------------------------- // start the TRT detector elements road maker to get a list of possibly interesting detector elements - std::vector<const InDetDD::TRT_BaseElement*> detElements; - m_roadtool->detElementsRoad(ctx, fieldCache, *event_data.m_siliconTrkParams, Trk::alongMomentum, detElements); + const std::vector<const InDetDD::TRT_BaseElement*> detElements = m_roadtool->detElementsRoad(ctx, fieldCache, *event_data.m_siliconTrkParams, Trk::alongMomentum); ATH_MSG_DEBUG("TRT detector elements road maker found "<< detElements.size()<< " detElements" ); if(detElements.empty()) { ATH_MSG_DEBUG("TRT_DetElementsRoadMaker found no road, stop!"); diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_TrajectoryElement_xk.h b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_TrajectoryElement_xk.h index 277f9e6be1d547d81410719df74b7d59bff9e0fb..13149cf4d1837ca8c1df20296ddf3320709743b4 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_TrajectoryElement_xk.h +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_TrajectoryElement_xk.h @@ -72,12 +72,12 @@ namespace InDet{ void set (const Trk::MagneticFieldProperties&, const AtlasFieldCacheCondObj* ); - bool initiateForPrecisionSeed (bool,const InDetDD::TRT_BaseElement*&, + bool initiateForPrecisionSeed (bool,const InDetDD::TRT_BaseElement*, InDet::TRT_DriftCircleCollection::const_iterator&, InDet::TRT_DriftCircleCollection::const_iterator&, std::pair<Amg::Vector3D,double>&, const double*,double); - bool initiateForTRTSeed (bool,const InDetDD::TRT_BaseElement*&, + bool initiateForTRTSeed (bool,const InDetDD::TRT_BaseElement*, InDet::TRT_DriftCircleCollection::const_iterator&, InDet::TRT_DriftCircleCollection::const_iterator&, std::pair<Amg::Vector3D,double>&, const double*,double); diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_Trajectory_xk.h b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_Trajectory_xk.h index de198d294df5c2642112f1f6884b3b2d18edc2b9..92928bf80c1c7d89feb9b543146c8e57cbc40d96 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_Trajectory_xk.h +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/TRT_TrackExtensionTool_xk/TRT_Trajectory_xk.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////////////////////////////////// @@ -77,13 +77,13 @@ namespace InDet{ void initiateForPrecisionSeed (std::list< std::pair<Amg::Vector3D,double> >&, - std::vector<const InDetDD::TRT_BaseElement*>&, + const std::vector<const InDetDD::TRT_BaseElement*>&, const TRT_DriftCircleContainer*&, const Trk::PatternTrackParameters&); void initiateForTRTSeed (std::list< std::pair<Amg::Vector3D,double> >&, - std::vector<const InDetDD::TRT_BaseElement*>&, + const std::vector<const InDetDD::TRT_BaseElement*>&, const TRT_DriftCircleContainer*&, const Trk::PatternTrackParameters&); diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrackExtensionTool_xk.cxx b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrackExtensionTool_xk.cxx index 67f5de99ba8f0820b574c57c8ee0efb88d31dd52..f226806fd18b16afd2a42319751d331397feb879 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrackExtensionTool_xk.cxx +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrackExtensionTool_xk.cxx @@ -28,7 +28,7 @@ namespace{ constexpr size_t MAX_ROAD_SIZE(399); std::list<const Trk::Surface*> - listOfSurfacesFromVectorOfElements(std::vector<const InDetDD::TRT_BaseElement*> & v){ + listOfSurfacesFromVectorOfElements(const std::vector<const InDetDD::TRT_BaseElement*> & v){ size_t roadsize{0}; std::list<const Trk::Surface*> surfaces; for(const auto &pThisElement: v) { @@ -385,8 +385,7 @@ InDet::TRT_TrackExtensionTool_xk::findSegment(const EventContext& ctx, // TRT detector elements road builder // - std::vector<const InDetDD::TRT_BaseElement*> detectorElements; - m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum,detectorElements); + const std::vector<const InDetDD::TRT_BaseElement*> & detectorElements = m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum); if(int(detectorElements.size())< nCut) return nullptr; @@ -475,8 +474,7 @@ InDet::TRT_TrackExtensionTool_xk::isGoodExtension(const EventContext& ctx, fieldCondObj->getInitializedCache (fieldCache); // TRT detector elements road builder // - std::vector<const InDetDD::TRT_BaseElement*> detectorElements; - m_roadtool->detElementsRoad(ctx, fieldCache, *par,Trk::alongMomentum,detectorElements); + const std::vector<const InDetDD::TRT_BaseElement*> & detectorElements = m_roadtool->detElementsRoad(ctx, fieldCache, *par,Trk::alongMomentum); if(int(detectorElements.size()) < m_minNumberDCs) return false; // Array pointers to surface preparation // diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrajectoryElement_xk.cxx b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrajectoryElement_xk.cxx index 67815fcfc2b2a085d7c2ebe1711a25ed44a4bc14..dac5a1cb34b31a71968779db187d181cff91bc7b 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrajectoryElement_xk.cxx +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_TrajectoryElement_xk.cxx @@ -39,7 +39,7 @@ void InDet::TRT_TrajectoryElement_xk::set /////////////////////////////////////////////////////////////////// bool InDet::TRT_TrajectoryElement_xk::initiateForPrecisionSeed -(bool st,const InDetDD::TRT_BaseElement*& de, +(bool st,const InDetDD::TRT_BaseElement* de, InDet::TRT_DriftCircleCollection::const_iterator& sb, InDet::TRT_DriftCircleCollection::const_iterator& se, std::pair<Amg::Vector3D,double>& gp, @@ -63,7 +63,7 @@ bool InDet::TRT_TrajectoryElement_xk::initiateForPrecisionSeed /////////////////////////////////////////////////////////////////// bool InDet::TRT_TrajectoryElement_xk::initiateForTRTSeed -(bool st,const InDetDD::TRT_BaseElement*& de, +(bool st,const InDetDD::TRT_BaseElement* de, InDet::TRT_DriftCircleCollection::const_iterator& sb, InDet::TRT_DriftCircleCollection::const_iterator& se, std::pair<Amg::Vector3D,double>& gp, diff --git a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_Trajectory_xk.cxx b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_Trajectory_xk.cxx index a389a327ded1076cbcd9fb0ad8afc2866ba292f1..cea07716723ebdbea1fc7502a040d571d97bd45a 100755 --- a/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_Trajectory_xk.cxx +++ b/InnerDetector/InDetRecTools/TRT_TrackExtensionTool_xk/src/TRT_Trajectory_xk.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration */ #include <iostream> @@ -30,9 +30,9 @@ void InDet::TRT_Trajectory_xk::set m_proptool = pr ; m_updatortool = up ; m_roadwidth2 = roadwidth*roadwidth; - m_zVertexWidth = fabs(zvertexwidth) ; - m_impact = fabs(impact ) ; - m_scale_error = fabs(scale ) ; + m_zVertexWidth = std::abs(zvertexwidth) ; + m_impact = std::abs(impact ) ; + m_scale_error = std::abs(scale ) ; for(int i=0; i!=400; ++i) m_elements[i].set(m,pr,up,riod,rion,m_scale_error); m_minTRTSegmentpT = minTRTSegmentpT ; } @@ -51,7 +51,7 @@ void InDet::TRT_Trajectory_xk::set void InDet::TRT_Trajectory_xk::initiateForPrecisionSeed (std::list< std::pair<Amg::Vector3D,double> > & Gp , - std::vector<const InDetDD::TRT_BaseElement*> & De , + const std::vector<const InDetDD::TRT_BaseElement*> & De , const TRT_DriftCircleContainer* & TRTc, const Trk::PatternTrackParameters & Tp ) { @@ -69,39 +69,35 @@ void InDet::TRT_Trajectory_xk::initiateForPrecisionSeed InDet::TRT_DriftCircleCollection::const_iterator ti,te; - std::vector<const InDetDD::TRT_BaseElement*>::iterator d=De.begin(),de=De.end(); + std::vector<const InDetDD::TRT_BaseElement*>::const_iterator d=De.begin(),de=De.end(); std::list< std::pair<Amg::Vector3D,double> >::iterator i=Gp.begin(),i0=Gp.begin(),ie=Gp.end(); if(i0==ie) return; // Primary trajectory direction calculation - // - double A[4]; A[3]=Tp.parameters()[4]; - + // Tp.parameters()[4] is the (signed) q/p + double A[4]={0., 0., 0., Tp.parameters()[4]}; for(++i; i!=ie; ++i) { - if( (*i).second-(*i0).second > 1.) { - + if((*i).second-(*i0).second > 1.) { A[0] = (*i).first.x()-(*i0).first.x(); A[1] = (*i).first.y()-(*i0).first.y(); A[2] = (*i).first.z()-(*i0).first.z(); - double As = 1./sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); - A[0]*=As; A[1]*=As; A[2]*=As; i0=i; break; + double As = 1./std::sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); + A[0]*=As; A[1]*=As; A[2]*=As; + i0=i; + break; } } for(i=Gp.begin(); i!=ie; ++i) { - - IdentifierHash id = (*d)->identifyHash(); auto w=(*TRTc).indexFindPtr(id); + IdentifierHash id = (*d)->identifyHash(); + auto w=(*TRTc).indexFindPtr(id); bool q; if(w!=nullptr && w->begin()!=w->end()) { ti = w->begin(); te = w->end (); - q = m_elements[m_nElements].initiateForPrecisionSeed(true,(*d),ti,te,(*i),A,m_roadwidth2); if(q && m_elements[m_nElements].isCluster()) ++m_naElements; - - } - else { - + } else { q = m_elements[m_nElements].initiateForPrecisionSeed(false,(*d),ti,te,(*i),A,m_roadwidth2); } if(q && m_elements[m_nElements].nlinks()) ++m_nElements; @@ -110,11 +106,10 @@ void InDet::TRT_Trajectory_xk::initiateForPrecisionSeed // New trajectory direction calculation // if( (*i).second-(*i0).second > 50.) { - A[0] = (*i).first.x()-(*i0).first.x(); A[1] = (*i).first.y()-(*i0).first.y(); A[2] = (*i).first.z()-(*i0).first.z(); - double As = 1./sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); + double As = 1./std::sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); A[0]*=As; A[1]*=As; A[2]*=As; i0=i; } } @@ -130,7 +125,7 @@ void InDet::TRT_Trajectory_xk::initiateForPrecisionSeed void InDet::TRT_Trajectory_xk::initiateForTRTSeed (std::list< std::pair<Amg::Vector3D,double> > & Gp , - std::vector<const InDetDD::TRT_BaseElement*> & De , + const std::vector<const InDetDD::TRT_BaseElement*> & De , const TRT_DriftCircleContainer* & TRTc, const Trk::PatternTrackParameters & Tp ) { @@ -151,22 +146,20 @@ void InDet::TRT_Trajectory_xk::initiateForTRTSeed InDet::TRT_DriftCircleCollection::const_iterator ti,te; - std::vector<const InDetDD::TRT_BaseElement*>::iterator d=De.begin(),de=De.end(); + std::vector<const InDetDD::TRT_BaseElement*>::const_iterator d=De.begin(),de=De.end(); std::list< std::pair<Amg::Vector3D,double> >::iterator i=Gp.begin(),i0=Gp.begin(),ie=Gp.end(); if(i0==ie) return; // Primary trajectory direction calculation // - double A[4]; A[3]=Tp.parameters()[4]; - + double A[4]={0.,0.,0.,Tp.parameters()[4]}; for(++i; i!=ie; ++i) { if( (*i).second-(*i0).second > 1.) { - A[0] = (*i).first.x()-(*i0).first.x(); A[1] = (*i).first.y()-(*i0).first.y(); A[2] = (*i).first.z()-(*i0).first.z(); - double As = 1./sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); + double As = 1./std::sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); A[0]*=As; A[1]*=As; A[2]*=As; i0=i; break; } } @@ -203,7 +196,7 @@ void InDet::TRT_Trajectory_xk::initiateForTRTSeed A[0] = (*i).first.x()-(*i0).first.x(); A[1] = (*i).first.y()-(*i0).first.y(); A[2] = (*i).first.z()-(*i0).first.z(); - double As = 1./sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); + double As = 1./std::sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]); A[0]*=As; A[1]*=As; A[2]*=As; i0=i; } } @@ -228,7 +221,7 @@ void InDet::TRT_Trajectory_xk::trackFindingWithDriftTime(double DA) double dmin = m_elements[i].dnegative()-.01; double dmax = m_elements[i].dpositive()+.01; - if(fabs(dmin) < rcut || fabs(dmax) < rcut) {dmin = -rcut; dmax = rcut;} + if(std::abs(dmin) < rcut || std::abs(dmax) < rcut) {dmin = -rcut; dmax = rcut;} for(int j=0; j!=nl; ++j) { @@ -281,7 +274,7 @@ void InDet::TRT_Trajectory_xk::trackFindingWithoutDriftTime(double DA) double dmin = m_elements[i].dnegative()-.01; double dmax = m_elements[i].dpositive()+.01; - if(fabs(dmin) < rcut || fabs(dmax) < rcut) {dmin = -rcut; dmax = rcut;} + if(std::abs(dmin) < rcut || std::abs(dmax) < rcut) {dmin = -rcut; dmax = rcut;} for(int j=0; j!=nl; ++j) { @@ -291,7 +284,7 @@ void InDet::TRT_Trajectory_xk::trackFindingWithoutDriftTime(double DA) double di= m_elements[i].link(j).distance(); if(di < dmin || di > dmax) continue; - double d = rs+fabs(m_elements[i].link(j).sdistance()*sr); + double d = rs+std::abs(m_elements[i].link(j).sdistance()*sr); double s = d *ui; double v = di*ui; m_U[n] = u; m_V[n++] = v-s; m_U[n] = u; m_V[n++] = v+s; @@ -358,7 +351,7 @@ void InDet::TRT_Trajectory_xk::trackFindingWithoutDriftTimeBL(double DA) if( l<0 || !m_elements[i].link(l).cluster()) continue; double u = m_elements[i].link(l).way(); if(u==0.) continue; double ui = 1./u; - double d = rs+fabs(m_elements[i].link(l).sdistance()*sr); + double d = rs+std::abs(m_elements[i].link(l).sdistance()*sr); double s = d*ui; double v = m_elements[i].link(l).distance()*ui; m_U[n] = u; m_V[n++] = v-s; m_U[n] = u; m_V[n++] = v+s; @@ -382,7 +375,7 @@ bool InDet::TRT_Trajectory_xk::searchStartStop() double D = m_elements[e].findCloseLink(m_A,m_B); int b = m_elements[e].bestlink(); w[e] = 0; - if( D < rs+fabs(m_elements[e].link(b).sdistance()*sr)) { + if( D < rs+std::abs(m_elements[e].link(b).sdistance()*sr)) { if (m_elements[e].link(b).cluster()) w[e] = 1; else if( D < rse ) w[e] =-1; @@ -484,7 +477,7 @@ void InDet::TRT_Trajectory_xk::radiusCorrection() double z0 = m_elements[e ].z (); double r1 = m_elements[el].radiusMax(); double z1 = m_elements[el].z (); - double dz = z1-z0; if(fabs(dz) < 1.) return; + double dz = z1-z0; if(std::abs(dz) < 1.) return; double rz = (r1-r0)/dz; double zv = z0 - r0/rz; @@ -520,7 +513,7 @@ Trk::TrackSegment* InDet::TRT_Trajectory_xk::convert() { // Test quality of propagation to perigee - if(fabs(m_parameters.pT()) < m_minTRTSegmentpT) return 0; + if(std::abs(m_parameters.pT()) < m_minTRTSegmentpT) return 0; const Trk::Surface* sur = &m_parameters.associatedSurface(); @@ -540,7 +533,7 @@ Trk::TrackSegment* InDet::TRT_Trajectory_xk::convert() const Trk::MeasurementBase* r = m_elements[e].rioOnTrack(); if(r) { - if (fabs(r->associatedSurface().transform()(2,2)) <.5) nendcap++; + if (std::abs(r->associatedSurface().transform()(2,2)) <.5) nendcap++; else { nbarrel++; //lastbarrelsurf=&r->associatedSurface(); @@ -556,7 +549,7 @@ Trk::TrackSegment* InDet::TRT_Trajectory_xk::convert() pms=pseudoMeasurements(&(**rio->begin()).associatedSurface(),&(**rio->rbegin()).associatedSurface(),bec); if(pms.first) rio->insert(rio->begin(),pms.first); if(pms.second) { - if (fabs((**rio->rbegin()).associatedSurface().center().z())<2650.) rio->push_back(pms.second); + if (std::abs((**rio->rbegin()).associatedSurface().center().z())<2650.) rio->push_back(pms.second); else rio->insert(rio->begin()+1,pms.second); } // Track segment production @@ -608,7 +601,7 @@ InDet::TRT_Trajectory_xk::pseudoMeasurements(const Trk::Surface *firstsurf, cons pseudopoint = Amg::Vector3D(lastsurf->center().x(),lastsurf->center().y(),tempz); pseudorot = lastsurf->transform().rotation(); } - else if (fabs(lastsurf->center().z())<2650.) { + else if (std::abs(lastsurf->center().z())<2650.) { //std::cout << "sur center: " << sur->center() << " halfz: " << halfz << " firstsur center: " << firstsur->center() << " halfzfirst: " << halfzfirst << std::endl; tempr= lastsurf->center().perp()+halfz; tempz=lastsurf->center().z(); @@ -623,7 +616,7 @@ InDet::TRT_Trajectory_xk::pseudoMeasurements(const Trk::Surface *firstsurf, cons pseudorot = firstsurf->transform().rotation(); } - pseudotheta=atan2(tempr,fabs(tempz)); + pseudotheta=atan2(tempr,std::abs(tempz)); //std::cout << "bec: " << bec << " pseudotheta: " << pseudotheta << std::endl; if (lastsurf->center().z()<0) pseudotheta=M_PI-pseudotheta; @@ -773,7 +766,7 @@ bool InDet::TRT_Trajectory_xk::fitter() void InDet::TRT_Trajectory_xk::stabline(int Np,double DA) { m_A=m_B=0; if(Np<2) return; - double Amax =fabs(DA); + double Amax =std::abs(DA); int i=0; @@ -802,26 +795,26 @@ void InDet::TRT_Trajectory_xk::stabline(int Np,double DA) { double U1=-1000., d=0.; int m=0; while(i<Np-1) { if (m_U[i]==U1) { - if(fabs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; - if(fabs(m_SS[m].m_F=(m_V[i+1]-v0)*d)<Amax) m_SS[m++].m_NA=i+1; + if(std::abs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; + if(std::abs(m_SS[m].m_F=(m_V[i+1]-v0)*d)<Amax) m_SS[m++].m_NA=i+1; } else { d=1./((U1=m_U[i])-u0); - if(fabs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; - if(fabs(m_SS[m].m_F=(m_V[i+1]-v0)*d)<Amax) m_SS[m++].m_NA=i+1; + if(std::abs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; + if(std::abs(m_SS[m].m_F=(m_V[i+1]-v0)*d)<Amax) m_SS[m++].m_NA=i+1; } i+=2; } (i=l); while(--i>0) {if(m_U[i]!=u0) {break;}} U1=-1000.; while(i>0) { if (m_U[i]==U1) { - if(fabs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; - if(fabs(m_SS[m].m_F=(m_V[i-1]-v0)*d)<Amax) m_SS[m++].m_NA=i-1; + if(std::abs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; + if(std::abs(m_SS[m].m_F=(m_V[i-1]-v0)*d)<Amax) m_SS[m++].m_NA=i-1; } else { d=1./((U1=m_U[i])-u0); - if(fabs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; - if(fabs(m_SS[m].m_F=(m_V[i-1]-v0)*d)<Amax) m_SS[m++].m_NA=i-1; + if(std::abs(m_SS[m].m_F=(m_V[i ]-v0)*d)<Amax) m_SS[m++].m_NA=i; + if(std::abs(m_SS[m].m_F=(m_V[i-1]-v0)*d)<Amax) m_SS[m++].m_NA=i-1; } i-=2; }