 |
ATLAS Offline Software
|
Algorithm to handle the phi hough transform.
More...
#include <PhiHoughTransformAlg.h>
|
virtual | ~PhiHoughTransformAlg ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
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 . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
void | prepareHoughPlane (HoughEventData &data) const |
| prepare the hough plane once per event. More...
|
|
void | preProcessMaximum (const ActsGeometryContext &gctx, const MuonR4::HoughMaximum &maximum, HoughEventData &data) const |
| pre-processing for a given input eta-maximum Counts potential phi-hits and defines the search space More...
|
|
std::unique_ptr< SegmentSeed > | recoverSinglePhiMax (HoughEventData &data, const MuonR4::HoughMaximum &maximum) const |
| extend an eta maximum with just a single attached phi measurement. More...
|
|
std::vector< MuonR4::ActsPeakFinderForMuon::Maximum > | findRankedSegmentSeeds (const EventContext &ctx, HoughEventData &data, const MuonR4::HoughMaximum &maximum) const |
| perform a hough search for the most promising phi extension of an eta-maximum Performs a local hough transform using the phi-measurements on the maximum and returns the maxima ranked by their compatibility with the eta-measurements on the maximum. More...
|
|
int | countIncompatibleEtaHits (const MuonR4::ActsPeakFinderForMuon::Maximum &phiMaximum, const MuonR4::HoughMaximum &etaMaximum) const |
| helper to count the number of eta measurements that would be discarded for a given phi extension candidate. More...
|
|
std::unique_ptr< SegmentSeed > | buildSegmentSeed (const HoughMaximum &etaMax, const MuonR4::ActsPeakFinderForMuon::Maximum &phiMax) const |
| constructs a segment seed from an eta maximum and a phi-extension. More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
SG::ReadHandleKey< EtaHoughMaxContainer > | m_maxima {this, "ReadKey", "MuonHoughStationMaxima"} |
|
SG::WriteHandleKey< SegmentSeedContainer > | m_segmentSeeds {this, "WriteKey", "MuonHoughStationSegmentSeeds"} |
|
SG::ReadHandleKey< ActsGeometryContext > | m_geoCtxKey {this, "AlignmentKey", "ActsAlignment", "cond handle key"} |
|
ToolHandle< MuonValR4::IPatternVisualizationTool > | m_visionTool {this, "VisualizationTool", ""} |
| Pattern visualization tool. More...
|
|
DoubleProperty | m_targetResoTanPhi {this, "ResolutionTargetTanAngle", 0.04} |
|
DoubleProperty | m_targetResoIntercept {this, "ResolutionTargetIntercept", 30.} |
|
DoubleProperty | m_minSigmasSearchTanPhi {this, "minSigmasSearchTanPhi", 1.} |
|
DoubleProperty | m_minSigmasSearchIntercept {this, "minSigmasSearchIntercept", 1.} |
|
IntegerProperty | m_nBinsTanPhi {this, "nBinsTanAngle", 5} |
|
IntegerProperty | m_nBinsIntercept {this, "nBinsIntercept", 10} |
|
IntegerProperty | m_maxEtaHolesOnMax {this, "maxEtaHoles", 1} |
|
BooleanProperty | m_recoverSinglePhiWithBS {this, "recoverSinglePhiHitsWithBS", true} |
|
BooleanProperty | m_downWeightMultiplePrd {this, "downWeightPrdMultiplicity", false} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Algorithm to handle the phi hough transform.
This algorithm is responsible for extending existing hough maxima found in a previous eta-transform. It will try to form a phi extension from the phi-sensitive measurements attached to the maximum and remove incompatible ones. It will write MuonSegmentSeeds into the event store for downstream use.
Definition at line 33 of file PhiHoughTransformAlg.h.
◆ StoreGateSvc_t
◆ ~PhiHoughTransformAlg()
virtual MuonR4::PhiHoughTransformAlg::~PhiHoughTransformAlg |
( |
| ) |
|
|
virtualdefault |
◆ buildSegmentSeed()
std::unique_ptr< SegmentSeed > MuonR4::PhiHoughTransformAlg::buildSegmentSeed |
( |
const HoughMaximum & |
etaMax, |
|
|
const MuonR4::ActsPeakFinderForMuon::Maximum & |
phiMax |
|
) |
| const |
|
private |
constructs a segment seed from an eta maximum and a phi-extension.
Will keep all pure eta-measurements on the original maximum and add those eta-phi or pure phi measurements compatible with the extension.
- Parameters
-
etaMax | the eta-maximum |
phiMax | the phi-transform maximum |
- Returns
- a SegmentSeed representing the updated candidate
Definition at line 65 of file PhiHoughTransformAlg.cxx.
68 std::vector<HoughHitType> hitsOnMax{};
71 std::back_inserter(hitsOnMax), [](
const HoughHitType &hit){
72 return (hit->measuresEta() && !hit->measuresPhi());
75 hitsOnMax.insert(hitsOnMax.end(), phiMax.hitIdentifiers.begin(), phiMax.hitIdentifiers.end());
77 SpacePointPerLayerSorter
sorter{hitsOnMax.front()->chamber()->idHelperSvc()};
78 std::ranges::stable_sort(hitsOnMax,
sorter);
79 return std::make_unique<SegmentSeed>(
etaMax.tanTheta(),
etaMax.interceptY(), phiMax.x, phiMax.y, hitsOnMax.size(), std::move(hitsOnMax),
etaMax.parentBucket());
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ countIncompatibleEtaHits()
int MuonR4::PhiHoughTransformAlg::countIncompatibleEtaHits |
( |
const MuonR4::ActsPeakFinderForMuon::Maximum & |
phiMaximum, |
|
|
const MuonR4::HoughMaximum & |
etaMaximum |
|
) |
| const |
|
private |
helper to count the number of eta measurements that would be discarded for a given phi extension candidate.
Correct extensions should have a very small or zero number.
- Parameters
-
phiMaximum | Phi-maximum to evaluate |
etaMaximum | Eta-maximum the candidate was obtained from
|
Definition at line 45 of file PhiHoughTransformAlg.cxx.
47 std::unordered_map<const xAOD::UncalibratedMeasurement*, bool> foundEtas;
50 if (hit->measuresEta() && hit->measuresPhi()) {
51 auto [
iter, added] = foundEtas.emplace(hit->primaryMeasurement(),
false);
55 iter->second |= phiMaximum.hitIdentifiers.count(hit);
59 return std::ranges::count_if(foundEtas,
60 [](
const std::pair<const xAOD::UncalibratedMeasurement*, bool>&
p) {
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode MuonR4::PhiHoughTransformAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 190 of file PhiHoughTransformAlg.cxx.
207 ATH_CHECK(writeMaxima.record(std::make_unique<SegmentSeedContainer>()));
210 for (
const HoughMaximum*
max : *maxima) {
212 ATH_MSG_VERBOSE(
"Search extra phi hits on maximum "<<
max->msSector()->identString()<<
", tanTheta: "<<
max->tanTheta()
213 <<
", y0: "<<
max->interceptY());
215 for (
const auto& truth :
m_visionTool->getLabeledSegments(
max->getHitsInMax())) {
222 bool foundSolution=
false;
224 if (eventData.phiHitsOnMax > 1){
226 for (
auto & phiSolution : rankedSeeds){
227 foundSolution =
true;
230 m_visionTool->visualizeSeed(ctx, *seed,
"#phi pattern seed");
244 m_visionTool->visualizeSeed(ctx, *singleMax,
"Single #phi hit recovery");
249 writeMaxima->push_back(std::make_unique<SegmentSeed>(*
max));
255 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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()
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.
◆ filterPassed()
◆ findRankedSegmentSeeds()
perform a hough search for the most promising phi extension of an eta-maximum Performs a local hough transform using the phi-measurements on the maximum and returns the maxima ranked by their compatibility with the eta-measurements on the maximum.
- Parameters
-
ctx | EventContext to access StoreGate |
data | event data object |
maximum | eta maximum to extend |
- Returns
- : The best maxima found by the extension (lowest number of eta measurements that would need to be discarded)
Definition at line 132 of file PhiHoughTransformAlg.cxx.
134 std::unordered_map<int, std::vector<ActsPeakFinderForMuon::Maximum>> rankedSeeds;
135 using namespace std::placeholders;
137 eventData.houghPlane->reset();
140 if (!hit->measuresPhi()) {
141 ATH_MSG_VERBOSE(
"Hit "<<hit->msSector()->idHelperSvc()->toString(hit->identify())<<
" does not have a phi measurement");
146 hit, eventData.currAxisRanges,
155 auto foundMaxPhi = eventData.peakFinder->findPeaks(*eventData.houghPlane, eventData.currAxisRanges);
157 m_visionTool->visualizeAccumulator(ctx,*eventData.houghPlane, eventData.currAxisRanges, foundMaxPhi,
161 for (
const auto& solution : foundMaxPhi) {
167 auto best = rankedSeeds.begin();
◆ initialize()
StatusCode MuonR4::PhiHoughTransformAlg::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
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()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ prepareHoughPlane()
void MuonR4::PhiHoughTransformAlg::prepareHoughPlane |
( |
HoughEventData & |
data | ) |
const |
|
private |
prepare the hough plane once per event.
Books the accumulator and attaches it to the event data
- Parameters
-
- Returns
- a status code
Definition at line 31 of file PhiHoughTransformAlg.cxx.
38 peakFinderCfg.fractionCutoff = 0.4;
39 peakFinderCfg.threshold = 2;
40 peakFinderCfg.minSpacingBetweenPeaks = {0., 30.};
41 data.houghPlane = std::make_unique<HoughPlane>(
cfg);
42 data.peakFinder = std::make_unique<ActsPeakFinderForMuon>(peakFinderCfg);
◆ preProcessMaximum()
pre-processing for a given input eta-maximum Counts potential phi-hits and defines the search space
- Parameters
-
gctx | The geometry context to fetch the global positions |
maximum | An (eta) maximum |
data | Event data object
|
- Returns
- a status code
Definition at line 82 of file PhiHoughTransformAlg.cxx.
86 eventData.phiHitsOnMax = 0;
87 eventData.searchSpaceTanAngle = std::make_pair(resetVal, -resetVal);
88 eventData.searchSpaceIntercept = std::make_pair(resetVal, -resetVal);
92 if (!hit->measuresPhi()) {
96 const Amg::Vector3D extrapDir = (hit->positionInChamber() - hit->msSector()->globalToLocalTrans(gctx).translation()).
unit();
99 std::optional<double> dummyIntercept = Amg::intersect<3>(hit->positionInChamber(), extrapDir, Amg::Vector3D::UnitZ(),0);
100 double x0 = (hit->positionInChamber() + dummyIntercept.value_or(0) * extrapDir).
x();
104 eventData.updateSearchWindow(eventData.searchSpaceTanAngle, tanPhi);
105 eventData.updateSearchWindow(eventData.searchSpaceIntercept, x0);
107 ++eventData.phiHitsOnMax;
110 double chamberCenter = (eventData.searchSpaceIntercept.second + eventData.searchSpaceIntercept.first) * 0.5;
118 double tanPhiMean = 0.5 * (eventData.searchSpaceTanAngle.first + eventData.searchSpaceTanAngle.second);
119 double searchStartTanPhi = tanPhiMean - 0.5 * eventData.houghPlane->nBinsX() *
m_targetResoTanPhi;
120 double searchEndTanPhi = tanPhiMean + 0.5* eventData.houghPlane->nBinsX() *
m_targetResoTanPhi;
125 eventData.currAxisRanges =
126 Acts::HoughTransformUtils::HoughAxisRanges{searchStartTanPhi, searchEndTanPhi, searchStart, searchEnd};
127 ATH_MSG_VERBOSE(
"Accumulator search window: tanPhi: ["<<searchStartTanPhi<<
";"<<searchEndTanPhi<<
"], x0: ["
128 <<searchStart<<
";"<<searchEnd<<
"]");
◆ recoverSinglePhiMax()
extend an eta maximum with just a single attached phi measurement.
Uses the beam spot direction to guess an approximate phi-intercept and direction.
- Parameters
-
data | event data object |
maximum | eta-maximum to extend |
- Returns
- a SegmentSeed extended using the pointing assumption
Definition at line 175 of file PhiHoughTransformAlg.cxx.
179 SpacePointPerLayerSorter
sorter{
hits.front()->chamber()->idHelperSvc()};
182 data.searchSpaceTanAngle.first,
183 data.searchSpaceIntercept.first,
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
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.
◆ sysInitialize()
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 InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_downWeightMultiplePrd
BooleanProperty MuonR4::PhiHoughTransformAlg::m_downWeightMultiplePrd {this, "downWeightPrdMultiplicity", false} |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_geoCtxKey
◆ m_maxEtaHolesOnMax
IntegerProperty MuonR4::PhiHoughTransformAlg::m_maxEtaHolesOnMax {this, "maxEtaHoles", 1} |
|
private |
◆ m_maxima
◆ m_minSigmasSearchIntercept
DoubleProperty MuonR4::PhiHoughTransformAlg::m_minSigmasSearchIntercept {this, "minSigmasSearchIntercept", 1.} |
|
private |
◆ m_minSigmasSearchTanPhi
DoubleProperty MuonR4::PhiHoughTransformAlg::m_minSigmasSearchTanPhi {this, "minSigmasSearchTanPhi", 1.} |
|
private |
◆ m_nBinsIntercept
IntegerProperty MuonR4::PhiHoughTransformAlg::m_nBinsIntercept {this, "nBinsIntercept", 10} |
|
private |
◆ m_nBinsTanPhi
IntegerProperty MuonR4::PhiHoughTransformAlg::m_nBinsTanPhi {this, "nBinsTanAngle", 5} |
|
private |
◆ m_recoverSinglePhiWithBS
BooleanProperty MuonR4::PhiHoughTransformAlg::m_recoverSinglePhiWithBS {this, "recoverSinglePhiHitsWithBS", true} |
|
private |
◆ m_segmentSeeds
◆ m_targetResoIntercept
DoubleProperty MuonR4::PhiHoughTransformAlg::m_targetResoIntercept {this, "ResolutionTargetIntercept", 30.} |
|
private |
◆ m_targetResoTanPhi
DoubleProperty MuonR4::PhiHoughTransformAlg::m_targetResoTanPhi {this, "ResolutionTargetTanAngle", 0.04} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_visionTool
The documentation for this class was generated from the following files:
char data[hepevt_bytes_allocation_ATLAS]
double tanTheta() const
getter
AmgVector(toInt(ParamDefs::nPars)) Parameters
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)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
double houghParamStrip(double tanPhi, const MuonR4::HoughHitType &dc)
straight line parametrisation for strip detector measurements, in the x-direction
Acts::HoughTransformUtils::PeakFinders::IslandsAroundMaxConfig ActsPeakFinderForMuonCfg
#define ATH_MSG_VERBOSE(x)
HoughMaximum::HitType HoughHitType
const std::vector< HitType > & getHitsInMax() const
getter
std::string toString(const CalibratedSpacePoint::Covariance_t &mat)
Returns the matrix in string.
virtual void setOwner(IDataHandleHolder *o)=0
HoughEventData_impl< ActsPeakFinderForMuon, ActsPeakFinderForMuonCfg > HoughEventData
double houghTanPhi(const Amg::Vector3D &v)
: Returns the hough tanPhi [x] / [z]
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
double houghWidthStrip(double tanPhi, const MuonR4::HoughHitType &dc, double targetReso)
Uncertainty parametrisation for strip measurements.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const SpacePointBucket * parentBucket() const
getter
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
def best(iterable, priorities=[3, 2, 1, -1, 0])
Out copy_if(In first, const In &last, Out res, const Pred &p)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Include the GeoPrimitives which need to be put first.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
constexpr int toInt(const ParamDefs p)
double getCounts() const
getter
Eigen::Matrix< double, 3, 1 > Vector3D
Amg::Vector3D dirFromAngles(const double phi, const double theta)
Constructs a direction vector from the azimuthal & polar angles.
#define ATH_MSG_WARNING(x)
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
double interceptY() const
getter
Parameters localSegmentPars(const xAOD::MuonSegment &seg)
Returns the localSegPars decoration from a xAODMuon::Segment.
virtual StatusCode sysInitialize() override
Override sysInitialize.
DataVector< HoughMaximum > EtaHoughMaxContainer
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.