ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MdtMathSegmentFinder Class Reference

#include <MdtMathSegmentFinder.h>

Inheritance diagram for Muon::MdtMathSegmentFinder:
Collaboration diagram for Muon::MdtMathSegmentFinder:

Public Member Functions

 MdtMathSegmentFinder (const std::string &t, const std::string &n, const IInterface *p)
 ~MdtMathSegmentFinder ()=default
virtual StatusCode initialize ()
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.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

ToolHandle< IDCSLFitProviderm_dcslFitProvider
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc
Gaudi::Property< int > m_finderDebugLevel {this, "FinderDebugLevel", 0, "switch on debug output of finder"}
Gaudi::Property< bool > m_doDrop {this, "DoDrop", true, "Recursive outlier removal"}
Gaudi::Property< bool > m_useChamberTheta {this, "UseChamberTheta", true, "Always look for pointing segments"}
Gaudi::Property< bool > m_enableSeedCleaning {this, "EnableSeedCleaning", false, "only use dc witout neighbours as seeds"}
Gaudi::Property< double > m_occupancyThreshold {this, "OccupancyThreshold", 0.3, "occupancy threshold before enabling seed cleaning"}
Gaudi::Property< double > m_occupancyCutOff {this, "OccupancyCutoff", 0.8, "above the occupancy threshold no segment finding"}
Gaudi::Property< double > m_roadWidth {this, "AssociationRoadWidth", 1.5, "Road width used during hit association with seed lines"}
Gaudi::Property< double > m_chi2PerDofDrop {this, "Chi2PerDofDropping", 10., "Chi2 cut for recursive outlier removal"}
Gaudi::Property< double > m_ratioEmptyTubesCut {this, "RatioEmptyTubeCut", 1.1, "holes/hits cut - holes are all non-hits along the line"}
Gaudi::Property< double > m_rpcAssociationPullCut {this, "RPCAssocationPullcut", 5., "Association cut for RPCs"}
Gaudi::Property< double > m_tgcAssociationPullCut {this, "TGCAssocationPullcut", 5., "Association cut for TGCs"}
Gaudi::Property< double > m_mdtAssociationPullCut {this, "MDTAssocationPullcut", 5., "Association cut for MDTs"}
Gaudi::Property< bool > m_doAllHitSort {this, "SortSegmentWithAllHits", true, "Including triggers in segment selection"}
Gaudi::Property< bool > m_doRoadAngleSeeding {this, "DoRoadSeeding", true, "use angle of road to seed segment search"}
Gaudi::Property< bool > m_doIPAngleSeeding {this, "DoIPSeeding", true, "use angle of IP to seed segment search"}
Gaudi::Property< double > m_tightRoadCut
Gaudi::Property< bool > m_doSingleMultiLayerScan {this, "DoSingleMultiLayerScan", true, "Look for segments in one multi layer"}
Gaudi::Property< bool > m_recoverMdtOutliers {this, "RecoverMdtOutliers", true, "Recover MDT outliers after fit"}
Gaudi::Property< bool > m_removeSingleOutliers {this, "RemoveSingleMdtOutliers", true, "Remove single MDT outliers"}
Gaudi::Property< bool > m_doCurvedSegmentFinder {this, "DoCurvedSegmentFinder", false, "Use the curved segment finding routine"}
Gaudi::Property< double > m_deltaCutT0Segments {this, "DeltaCutT0Segments", 5., "Delta cut for segments with T0 fit"}
Gaudi::Property< double > m_residualCutT0Segments {this, "ResidualCutT0Segments", 1., "Residual cut for segments with T0 fit"}
Gaudi::Property< bool > m_useSegmentQuality {this, "UseSegmentQuality", false, "Use segment quality in hit dropping"}
Gaudi::Property< unsigned int > m_maxHitsPerFullSearch

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 16 of file MdtMathSegmentFinder.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MdtMathSegmentFinder()

Muon::MdtMathSegmentFinder::MdtMathSegmentFinder ( const std::string & t,
const std::string & n,
const IInterface * p )

Definition at line 17 of file MdtMathSegmentFinder.cxx.

17 : AthAlgTool(t, n, p) {
18 declareInterface<IMdtSegmentFinder>(this);
19 }
AthAlgTool()
Default constructor:

◆ ~MdtMathSegmentFinder()

Muon::MdtMathSegmentFinder::~MdtMathSegmentFinder ( )
default

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ findSegments()

const TrkDriftCircleMath::SegVec Muon::MdtMathSegmentFinder::findSegments ( const TrkDriftCircleMath::DCVec & dcvec,
const TrkDriftCircleMath::CLVec & clvec,
const TrkDriftCircleMath::Road & road,
const TrkDriftCircleMath::DCStatistics & dcstats,
const TrkDriftCircleMath::ChamberGeometry * multiGeo ) const
virtual

IMdtMdtMathSegmentFinder interface implementation.

Definition at line 30 of file MdtMathSegmentFinder.cxx.

34 {
35 // setup finder
36 TrkDriftCircleMath::SegmentFinder segmentFinder{m_roadWidth, m_mdtAssociationPullCut, false};
37
38 // set debug level
39 segmentFinder.debugLevel(m_finderDebugLevel);
40
41 // configure uasge of chamber position for angular seeding
43
44 // enable dropping of hits
45 segmentFinder.setDropHits(m_doDrop);
46
47 // enable seed cleaing
49
50 // do single multilayer scan?
52
53 // set chi2/ndof threshold for cleaning of segments
54 segmentFinder.setChi2DropCut(m_chi2PerDofDrop);
55
56 // set ratio for dropping segments with many empty tubes
58
59 // set sort mode segment finder
61
62 // set RPC pull cut
64
65 // set TGC pull cut
67
68 // set MDT outlier recovery
70
71 // set removal of single outliers
73
74 // set the curved segment finder
76
77 // set removal of single outliers
78 segmentFinder.setDeltaCutT0(m_deltaCutT0Segments); // reset defaults
79
80 // set removal of single outliers
82
83 // set use of segment quality
85
86 if (!m_dcslFitProvider.empty()) {
87 std::shared_ptr<const TrkDriftCircleMath::DCSLFitter> fitter(m_dcslFitProvider->getFitter(), Muon::IDCSLFitProvider::Unowned{});
88 segmentFinder.setFitter(fitter);
89 } else {
90 segmentFinder.setFitter(std::make_shared<TrkDriftCircleMath::DCSLFitter>());
91 }
92
93 // set angle prediction from road
94 segmentFinder.setPhiRoad(road.angle(), road.chamberAngle(), road.width(), m_doRoadAngleSeeding, m_doIPAngleSeeding);
95
96 // set pointer to geometry
97 segmentFinder.setMdtGeometry(multiGeo);
98
99 // set seed cleaning
100 bool highOccupancy = false;
101 bool aboveOccupancyCut = false;
102 double occupancyMax = 0.;
103 unsigned int nmdtHits = 0;
104 // calculate multi layer occupancy
105 TrkDriftCircleMath::DCStatCit mit = dcstats.begin();
106 TrkDriftCircleMath::DCStatCit mit_end = dcstats.end();
107 for (; mit != mit_end; ++mit) {
108 unsigned int channels = mit->first->getNLayers() * mit->first->getNtubesperlayer();
109 double occupancy = (double)mit->second / (double)channels;
110
111 nmdtHits += mit->second;
112
113 occupancyMax = std::max(occupancy, occupancyMax);
114
115 if (occupancy > m_occupancyThreshold) highOccupancy = true;
116
117 if (occupancy > m_occupancyCutOff) aboveOccupancyCut = true;
118 }
119
120 // sanity check
121 if (nmdtHits != dcvec.size()) {
122 ATH_MSG_WARNING(" inconsistent number of mdt hits " << nmdtHits << " from vec " << dcvec.size());
123 nmdtHits = dcvec.size();
124 }
125
126 if (aboveOccupancyCut) {
127 ATH_MSG_DEBUG(" layer with occupancy above threshold, aborting segment finding "
128 << occupancyMax << " cut " << m_occupancyCutOff << " nhits " << nmdtHits << " cut " << m_maxHitsPerFullSearch);
129 return {};
130 }
131
132 // enable seed cleaning
133 if (highOccupancy || nmdtHits > m_maxHitsPerFullSearch) {
134 ATH_MSG_DEBUG(" switch to fast search: occupancy " << occupancyMax << " cut " << m_occupancyThreshold << " nhits " << nmdtHits
135 << " cut " << m_maxHitsPerFullSearch);
136
137 // to speed up reconstruction use default fitter
138 if (!m_dcslFitProvider.empty()) {
139 segmentFinder.setFitter(std::make_shared<TrkDriftCircleMath::DCSLFitter>());
140 }
141
142 // use tight road cuts and only look for pointing segments
143 segmentFinder.setPhiRoad(road.chamberAngle(), road.chamberAngle(), m_tightRoadCut);
144 }
145
146 return segmentFinder.findSegments(dcvec, clvec);
147 }
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
Gaudi::Property< double > m_occupancyCutOff
Gaudi::Property< bool > m_enableSeedCleaning
Gaudi::Property< double > m_rpcAssociationPullCut
Gaudi::Property< bool > m_useChamberTheta
Gaudi::Property< double > m_tightRoadCut
ToolHandle< IDCSLFitProvider > m_dcslFitProvider
Gaudi::Property< double > m_chi2PerDofDrop
Gaudi::Property< bool > m_useSegmentQuality
Gaudi::Property< unsigned int > m_maxHitsPerFullSearch
Gaudi::Property< int > m_finderDebugLevel
Gaudi::Property< double > m_mdtAssociationPullCut
Gaudi::Property< bool > m_doCurvedSegmentFinder
Gaudi::Property< double > m_residualCutT0Segments
Gaudi::Property< double > m_tgcAssociationPullCut
Gaudi::Property< bool > m_doAllHitSort
Gaudi::Property< bool > m_recoverMdtOutliers
Gaudi::Property< double > m_ratioEmptyTubesCut
Gaudi::Property< bool > m_doRoadAngleSeeding
Gaudi::Property< bool > m_removeSingleOutliers
Gaudi::Property< bool > m_doDrop
Gaudi::Property< bool > m_doSingleMultiLayerScan
Gaudi::Property< double > m_deltaCutT0Segments
Gaudi::Property< double > m_occupancyThreshold
Gaudi::Property< bool > m_doIPAngleSeeding
Gaudi::Property< double > m_roadWidth
double chamberAngle() const
returns the angle of the line from the chamber center to the IP in local AMDB chamber coordinates
Definition Road.h:35
double width() const
returns the width angle of the road
Definition Road.h:38
double angle() const
returns the angle of the road in local coordinates
Definition Road.h:32
void setDeltaCutT0(double deltaCut)
void setMdtGeometry(const ChamberGeometry *mdtGeo)
SegVec findSegments(const DCVec &dcs) const
void setRemoveSingleOutliers(bool removeSingleOutliers)
void setPhiRoad(double phiRoad, double phiChamber, double sinPhiCut=0.2, bool useRoadPhi=true, bool useChamberPhi=true)
void setRatioEmptyTubesCut(double ratioEmptyTubesCut)
void setUseChamberPhi(bool useChamberPhi)
void debugLevel(int debugLevel)
void setSeedCleaning(bool doCleanup)
void setSortSegmentsUsingAllHits(bool doAllHitsSort)
void setFitter(std::shared_ptr< const DCSLFitter > fitter)
void setCurvedSegmentFinder(bool doCurvedSegmentFinder)
void setSingleMultiLayerScan(bool doScan)
const ShapeFitter * fitter
DCStatistics::const_iterator DCStatCit

