![]() |
ATLAS Offline Software
|
Algorithm to handle the eta hough transform. More...
#include <EtaHoughTransformAlg.h>
Public Member Functions | |
| virtual | ~EtaHoughTransformAlg ()=default |
| virtual StatusCode | initialize () override |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| 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 | 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. | |
Private Types | |
| using | HoughSetupForBucket = HoughEventData::HoughSetupForBucket |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| void | preProcess (const EventContext &ctx, const ActsTrk::GeometryContext &gctx, const SpacePointContainer &spacePoints, HoughEventData &data) const |
| pre-processing method called once per event. | |
| void | prepareHoughPlane (HoughEventData &data) const |
| prepare the accumulator and the peak finder once per event | |
| void | processBucket (const EventContext &ctx, HoughEventData &data, HoughSetupForBucket ¤tBucket) const |
| process a bucket. | |
| void | fillFromSpacePoint (HoughEventData &data, const MuonR4::HoughHitType &SP) const |
| fill the accumulator from a given space point. | |
| bool | passSeedQuality (const HoughSetupForBucket ¤tBucket, const MuonR4::ActsPeakFinderForMuon::Maximum &maximum) const |
| apply quality cuts on a given maximum | |
| void | extendWithPhiHits (std::vector< HoughHitType > &hitList, HoughSetupForBucket &bucket, const double tanBeta, const double interceptY) const |
| extend a maximum with all compatible (pure) phi hits. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Static Private Member Functions | |
| static bool | isPrecisionHit (const HoughHitType &hit) |
| Returns whether the hit is a precision hit or not. | |
Private Attributes | |
| DoubleProperty | m_targetResoTanTheta {this, "ResolutionTargetTanTheta", 0.05} |
| DoubleProperty | m_targetResoIntercept {this, "ResolutionTargetIntercept", 10.} |
| DoubleProperty | m_minSigmasSearchTanTheta {this, "minSigmasSearchTanTheta", 2.0} |
| DoubleProperty | m_minSigmasSearchIntercept {this, "minSigmasSearchIntercept", 2.0} |
| DoubleProperty | m_peakThreshold {this, "peakThreshold", 2.5} |
| DoubleProperty | m_minMaxDistTheta {this, "MaximumSeparationTheta", 0.} |
| DoubleProperty | m_minMaxDistIntercept {this, "MaximumSeparationIntercept", 15.} |
| DoubleProperty | m_peakFractionCutOff {this, "PeakFractionCutOff", 0.6} |
| UnsignedIntegerProperty | m_nPrecHitCut {this, "nMinPrecHits", 3} |
| DoubleProperty | m_phiStripSafety {this, "PhiSafetyMargin", 15.*Gaudi::Units::cm} |
| IntegerProperty | m_nBinsTanTheta {this, "nBinsTanTheta", 7} |
| IntegerProperty | m_nBinsIntercept {this, "nBinsIntercept", 15} |
| BooleanProperty | m_downWeightMultiplePrd {this, "downWeightPrdMultiplicity", false} |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
| Handle to the IdHelperSvc. | |
| SG::ReadHandleKey< SpacePointContainer > | m_spacePointKey {this, "SpacePointContainer", "MuonSpacePoints"} |
| SG::WriteHandleKey< EtaHoughMaxContainer > | m_maxima {this, "EtaHoughMaxContainer", "MuonHoughStationMaxima"} |
| SG::ReadHandleKey< ActsTrk::GeometryContext > | m_geoCtxKey {this, "AlignmentKey", "ActsAlignment", "cond handle key"} |
| ToolHandle< MuonValR4::IPatternVisualizationTool > | m_visionTool {this, "VisualizationTool", ""} |
| Pattern visualization tool. | |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| 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 |
Algorithm to handle the eta hough transform.
This algorithm is responsible for the initial eta hough transform from space-points created in an upstream alg. It will write HoughMaxima into the event store for downstream use.
Definition at line 29 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 39 of file EtaHoughTransformAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
virtualdefault |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
read the PRDs
pre-populate the event data - sort PRDs by station
book the hough plane
now perform the actual HT for each station
Definition at line 72 of file EtaHoughTransformAlg.cxx.
|
private |
extend a maximum with all compatible (pure) phi hits.
| hitList | list of hits to extend |
| bucket | the bucket to take the phi hits from |
| tanBeta | Angle estimates from the hough maximum |
| interceptY | Intercept estimated from the hough maximum |
Definition at line 469 of file EtaHoughTransformAlg.cxx.
|
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
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
private |
fill the accumulator from a given space point.
| data | event data object |
| SP | space point to fill from |
Definition at line 439 of file EtaHoughTransformAlg.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
overridevirtual |
Definition at line 64 of file EtaHoughTransformAlg.cxx.
|
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.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
staticprivate |
Returns whether the hit is a precision hit or not.
Definition at line 152 of file EtaHoughTransformAlg.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
private |
apply quality cuts on a given maximum
Determine the minimal & maximal possible position along the tube / strip
Calculate the width / tube length at the centre crossing point (maximum.x -> tanBeta, maximum.y -> y0)
Definition at line 182 of file EtaHoughTransformAlg.cxx.
|
private |
prepare the accumulator and the peak finder once per event
| data | event data object |
Definition at line 170 of file EtaHoughTransformAlg.cxx.
|
private |
pre-processing method called once per event.
Populates the event data with the space points for each bucket and identifies the optimal search space in each bucket.
| ctx | EventContext to parse to the visualization tool |
| gctx | Geometry context to retrieve global positioning of the chambers |
| spacePoints | point list from store gate |
| data | event data object |
Project the hits onto the center (z=0) axis of the chamber, using our guesstimate of tan(theta)
Definition at line 109 of file EtaHoughTransformAlg.cxx.
|
private |
process a bucket.
Performs the hough transform in the given bucket and adds the maxima to the event data.
| ctx | EventContext to parse to the visualization tool |
| data | event data object |
| currentBucket | bucket to process |
tune the search space
Definition at line 291 of file EtaHoughTransformAlg.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in HypoBase, and InputMakerBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 116 of file EtaHoughTransformAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Definition at line 125 of file EtaHoughTransformAlg.h.
|
private |
Handle to the IdHelperSvc.
Definition at line 118 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 123 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 101 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 99 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 95 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 92 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 113 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 111 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 105 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 103 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 97 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 108 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 121 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 89 of file EtaHoughTransformAlg.h.
|
private |
Definition at line 87 of file EtaHoughTransformAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Pattern visualization tool.
Definition at line 127 of file EtaHoughTransformAlg.h.