![]() |
ATLAS Offline Software
|
tool to match segments using a curved trajectory. More...
#include <MuonSegmentMatchingTool.h>
Public Member Functions | |
| MuonSegmentMatchingTool (const std::string &, const std::string &, const IInterface *) | |
| constructor | |
| virtual | ~MuonSegmentMatchingTool ()=default |
| destructor | |
| StatusCode | initialize () |
| AlgTool initilize. | |
| StatusCode | finalize () |
| AlgTool finalize. | |
| bool | match (const EventContext &ctx, const MuonSegment &seg1, const MuonSegment &seg2) const |
| match two segments | |
Private Member Functions | |
| bool | straightLineMatch (const MuonSegment &seg1, const MuonSegment &seg2) const |
| perform straight line matching using SL extrapolation | |
| bool | curvedMatch (const MuonSegment &seg1, const MuonSegment &seg2) const |
| perform curved matching | |
| bool | overlapMatch (const EventContext &ctx, const MuonSegment &seg1, const MuonSegment &seg2) const |
| perform overlap matching | |
| bool | initializeField () const |
| setup field | |
| bool | hasStereoAngle (const Identifier &id1, const Identifier &id2) const |
| check whether the two segments have a stereo angle | |
| bool | isSLMatch (const Identifier &chid1, const Identifier &chid2) const |
| check whether we should perform a straight line match | |
| bool | suppressNoise (const MuonSegment &seg1, const MuonSegment &seg2, const bool &useTightCuts) const |
| Suppress noise from cavern background/pile up using basic cuts. | |
| bool | suppressNoisePhi (const MuonSegment &seg1, const MuonSegment &seg2, const bool &useTightCuts) const |
| Suppress noise from cavern background/pile up using basic cuts in phi. | |
| void | simpleEndcapExtrapolate (double x_segment, double y_segment, double z_segment, double theta_segment, double z_extrapolated, double &r_expected, double &theta_expected, double &rhoInv) const |
| extrapolate segment in middle or outer endcap station to inner layer assuming the particle came from the IP | |
| bool | endcapExtrapolationMatch (const MuonSegment &seg1, const MuonSegment &seg2, bool useTightCuts) const |
| match an endcap middle or outer segment with an inner segment using a simple analytic extrapolation model | |
Private Attributes | |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc |
| ServiceHandle< Muon::IMuonEDMHelperSvc > | m_edmHelperSvc |
| EDM Helper tool. | |
| PublicToolHandle< Muon::MuonEDMPrinterTool > | m_printer |
| EDM printer tool. | |
| ToolHandle< Muon::IMuonSegmentInOverlapResolvingTool > | m_overlapResolvingTool |
| matching tool to handle the overlaps | |
| ToolHandle< Muon::IMuonSegmentPairMatchingTool > | m_pairMatchingTool |
| matching tool to handle the pairs of segments | |
| Gaudi::Property< bool > | m_toroidOn {this, "ToroidOn", true, "Status of toroidal B-Field"} |
| std::atomic_uint | m_straightLineMatches {0} |
| std::atomic_uint | m_straightLineMatchesGood {0} |
| std::atomic_uint | m_overlapMatches {0} |
| std::atomic_uint | m_overlapMatchesGood {0} |
| std::atomic_uint | m_curvedMatches {0} |
| std::atomic_uint | m_curvedMatchesGood {0} |
| std::atomic_uint | m_duplicateHitUses {0} |
| bool | m_isCosmics |
| bool | m_doOverlapMatch |
| bool | m_doStraightLineMatch |
| bool | m_doCurvedMatch |
| bool | m_thetaMatch |
| bool | m_phiMatch |
| bool | m_useLocalAngles {} |
| double | m_straightLineMatchAngleCut |
| double | m_straightLineMatchPositionCut |
| double | m_overlapMatchAngleDPhiCut |
| cut of the angular difference between phi from phi match and phi from positions | |
| double | m_overlapMatchAngleDYZCut |
| cut of the angular difference between phi from phi match and phi from positions | |
| double | m_overlapMatchPositionCut |
| cut on the distance of best position from the chamber bounds | |
| double | m_overlapMatchPositionResidualCut |
| cut on the position residual for the best position match | |
| double | m_overlapMatchPhiHitPullCut |
| cut on the average pull of the phi hits with the new segment parameters | |
| double | m_angleABCut {} |
| double | m_maxDistSegments {} |
| cut on the maximum distance between the segments | |
| double | m_minDistSegmentsCosmics {} |
| cut on the minimum distance between the segments, if the distance is larger | |
| double | m_matchingbibm_lphisec {} |
| double | m_matchingbibo_lphisec {} |
| double | m_matchingbmbo_lphisec {} |
| double | m_matchingeiem_lphisec {} |
| double | m_matchingeieo_lphisec {} |
| double | m_matchingemeo_lphisec {} |
| double | m_matchingbibm_sphisec {} |
| double | m_matchingbibo_sphisec {} |
| double | m_matchingbmbo_sphisec {} |
| double | m_matchingeiem_sphisec {} |
| double | m_matchingeieo_sphisec {} |
| double | m_matchingemeo_sphisec {} |
| double | m_matchingbee_sphisec {} |
| bool | m_onlySameSectorIfTight {} |
| reject all segments in different sectors if in tight matching | |
| bool | m_useTightCuts {} |
| only apply tight selection for busy combinations | |
| bool | m_useEndcapExtrapolationMatching {} |
| double | m_drExtrapRMS {} |
| double | m_drExtrapAlignmentOffset {} |
| double | m_dthetaExtrapRMS {} |
tool to match segments using a curved trajectory.
The tool decides whether the matching should be performed with curvature or with a straight line. Cases in which a straight line will be used:
Definition at line 33 of file MuonSegmentMatchingTool.h.
| Muon::MuonSegmentMatchingTool::MuonSegmentMatchingTool | ( | const std::string & | ty, |
| const std::string & | na, | ||
| const IInterface * | pa ) |
constructor
Definition at line 16 of file MuonSegmentMatchingTool.cxx.
|
virtualdefault |
destructor
|
private |
perform curved matching
Definition at line 191 of file MuonSegmentMatchingTool.cxx.
|
private |
match an endcap middle or outer segment with an inner segment using a simple analytic extrapolation model
Definition at line 762 of file MuonSegmentMatchingTool.cxx.
| StatusCode Muon::MuonSegmentMatchingTool::finalize | ( | ) |
AlgTool finalize.
Definition at line 95 of file MuonSegmentMatchingTool.cxx.
|
private |
check whether the two segments have a stereo angle
Definition at line 303 of file MuonSegmentMatchingTool.cxx.
| StatusCode Muon::MuonSegmentMatchingTool::initialize | ( | ) |
AlgTool initilize.
Definition at line 83 of file MuonSegmentMatchingTool.cxx.
|
private |
setup field
|
private |
check whether we should perform a straight line match
Definition at line 281 of file MuonSegmentMatchingTool.cxx.
| bool Muon::MuonSegmentMatchingTool::match | ( | const EventContext & | ctx, |
| const MuonSegment & | seg1, | ||
| const MuonSegment & | seg2 ) const |
match two segments
Definition at line 119 of file MuonSegmentMatchingTool.cxx.
|
private |
perform overlap matching
Definition at line 213 of file MuonSegmentMatchingTool.cxx.
|
private |
extrapolate segment in middle or outer endcap station to inner layer assuming the particle came from the IP
Definition at line 833 of file MuonSegmentMatchingTool.cxx.
|
private |
perform straight line matching using SL extrapolation
Definition at line 169 of file MuonSegmentMatchingTool.cxx.
|
private |
Suppress noise from cavern background/pile up using basic cuts.
Definition at line 324 of file MuonSegmentMatchingTool.cxx.
|
private |
Suppress noise from cavern background/pile up using basic cuts in phi.
Definition at line 592 of file MuonSegmentMatchingTool.cxx.
|
private |
Definition at line 146 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 120 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 121 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 127 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 125 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 126 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 170 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 169 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 171 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 122 of file MuonSegmentMatchingTool.h.
|
private |
EDM Helper tool.
Definition at line 91 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 86 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 124 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 163 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 150 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 156 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 151 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 157 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 152 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 158 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 153 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 159 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 154 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 160 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 155 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 161 of file MuonSegmentMatchingTool.h.
|
private |
cut on the maximum distance between the segments
Definition at line 147 of file MuonSegmentMatchingTool.h.
|
private |
cut on the minimum distance between the segments, if the distance is larger
than the cut the segments are always matched (for cosmics)
Definition at line 148 of file MuonSegmentMatchingTool.h.
|
private |
reject all segments in different sectors if in tight matching
Definition at line 165 of file MuonSegmentMatchingTool.h.
|
private |
cut of the angular difference between phi from phi match and phi from positions
Definition at line 137 of file MuonSegmentMatchingTool.h.
|
private |
cut of the angular difference between phi from phi match and phi from positions
Definition at line 140 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 118 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 119 of file MuonSegmentMatchingTool.h.
|
private |
cut on the average pull of the phi hits with the new segment parameters
Definition at line 143 of file MuonSegmentMatchingTool.h.
|
private |
cut on the distance of best position from the chamber bounds
Definition at line 141 of file MuonSegmentMatchingTool.h.
|
private |
cut on the position residual for the best position match
Definition at line 142 of file MuonSegmentMatchingTool.h.
|
private |
matching tool to handle the overlaps
Definition at line 103 of file MuonSegmentMatchingTool.h.
|
private |
matching tool to handle the pairs of segments
Definition at line 108 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 129 of file MuonSegmentMatchingTool.h.
|
private |
EDM printer tool.
Definition at line 98 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 133 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 116 of file MuonSegmentMatchingTool.h.
|
mutableprivate |
Definition at line 117 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 134 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 128 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 114 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 168 of file MuonSegmentMatchingTool.h.
|
private |
Definition at line 130 of file MuonSegmentMatchingTool.h.
|
private |
only apply tight selection for busy combinations
Definition at line 166 of file MuonSegmentMatchingTool.h.