◆ initialize()

StatusCode Muon::MdtMathSegmentFinder::initialize ( )
virtual

Definition at line 21 of file MdtMathSegmentFinder.cxx.

21 {
22 if (!m_dcslFitProvider.empty()) {
23 ATH_CHECK(m_dcslFitProvider.retrieve());
24 ATH_MSG_INFO(" Using fitter from " << m_dcslFitProvider);
25 }
26 ATH_CHECK(m_idHelperSvc.retrieve());
27 return StatusCode::SUCCESS;
28 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_chi2PerDofDrop

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_chi2PerDofDrop {this, "Chi2PerDofDropping", 10., "Chi2 cut for recursive outlier removal"}
protected

Definition at line 51 of file MdtMathSegmentFinder.h.

51{this, "Chi2PerDofDropping", 10., "Chi2 cut for recursive outlier removal"};

◆ m_dcslFitProvider

ToolHandle<IDCSLFitProvider> Muon::MdtMathSegmentFinder::m_dcslFitProvider
protected
Initial value:
{
this,
"DCFitProvider",
""
}

Definition at line 31 of file MdtMathSegmentFinder.h.

31 {
32 this,
33 "DCFitProvider",
34 ""
35 };

◆ m_deltaCutT0Segments

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_deltaCutT0Segments {this, "DeltaCutT0Segments", 5., "Delta cut for segments with T0 fit"}
protected

Definition at line 73 of file MdtMathSegmentFinder.h.

73{this, "DeltaCutT0Segments", 5., "Delta cut for segments with T0 fit"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doAllHitSort

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doAllHitSort {this, "SortSegmentWithAllHits", true, "Including triggers in segment selection"}
protected

Definition at line 58 of file MdtMathSegmentFinder.h.

58{this, "SortSegmentWithAllHits", true, "Including triggers in segment selection"};

◆ m_doCurvedSegmentFinder

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doCurvedSegmentFinder {this, "DoCurvedSegmentFinder", false, "Use the curved segment finding routine"}
protected

Definition at line 72 of file MdtMathSegmentFinder.h.

72{this, "DoCurvedSegmentFinder", false, "Use the curved segment finding routine"};

◆ m_doDrop

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doDrop {this, "DoDrop", true, "Recursive outlier removal"}
protected

Definition at line 44 of file MdtMathSegmentFinder.h.

44{this, "DoDrop", true, "Recursive outlier removal"};

◆ m_doIPAngleSeeding

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doIPAngleSeeding {this, "DoIPSeeding", true, "use angle of IP to seed segment search"}
protected

Definition at line 63 of file MdtMathSegmentFinder.h.

63{this, "DoIPSeeding", true, "use angle of IP to seed segment search"};

◆ m_doRoadAngleSeeding

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doRoadAngleSeeding {this, "DoRoadSeeding", true, "use angle of road to seed segment search"}
protected

Definition at line 60 of file MdtMathSegmentFinder.h.

60{this, "DoRoadSeeding", true, "use angle of road to seed segment search"};

◆ m_doSingleMultiLayerScan

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_doSingleMultiLayerScan {this, "DoSingleMultiLayerScan", true, "Look for segments in one multi layer"}
protected

Definition at line 67 of file MdtMathSegmentFinder.h.

67{this, "DoSingleMultiLayerScan", true, "Look for segments in one multi layer"};

◆ m_enableSeedCleaning

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_enableSeedCleaning {this, "EnableSeedCleaning", false, "only use dc witout neighbours as seeds"}
protected

Definition at line 47 of file MdtMathSegmentFinder.h.

47{this, "EnableSeedCleaning", false, "only use dc witout neighbours as seeds"};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_finderDebugLevel

Gaudi::Property<int> Muon::MdtMathSegmentFinder::m_finderDebugLevel {this, "FinderDebugLevel", 0, "switch on debug output of finder"}
protected

Definition at line 43 of file MdtMathSegmentFinder.h.

43{this, "FinderDebugLevel", 0, "switch on debug output of finder"};

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> Muon::MdtMathSegmentFinder::m_idHelperSvc
protected
Initial value:
{
this,
"MuonIdHelperSvc",
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
}

Definition at line 37 of file MdtMathSegmentFinder.h.

37 {
38 this,
39 "MuonIdHelperSvc",
40 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"
41 };

◆ m_maxHitsPerFullSearch

Gaudi::Property<unsigned int> Muon::MdtMathSegmentFinder::m_maxHitsPerFullSearch
protected
Initial value:
{this, "MaxHitsPerFullSearch", 100,
"maximum number of hits, above will use faster search mode"}

Definition at line 77 of file MdtMathSegmentFinder.h.

77 {this, "MaxHitsPerFullSearch", 100,
78 "maximum number of hits, above will use faster search mode"};

◆ m_mdtAssociationPullCut

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_mdtAssociationPullCut {this, "MDTAssocationPullcut", 5., "Association cut for MDTs"}
protected

Definition at line 56 of file MdtMathSegmentFinder.h.

56{this, "MDTAssocationPullcut", 5., "Association cut for MDTs"};

◆ m_occupancyCutOff

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_occupancyCutOff {this, "OccupancyCutoff", 0.8, "above the occupancy threshold no segment finding"}
protected

Definition at line 49 of file MdtMathSegmentFinder.h.

49{this, "OccupancyCutoff", 0.8, "above the occupancy threshold no segment finding"};

◆ m_occupancyThreshold

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_occupancyThreshold {this, "OccupancyThreshold", 0.3, "occupancy threshold before enabling seed cleaning"}
protected

Definition at line 48 of file MdtMathSegmentFinder.h.

48{this, "OccupancyThreshold", 0.3, "occupancy threshold before enabling seed cleaning"};

◆ m_ratioEmptyTubesCut

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_ratioEmptyTubesCut {this, "RatioEmptyTubeCut", 1.1, "holes/hits cut - holes are all non-hits along the line"}
protected

Definition at line 52 of file MdtMathSegmentFinder.h.

52{this, "RatioEmptyTubeCut", 1.1, "holes/hits cut - holes are all non-hits along the line"};

◆ m_recoverMdtOutliers

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_recoverMdtOutliers {this, "RecoverMdtOutliers", true, "Recover MDT outliers after fit"}
protected

Definition at line 69 of file MdtMathSegmentFinder.h.

69{this, "RecoverMdtOutliers", true, "Recover MDT outliers after fit"};

◆ m_removeSingleOutliers

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_removeSingleOutliers {this, "RemoveSingleMdtOutliers", true, "Remove single MDT outliers"}
protected

Definition at line 71 of file MdtMathSegmentFinder.h.

71{this, "RemoveSingleMdtOutliers", true, "Remove single MDT outliers"};

◆ m_residualCutT0Segments

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_residualCutT0Segments {this, "ResidualCutT0Segments", 1., "Residual cut for segments with T0 fit"}
protected

Definition at line 74 of file MdtMathSegmentFinder.h.

74{this, "ResidualCutT0Segments", 1., "Residual cut for segments with T0 fit"};

◆ m_roadWidth

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_roadWidth {this, "AssociationRoadWidth", 1.5, "Road width used during hit association with seed lines"}
protected

Definition at line 50 of file MdtMathSegmentFinder.h.

50{this, "AssociationRoadWidth", 1.5, "Road width used during hit association with seed lines"};

◆ m_rpcAssociationPullCut

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_rpcAssociationPullCut {this, "RPCAssocationPullcut", 5., "Association cut for RPCs"}
protected

Definition at line 54 of file MdtMathSegmentFinder.h.

54{this, "RPCAssocationPullcut", 5., "Association cut for RPCs"};

◆ m_tgcAssociationPullCut

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_tgcAssociationPullCut {this, "TGCAssocationPullcut", 5., "Association cut for TGCs"}
protected

Definition at line 55 of file MdtMathSegmentFinder.h.

55{this, "TGCAssocationPullcut", 5., "Association cut for TGCs"};

◆ m_tightRoadCut

Gaudi::Property<double> Muon::MdtMathSegmentFinder::m_tightRoadCut
protected
Initial value:
{this, "TightRoadCut", 0.1,
"tight cut on angle with prediction, used for very busy chambers"}

Definition at line 64 of file MdtMathSegmentFinder.h.

64 {this, "TightRoadCut", 0.1,
65 "tight cut on angle with prediction, used for very busy chambers"};

◆ m_useChamberTheta

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_useChamberTheta {this, "UseChamberTheta", true, "Always look for pointing segments"}
protected

Definition at line 45 of file MdtMathSegmentFinder.h.

45{this, "UseChamberTheta", true, "Always look for pointing segments"};

◆ m_useSegmentQuality

Gaudi::Property<bool> Muon::MdtMathSegmentFinder::m_useSegmentQuality {this, "UseSegmentQuality", false, "Use segment quality in hit dropping"}
protected

Definition at line 75 of file MdtMathSegmentFinder.h.

75{this, "UseSegmentQuality", false, "Use segment quality in hit dropping"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: