ATLAS Offline Software
Loading...
Searching...
No Matches
MuonR4::MuonGlobalPatternFindingAlg Class Reference

Algorithm performing global pattern recognition. More...

#include <MuonGlobalPatternFindingAlg.h>

Inheritance diagram for MuonR4::MuonGlobalPatternFindingAlg:
Collaboration diagram for MuonR4::MuonGlobalPatternFindingAlg:

Public Member Functions

virtual ~MuonGlobalPatternFindingAlg ()=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 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
 Get filter decision:
virtual void setFilterPassed (bool state, const EventContext &ctx) const
 Set filter decision:
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

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

ActsTrk::GeoContextReadKey_t m_geoCtxKey {this, "AlignmentKey", "ActsAlignment", "cond handle key"}
 Geometry context key.
SG::ReadHandleKeyArray< SpacePointContainerm_inSpacePoints {this, "InSpacePoints", {"MuonSpacePoints"}, "List of space point containers to read"}
 Keys of SpacePoint containers to read.
SG::WriteHandleKey< GlobalPatternContainerm_outPatterns {this, "OutPatterns", "MuonR4GlobalPatterns"}
 Write handle key for the output global patterns.
BooleanProperty m_useMdtHits {this, "UseMdtHits", true, "Activate the utilization of MDT hits to build patterns"}
 Toggle the utilization of MDT hits to build patterns.
BooleanProperty m_seedFromMdt {this, "SeedFromMdt", false, "Activate the seeding from MDT hits"}
 Toggle the seeding from MDT hits.
BooleanProperty m_seedFromInner {this, "SeedFromInner", false, "Activate the seeding from Inner station"}
 Activate the seeding from Inner station.
DoubleProperty m_thetaSearchWindow {this, "ThetaWindowSearch", 0.06, "Size of the search window in theta to link hits to a pattern"}
 Size of theta window [rad] to search for compatible hits with a seed, tailored to the target pt cutoff.
DoubleProperty m_nResidualSigma {this, "NResidualSigma", 3., "Number of standard deviations to consider for residual acceptance"}
 Number of standard deviations to consider for residual acceptance.
DoubleProperty m_lowConfidenceResSigma {this, "LowConfidenceResSigma", 50.0, "Residual uncertainty to consider the hit as low confidence"}
 Residual uncertainty to consider the hit as low confidence.
DoubleProperty m_nPhiSigma {this, "NPhiSigma", 5., "Number of standard deviations to consider for phi acceptance"}
 Number of standard deviations to consider for phi compatibility veto.
UnsignedIntegerProperty m_minTriggerLayers {this, "MinBendingTriggerLayers", 2, "Minimum number of trigger layers in the bending direction required to accept a pattern"}
 Requirement on trigger layers in the bending direction to accept a pattern.
UnsignedIntegerProperty m_minPrecisionLayers {this, "MinBendingPrecisionLayers", 8, "Minimum number of precision layers in the bending direction required to accept a pattern"}
 Requirement on precision layers in the bending direction to accept a pattern.
UnsignedIntegerProperty m_minPhiLayers {this, "MinPhiLayers", 1, "Minimum number of phi layers required to accept a pattern"}
 Minimum number of phi layers required to accept a pattern.
UnsignedIntegerProperty m_minStationLayers {this, "MinStationLayers", 4, "Minimum number of layers in a station to be considered a good station"}
 Minimum number of layers in a station to be considered a good station.
DoubleProperty m_meanNormRes2Cut {this, "meanNormRes2Cut", 3.5, "Quality cut on pattern'mean squared normalized residual"}
 Quality cut on pattern'mean squared normalized residual.
UnsignedIntegerProperty m_maxSeedAttempts {this, "MaxSeedAttempts", 3, " Maximum number of attempts to build a pattern from hits already used in existing patterns"}
 Maximum number of attempts to build a pattern from hits already used in existing patterns.
UnsignedIntegerProperty m_maxMissLayersInStation {this, "MaxMissedLayerHits", 3, "Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded"}
 Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded.
DoubleProperty m_minHitDistance4Line {this, "MinHitDistance4Line", 200, "Minimum distance (in mm) between two hits for being used to compute a reliable pattern line. Use the beamspot otherwise."}
 Minimum distance [mm] between two hits for being used to compute a reliable pattern line.
DoubleProperty m_beamSpotRadius {this, "BeamSpotRadius", 30.*Gaudi::Units::cm}
 Beam spot radius.
DoubleProperty m_beamSpotLength {this, "BeamSpotLength", 2.*Gaudi::Units::m}
 Beam spot length.
ToolHandle< MuonValR4::IFastRecoVisualizationToolm_patVisionTool {this, "VisualizationTool", ""}
 Handle to the visualization tool for global patterns.
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 Handle to the MuonIdHelper service.
std::unique_ptr< FastReco::GlobalPatternFinderm_globPatFinder {}
 Pointer to the actual global pattern finder.
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

Detailed Description

Algorithm performing global pattern recognition.

This algorithm performs global pattern recognition as the first step of the Phase-2 fast reconstruction stage. It builds global patterns of precision and non-precision hits using space-points created in upstream algorithms. It first builds patterns in eta and then adds compatible phi-only hits to the patterns. The resulting patterns are written into store gate.

Definition at line 24 of file MuonGlobalPatternFindingAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ~MuonGlobalPatternFindingAlg()

virtual MuonR4::MuonGlobalPatternFindingAlg::~MuonGlobalPatternFindingAlg ( )
virtualdefault

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

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

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode MuonR4::MuonGlobalPatternFindingAlg::execute ( const EventContext & ctx) const
overridevirtual

Write out the global patterns.

Definition at line 67 of file MuonGlobalPatternFindingAlg.cxx.

67 {
68 std::vector<const SpacePointContainer*> inSpacePoints{};
69 inSpacePoints.reserve(m_inSpacePoints.size());
70 for (const auto& key: m_inSpacePoints) {
71 auto& spc = inSpacePoints.emplace_back(nullptr);
72 ATH_CHECK(SG::get(spc, key, ctx));
73 ATH_MSG_DEBUG("Reading " << spc->size() << " SP buckets from collection: " << key);
74 }
75
76 const ActsTrk::GeometryContext* gctx{nullptr};
77 ATH_CHECK(SG::get(gctx, m_geoCtxKey, ctx));
78
79 std::vector<GlobalPattern> patterns {m_globPatFinder->findPatterns(*gctx, inSpacePoints)};
80
82 SG::WriteHandle<GlobalPatternContainer> patWriteHandle{m_outPatterns, ctx};
83 ATH_CHECK(patWriteHandle.record(std::make_unique<GlobalPatternContainer>()));
84 for (GlobalPattern& pat : patterns) {
85 patWriteHandle->push_back(std::make_unique<GlobalPattern>(std::move(pat)));
86 }
87 ATH_MSG_DEBUG("Written "<<patWriteHandle->size()<<" GlobalPatterns into StoreGate.");
88 if (msgLvl(MSG::DEBUG)) {
89 for (const auto& pat : *patWriteHandle) {
90 ATH_MSG_DEBUG(*pat);
91 }
92 }
93
94 return StatusCode::SUCCESS;
95}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
bool msgLvl(const MSG::Level lvl) const
std::unique_ptr< FastReco::GlobalPatternFinder > m_globPatFinder
Pointer to the actual global pattern finder.
SG::WriteHandleKey< GlobalPatternContainer > m_outPatterns
Write handle key for the output global patterns.
SG::ReadHandleKeyArray< SpacePointContainer > m_inSpacePoints
Keys of SpacePoint containers to read.
ActsTrk::GeoContextReadKey_t m_geoCtxKey
Geometry context key.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
std::vector< std::string > patterns
Definition listroot.cxx:187
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthCommonAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 89 of file AthCommonAlgorithm.cxx.

54{
55 // If we didn't find any symlinks to add, just return the collection
56 // from the base class. Otherwise, return the extended collection.
57 if (!m_extendedExtraObjects.empty()) {
59 }
61}
Common base class for algorithms.

◆ filterPassed()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Get filter decision:

Definition at line 93 of file AthCommonAlgorithm.h.

93 {
94 return execState( ctx ).filterPassed();
95 }
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:

◆ initialize()

StatusCode MuonR4::MuonGlobalPatternFindingAlg::initialize ( )
overridevirtual

Definition at line 13 of file MuonGlobalPatternFindingAlg.cxx.

13 {
14 ATH_CHECK(m_inSpacePoints.initialize());
15 ATH_CHECK(m_outPatterns.initialize());
16 ATH_CHECK(m_geoCtxKey.initialize());
17 ATH_CHECK(m_idHelperSvc.retrieve());
18
19 GlobalPatternFinder::Config patCfg{};
20 patCfg.useMdtHits = m_useMdtHits;
21 patCfg.seedFromMdt = m_seedFromMdt;
22 patCfg.thetaSearchWindow = m_thetaSearchWindow;
23 patCfg.nResidualSigma = m_nResidualSigma;
24 patCfg.lowConfidenceResSigma = m_lowConfidenceResSigma;
25 patCfg.nPhiSigma = m_nPhiSigma;
26 patCfg.minTriggerLayers = m_minTriggerLayers;
27 patCfg.minPrecisionLayers = m_minPrecisionLayers;
28 patCfg.minPhiLayers = m_minPhiLayers;
29 patCfg.minStationLayers = m_minStationLayers;
30 patCfg.meanNormRes2Cut = m_meanNormRes2Cut;
31 patCfg.maxSeedAttempts = m_maxSeedAttempts;
32 patCfg.maxMissLayersInStation = m_maxMissLayersInStation;
33 patCfg.minHitDistance4Line = m_minHitDistance4Line;
34 patCfg.beamSpotRadius = m_beamSpotRadius;
35 patCfg.beamSpotLength = m_beamSpotLength;
36
37 if (m_seedFromInner) {
38 patCfg.layerSeedings.push_back(LayerIndex::Inner);
39 }
40 patCfg.visionTool = m_patVisionTool.get();
41 patCfg.idHelperSvc = m_idHelperSvc.get();
42 m_globPatFinder = std::make_unique<GlobalPatternFinder>(std::move(patCfg), makeActsAthenaLogger(this, name()));
43
44 //Print Configuration
45 ATH_MSG_DEBUG("Global Pattern Finder Configuration:\n"
46 << " Theta search window [rad]: " << m_thetaSearchWindow << "\n"
47 << " Number of residual standard deviations: " << m_nResidualSigma << "\n"
48 << " Low confidence residual sigma [mm]: " << m_lowConfidenceResSigma << "\n"
49 << " Max missed layer hits in station: " << m_maxMissLayersInStation << "\n"
50 << " Min hit distance for line [mm]: " << m_minHitDistance4Line << "\n"
51 << " Number of phi standard deviations: " << m_nPhiSigma << "\n"
52 << " Min trigger layers: " << m_minTriggerLayers << "\n"
53 << " Min precision layers: " << m_minPrecisionLayers << "\n"
54 << " Min phi layers: " << m_minPhiLayers << "\n"
55 << " Min station layers: " << m_minStationLayers << "\n"
56 << " Mean norm residual^2 cut: " << m_meanNormRes2Cut << "\n"
57 << " Seed from inner: " << m_seedFromInner << "\n"
58 << " Use MDT hits: " << m_useMdtHits << "\n"
59 << " Seed from MDT: " << m_seedFromMdt << "\n"
60 << " Max seed attempts: " << m_maxSeedAttempts << "\n"
61 << " Beam spot radius: " << m_beamSpotRadius << "\n"
62 << " Beam spot length: " << m_beamSpotLength << "\n");
63
64 return StatusCode::SUCCESS;
65}
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition Logger.cxx:64
DoubleProperty m_beamSpotRadius
Beam spot radius.
UnsignedIntegerProperty m_minPhiLayers
Minimum number of phi layers required to accept a pattern.
DoubleProperty m_thetaSearchWindow
Size of theta window [rad] to search for compatible hits with a seed, tailored to the target pt cutof...
UnsignedIntegerProperty m_minTriggerLayers
Requirement on trigger layers in the bending direction to accept a pattern.
UnsignedIntegerProperty m_maxSeedAttempts
Maximum number of attempts to build a pattern from hits already used in existing patterns.
DoubleProperty m_nResidualSigma
Number of standard deviations to consider for residual acceptance.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Handle to the MuonIdHelper service.
DoubleProperty m_meanNormRes2Cut
Quality cut on pattern'mean squared normalized residual.
BooleanProperty m_seedFromInner
Activate the seeding from Inner station.
DoubleProperty m_minHitDistance4Line
Minimum distance [mm] between two hits for being used to compute a reliable pattern line.
DoubleProperty m_lowConfidenceResSigma
Residual uncertainty to consider the hit as low confidence.
ToolHandle< MuonValR4::IFastRecoVisualizationTool > m_patVisionTool
Handle to the visualization tool for global patterns.
UnsignedIntegerProperty m_minPrecisionLayers
Requirement on precision layers in the bending direction to accept a pattern.
DoubleProperty m_beamSpotLength
Beam spot length.
UnsignedIntegerProperty m_maxMissLayersInStation
Maximum number of missed candidate hits in different measurement layers during pattern building allow...
BooleanProperty m_useMdtHits
Toggle the utilization of MDT hits to build patterns.
DoubleProperty m_nPhiSigma
Number of standard deviations to consider for phi compatibility veto.
UnsignedIntegerProperty m_minStationLayers
Minimum number of layers in a station to be considered a good station.
BooleanProperty m_seedFromMdt
Toggle the seeding from MDT hits.

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ isClonable()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::isClonable ( ) const
inlineoverridevirtualinherited

