|
ATLAS Offline Software
|
Go to the documentation of this file.
18 declareInterface<IMdtSegmentFinder>(
this);
27 return StatusCode::SUCCESS;
88 segmentFinder.setFitter(
fitter);
90 segmentFinder.setFitter(std::make_shared<TrkDriftCircleMath::DCSLFitter>());
97 segmentFinder.setMdtGeometry(multiGeo);
100 bool highOccupancy =
false;
101 bool aboveOccupancyCut =
false;
102 double occupancyMax = 0.;
103 unsigned int nmdtHits = 0;
107 for (; mit != mit_end; ++mit) {
108 unsigned int channels = mit->first->getNLayers() * mit->first->getNtubesperlayer();
111 nmdtHits += mit->second;
113 occupancyMax =
std::max(occupancy, occupancyMax);
121 if (nmdtHits != dcvec.size()) {
122 ATH_MSG_WARNING(
" inconsistent number of mdt hits " << nmdtHits <<
" from vec " << dcvec.size());
123 nmdtHits = dcvec.size();
126 if (aboveOccupancyCut) {
127 ATH_MSG_DEBUG(
" layer with occupancy above threshold, aborting segment finding "
139 segmentFinder.setFitter(std::make_shared<TrkDriftCircleMath::DCSLFitter>());
146 return segmentFinder.findSegments(dcvec, clvec);
const ShapeFitter * fitter
Gaudi::Property< bool > m_doRoadAngleSeeding
Gaudi::Property< bool > m_doSingleMultiLayerScan
Gaudi::Property< bool > m_doDrop
Gaudi::Property< double > m_rpcAssociationPullCut
Gaudi::Property< bool > m_doCurvedSegmentFinder
std::vector< Cluster > CLVec
Helper struct to overload the destructors of smart pointers.
MdtMathSegmentFinder(const std::string &t, const std::string &n, const IInterface *p)
Gaudi::Property< double > m_mdtAssociationPullCut
ToolHandle< IDCSLFitProvider > m_dcslFitProvider
DCStatistics::const_iterator DCStatCit
Gaudi::Property< int > m_finderDebugLevel
Gaudi::Property< bool > m_doAllHitSort
Gaudi::Property< double > m_residualCutT0Segments
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
double chamberAngle() const
returns the angle of the line from the chamber center to the IP in local AMDB chamber coordinates
Gaudi::Property< double > m_chi2PerDofDrop
Gaudi::Property< double > m_occupancyCutOff
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::vector< DriftCircle > DCVec
Gaudi::Property< double > m_deltaCutT0Segments
Gaudi::Property< double > m_occupancyThreshold
TrkDriftCircleMath::Road - encodes the road given to the segment finder in station coordinates.
virtual const TrkDriftCircleMath::SegVec findSegments(const TrkDriftCircleMath::DCVec &dcvec, const TrkDriftCircleMath::CLVec &clvec, const TrkDriftCircleMath::Road &road, const TrkDriftCircleMath::DCStatistics &dcstats, const TrkDriftCircleMath::ChamberGeometry *multiGeo) const
IMdtMdtMathSegmentFinder interface implementation
double width() const
returns the width angle of the road
double angle() const
returns the angle of the road in local coordinates
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_useChamberTheta
Gaudi::Property< double > m_ratioEmptyTubesCut
Gaudi::Property< double > m_roadWidth
Gaudi::Property< bool > m_removeSingleOutliers
Gaudi::Property< bool > m_enableSeedCleaning
Gaudi::Property< unsigned int > m_maxHitsPerFullSearch
Gaudi::Property< double > m_tgcAssociationPullCut
#define ATH_MSG_WARNING(x)
Gaudi::Property< bool > m_doIPAngleSeeding
Gaudi::Property< bool > m_recoverMdtOutliers
std::vector< Segment > SegVec
virtual StatusCode initialize()
Gaudi::Property< double > m_tightRoadCut
Gaudi::Property< bool > m_useSegmentQuality
This class offers no functionality, but to define a standard device for the maker to transfer to the ...