Specify if the algorithm is clonable.

Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.

Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, 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, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.

Definition at line 68 of file AthCommonAlgorithm.h.

68 {
69 return true;
70 }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Set filter decision:

Reimplemented in AthFilterAlgorithm.

Definition at line 99 of file AthCommonAlgorithm.h.

99 {
101 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Set filter decision:

◆ sysExecute()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
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.

Reimplemented in AthAnalysisAlgorithm.

Definition at line 80 of file AthCommonAlgorithm.cxx.

41{
42 return BaseAlg::sysExecute (ctx);
43}

◆ sysInitialize()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysInitialize ( )
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 AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.

Definition at line 60 of file AthCommonAlgorithm.cxx.

71 {
73
74 if (sc.isFailure()) {
75 return sc;
76 }
77
78 ServiceHandle<ICondSvc> cs("CondSvc",name());
79 for (auto h : outputHandles()) {
80 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
81 // do this inside the loop so we don't create the CondSvc until needed
82 if ( cs.retrieve().isFailure() ) {
83 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
85 }
86 if (cs->regHandle(this,*h).isFailure()) {
88 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
93 return sc;
94}
#define ATH_MSG_ERROR(x,...)
#define ATH_MSG_WARNING(x,...)
virtual StatusCode sysInitialize() override
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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 }

Member Data Documentation

◆ m_beamSpotLength

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_beamSpotLength {this, "BeamSpotLength", 2.*Gaudi::Units::m}
private

Beam spot length.

Definition at line 74 of file MuonGlobalPatternFindingAlg.h.

74{this, "BeamSpotLength", 2.*Gaudi::Units::m};

◆ m_beamSpotRadius

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_beamSpotRadius {this, "BeamSpotRadius", 30.*Gaudi::Units::cm}
private

Beam spot radius.

Definition at line 72 of file MuonGlobalPatternFindingAlg.h.

72{this, "BeamSpotRadius", 30.*Gaudi::Units::cm};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default).

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 108 of file AthCommonAlgorithm.h.

◆ m_geoCtxKey

ActsTrk::GeoContextReadKey_t MuonR4::MuonGlobalPatternFindingAlg::m_geoCtxKey {this, "AlignmentKey", "ActsAlignment", "cond handle key"}
private

Geometry context key.

Definition at line 35 of file MuonGlobalPatternFindingAlg.h.

35{this, "AlignmentKey", "ActsAlignment", "cond handle key"};

◆ m_globPatFinder

std::unique_ptr<FastReco::GlobalPatternFinder> MuonR4::MuonGlobalPatternFindingAlg::m_globPatFinder {}
private

Pointer to the actual global pattern finder.

Definition at line 82 of file MuonGlobalPatternFindingAlg.h.

82{};

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MuonR4::MuonGlobalPatternFindingAlg::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Handle to the MuonIdHelper service.

Definition at line 79 of file MuonGlobalPatternFindingAlg.h.

79{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};

◆ m_inSpacePoints

SG::ReadHandleKeyArray<SpacePointContainer> MuonR4::MuonGlobalPatternFindingAlg::m_inSpacePoints {this, "InSpacePoints", {"MuonSpacePoints"}, "List of space point containers to read"}
private

Keys of SpacePoint containers to read.

Definition at line 37 of file MuonGlobalPatternFindingAlg.h.

37{this, "InSpacePoints", {"MuonSpacePoints"}, "List of space point containers to read"};

◆ m_lowConfidenceResSigma

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_lowConfidenceResSigma {this, "LowConfidenceResSigma", 50.0, "Residual uncertainty to consider the hit as low confidence"}
private

Residual uncertainty to consider the hit as low confidence.

Definition at line 52 of file MuonGlobalPatternFindingAlg.h.

52{this, "LowConfidenceResSigma", 50.0, "Residual uncertainty to consider the hit as low confidence"};

◆ m_maxMissLayersInStation

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_maxMissLayersInStation {this, "MaxMissedLayerHits", 3, "Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded"}
private

Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded.

Definition at line 68 of file MuonGlobalPatternFindingAlg.h.

68{this, "MaxMissedLayerHits", 3, "Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded"};

◆ m_maxSeedAttempts

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_maxSeedAttempts {this, "MaxSeedAttempts", 3, " Maximum number of attempts to build a pattern from hits already used in existing patterns"}
private

Maximum number of attempts to build a pattern from hits already used in existing patterns.

Definition at line 66 of file MuonGlobalPatternFindingAlg.h.

66{this, "MaxSeedAttempts", 3, " Maximum number of attempts to build a pattern from hits already used in existing patterns"};

◆ m_meanNormRes2Cut

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_meanNormRes2Cut {this, "meanNormRes2Cut", 3.5, "Quality cut on pattern'mean squared normalized residual"}
private

Quality cut on pattern'mean squared normalized residual.

Set to a large value to disable the cut, e.g. 10.

Definition at line 64 of file MuonGlobalPatternFindingAlg.h.

64{this, "meanNormRes2Cut", 3.5, "Quality cut on pattern'mean squared normalized residual"};

◆ m_minHitDistance4Line

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_minHitDistance4Line {this, "MinHitDistance4Line", 200, "Minimum distance (in mm) between two hits for being used to compute a reliable pattern line. Use the beamspot otherwise."}
private

Minimum distance [mm] between two hits for being used to compute a reliable pattern line.

Use the beamspot otherwise.

Definition at line 70 of file MuonGlobalPatternFindingAlg.h.

70{this, "MinHitDistance4Line", 200, "Minimum distance (in mm) between two hits for being used to compute a reliable pattern line. Use the beamspot otherwise."};

◆ m_minPhiLayers

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_minPhiLayers {this, "MinPhiLayers", 1, "Minimum number of phi layers required to accept a pattern"}
private

Minimum number of phi layers required to accept a pattern.

Definition at line 60 of file MuonGlobalPatternFindingAlg.h.

60{this, "MinPhiLayers", 1, "Minimum number of phi layers required to accept a pattern"};

◆ m_minPrecisionLayers

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_minPrecisionLayers {this, "MinBendingPrecisionLayers", 8, "Minimum number of precision layers in the bending direction required to accept a pattern"}
private

Requirement on precision layers in the bending direction to accept a pattern.

Definition at line 58 of file MuonGlobalPatternFindingAlg.h.

58{this, "MinBendingPrecisionLayers", 8, "Minimum number of precision layers in the bending direction required to accept a pattern"};

◆ m_minStationLayers

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_minStationLayers {this, "MinStationLayers", 4, "Minimum number of layers in a station to be considered a good station"}
private

Minimum number of layers in a station to be considered a good station.

Definition at line 62 of file MuonGlobalPatternFindingAlg.h.

62{this, "MinStationLayers", 4, "Minimum number of layers in a station to be considered a good station"};

◆ m_minTriggerLayers

UnsignedIntegerProperty MuonR4::MuonGlobalPatternFindingAlg::m_minTriggerLayers {this, "MinBendingTriggerLayers", 2, "Minimum number of trigger layers in the bending direction required to accept a pattern"}
private

Requirement on trigger layers in the bending direction to accept a pattern.

Definition at line 56 of file MuonGlobalPatternFindingAlg.h.

56{this, "MinBendingTriggerLayers", 2, "Minimum number of trigger layers in the bending direction required to accept a pattern"};

◆ m_nPhiSigma

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_nPhiSigma {this, "NPhiSigma", 5., "Number of standard deviations to consider for phi acceptance"}
private

Number of standard deviations to consider for phi compatibility veto.

The residual will be used to determine the acceptance.

Definition at line 54 of file MuonGlobalPatternFindingAlg.h.

54{this, "NPhiSigma", 5., "Number of standard deviations to consider for phi acceptance"};

◆ m_nResidualSigma

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_nResidualSigma {this, "NResidualSigma", 3., "Number of standard deviations to consider for residual acceptance"}
private

Number of standard deviations to consider for residual acceptance.

Definition at line 50 of file MuonGlobalPatternFindingAlg.h.

50{this, "NResidualSigma", 3., "Number of standard deviations to consider for residual acceptance"};

◆ m_outPatterns

SG::WriteHandleKey<GlobalPatternContainer> MuonR4::MuonGlobalPatternFindingAlg::m_outPatterns {this, "OutPatterns", "MuonR4GlobalPatterns"}
private

Write handle key for the output global patterns.

Definition at line 39 of file MuonGlobalPatternFindingAlg.h.

39{this, "OutPatterns", "MuonR4GlobalPatterns"};

◆ m_patVisionTool

ToolHandle<MuonValR4::IFastRecoVisualizationTool> MuonR4::MuonGlobalPatternFindingAlg::m_patVisionTool {this, "VisualizationTool", ""}
private

Handle to the visualization tool for global patterns.

Definition at line 77 of file MuonGlobalPatternFindingAlg.h.

77{this, "VisualizationTool", ""};

◆ m_seedFromInner

BooleanProperty MuonR4::MuonGlobalPatternFindingAlg::m_seedFromInner {this, "SeedFromInner", false, "Activate the seeding from Inner station"}
private

Activate the seeding from Inner station.

Definition at line 46 of file MuonGlobalPatternFindingAlg.h.

46{this, "SeedFromInner", false, "Activate the seeding from Inner station"};

◆ m_seedFromMdt

BooleanProperty MuonR4::MuonGlobalPatternFindingAlg::m_seedFromMdt {this, "SeedFromMdt", false, "Activate the seeding from MDT hits"}
private

Toggle the seeding from MDT hits.

Definition at line 44 of file MuonGlobalPatternFindingAlg.h.

44{this, "SeedFromMdt", false, "Activate the seeding from MDT hits"};

◆ m_thetaSearchWindow

DoubleProperty MuonR4::MuonGlobalPatternFindingAlg::m_thetaSearchWindow {this, "ThetaWindowSearch", 0.06, "Size of the search window in theta to link hits to a pattern"}
private

Size of theta window [rad] to search for compatible hits with a seed, tailored to the target pt cutoff.

Definition at line 48 of file MuonGlobalPatternFindingAlg.h.

48{this, "ThetaWindowSearch", 0.06, "Size of the search window in theta to link hits to a pattern"};

◆ m_useMdtHits

BooleanProperty MuonR4::MuonGlobalPatternFindingAlg::m_useMdtHits {this, "UseMdtHits", true, "Activate the utilization of MDT hits to build patterns"}
private

Toggle the utilization of MDT hits to build patterns.

Definition at line 42 of file MuonGlobalPatternFindingAlg.h.

42{this, "UseMdtHits", true, "Activate the utilization of MDT hits to build patterns"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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