|
ATLAS Offline Software
|
#include <MuonInsideOutRecoTool.h>
|
| MuonInsideOutRecoTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Default AlgTool functions. More...
|
|
virtual | ~MuonInsideOutRecoTool ()=default |
|
virtual StatusCode | initialize () override |
|
virtual void | extendWithPRDs (const InDetCandidateCollection &inDetCandidates, InDetCandidateToTagMap *tagMap, IMuonCombinedInDetExtensionTool::MuonPrdData prdData, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments, const EventContext &ctx) const override |
| IMuonCombinedInDetExtensionTool interface: extend ID candidate with PRDs for segment-finding. More...
|
|
virtual void | extend (const InDetCandidateCollection &inDetCandidates, InDetCandidateToTagMap *tagMap, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments, const EventContext &ctx) const override |
| IMuonCombinedInDetExtensionTool interface: deprecated. More...
|
|
std::pair< std::unique_ptr< const Muon::MuonCandidate >, std::unique_ptr< Trk::Track > > | findBestCandidate (const EventContext &ctx, const xAOD::TrackParticle &indetTrackParticle, const std::vector< Muon::MuonLayerRecoData > &allLayers) const |
| find the best candidate for a given set of segments More...
|
|
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 | sysInitialize () override |
| Perform system initialization for an algorithm. 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 > &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 | handleCandidate (const InDetCandidate &inDetCandidate, InDetCandidateToTagMap *tagMap, const IMuonCombinedInDetExtensionTool::MuonPrdData &prdData, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments, const EventContext &ctx) const |
| handle a single candidate More...
|
|
void | addTag (const EventContext &ctx, const InDetCandidate &indetCandidate, InDetCandidateToTagMap *tagMap, const Muon::MuonCandidate &candidate, std::unique_ptr< Trk::Track > &selectedTrack, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments) const |
| add muon candidate to indet candidate More...
|
|
bool | getLayerData (const Muon::MuonLayerSurface &surf, Muon::MuonLayerPrepRawData &layerPrepRawData, IMuonCombinedInDetExtensionTool::MuonPrdData prdData) const |
| access data in layer More...
|
|
template<class COL > |
bool | getLayerDataTech (Muon::MuonStationIndex::TechnologyIndex technology, const Muon::MuonLayerSurface &surf, const Muon::MuonPrepDataContainerT< COL > *input, std::vector< const Muon::MuonPrepDataCollection< COL > * > &output) const |
| access data in layer for a given technology More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
|
ServiceHandle< Muon::IMuonEDMHelperSvc > | m_edmHelperSvc |
|
PublicToolHandle< Muon::MuonEDMPrinterTool > | m_printer {this, "MuonEDMPrinterTool", ""} |
|
ToolHandle< Muon::IMuonLayerSegmentFinderTool > | m_segmentFinder |
|
ToolHandle< Muon::IMuonLayerSegmentMatchingTool > | m_segmentMatchingTool |
|
ToolHandle< Muon::IMuonLayerAmbiguitySolverTool > | m_ambiguityResolver |
|
ToolHandle< Muon::IMuonCandidateTrackBuilderTool > | m_candidateTrackBuilder |
|
ToolHandle< Rec::ICombinedMuonTrackBuilder > | m_trackFitter |
|
ToolHandle< Trk::ITrackAmbiguityProcessorTool > | m_trackAmbiguityResolver |
|
ToolHandle< Muon::MuonLayerHashProviderTool > | m_layerHashProvider |
|
ToolHandle< Trk::IExtendedTrackSummaryTool > | m_trackSummaryTool {this, "TrackSummaryTool", "MuonTrackSummaryTool"} |
|
ToolHandle< Muon::IMuonRecoValidationTool > | m_recoValidationTool {this, "MuonRecoValidationTool", ""} |
|
Gaudi::Property< double > | m_idTrackMinPt {this, "IDTrackMinPt", 2500} |
|
Gaudi::Property< bool > | m_ignoreSiAssocated {this, "IgnoreSiAssociatedCandidates", true} |
|
SG::ReadHandleKey< xAOD::VertexContainer > | m_vertexKey {this, "VertexContainer", "PrimaryVertices", "vertex container key"} |
|
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 |
|
Definition at line 45 of file MuonInsideOutRecoTool.h.
◆ StoreGateSvc_t
◆ MuonInsideOutRecoTool()
MuonCombined::MuonInsideOutRecoTool::MuonInsideOutRecoTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Default AlgTool functions.
Definition at line 17 of file MuonInsideOutRecoTool.cxx.
19 declareInterface<IMuonCombinedInDetExtensionTool>(
this);
20 declareInterface<MuonInsideOutRecoTool>(
this);
◆ ~MuonInsideOutRecoTool()
virtual MuonCombined::MuonInsideOutRecoTool::~MuonInsideOutRecoTool |
( |
| ) |
|
|
virtualdefault |
◆ addTag()
add muon candidate to indet candidate
Sort the segments here; note the lifetime of 'copy' is still valid here as it exists inside 'segments'
Sort the CSC segments at the first giving priority to the small sectors
Definition at line 190 of file MuonInsideOutRecoTool.cxx.
199 if (!vertices.isValid()) {
202 for (
const auto*
const vx : *vertices) {
203 for (
const auto& tpLink : vx->trackParticleLinks()) {
204 if (*tpLink == &idTrackParticle) {
208 if (matchedVertex)
break;
214 origin =
Amg::Vector3D{matchedVertex->
x(), matchedVertex->
y(), matchedVertex->
z()};
218 idTrackParticle.
d0() *
std::cos(idTrackParticle.
phi()) + idTrackParticle.
vy(),
219 idTrackParticle.
z0() + idTrackParticle.
vz()};
220 ATH_MSG_DEBUG(
" NO matched vertex take track perigee " << origin);
228 if (
it->trackParameters()) {
229 ATH_MSG_VERBOSE(
"check tsos " << tsos <<
" r " <<
it->trackParameters()->position().perp() <<
" z "
230 <<
it->trackParameters()->position().z() <<
" p "
231 <<
it->trackParameters()->momentum().mag());
236 std::vector<const Muon::MuonSegment*> segLinks;
238 std::unique_ptr<Muon::MuonSegment>
copy = std::make_unique<Muon::MuonSegment>(*
layer.segment);
239 segLinks.push_back(
copy.get());
245 using chamIdx = Muon::MuonStationIndex::ChIndex;
246 chamIdx ch_a = m_idHelperSvc->chamberIndex(m_edmHelperSvc->chamberId(*seg_a));
247 chamIdx ch_b = m_idHelperSvc->chamberIndex(m_edmHelperSvc->chamberId(*seg_b));
248 Muon::MuonStationIndex::StIndex st_a = Muon::MuonStationIndex::toStationIndex(ch_a);
249 Muon::MuonStationIndex::StIndex st_b = Muon::MuonStationIndex::toStationIndex(ch_b);
250 if (st_a != st_b) return st_a < st_b;
252 if (ch_a == chamIdx::CSL || ch_a == chamIdx::CSS || ch_b == chamIdx::CSS || ch_b == chamIdx::CSL)
253 return (ch_a == chamIdx::CSL) + 2 * (ch_a == chamIdx::CSS) > (ch_b == chamIdx::CSL) + 2 * (ch_b == chamIdx::CSS);
258 std::stringstream sstr;
264 ATH_MSG_DEBUG(
"Selected segments " << segLinks.size() <<
" " << sstr.str());
268 std::unique_ptr<Trk::Track> standaloneRefit{
m_trackFitter->standaloneRefit(ctx, *selectedTrack, origin)};
270 combTracks->
push_back(std::move(selectedTrack));
274 MuGirlTag*
tag =
new MuGirlTag(comblink, segLinks);
275 if (standaloneRefit) {
276 meTracks->
push_back(std::move(standaloneRefit));
278 tag->setUpdatedExtrapolatedTrack(melink);
282 tagMap->addEntry(&indetCandidate,
tag);
◆ 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);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ 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]
◆ extend()
◆ extendWithPRDs()
◆ 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
◆ findBestCandidate()
find the best candidate for a given set of segments
Check if the fit succeeded and whether there are TSOS & a fitQuality
Definition at line 131 of file MuonInsideOutRecoTool.cxx.
135 std::vector<Muon::MuonCandidate> resolvedCandidates;
140 typedef std::pair<std::unique_ptr<Trk::Track>, std::unique_ptr<const Muon::MuonCandidate>> candidatePair;
141 std::vector<candidatePair> trackCandidateLookup;
145 if (!
track || !
track->isValid() || !
track->fitQuality()->numberDoF())
continue;
147 tracks.push_back(
track.get());
148 trackCandidateLookup.emplace_back(std::move(
track), std::make_unique<Muon::MuonCandidate>(std::move(candidate)));
151 ATH_MSG_DEBUG(
"found " << tracks.size() <<
" combined tracks");
154 if (tracks.empty())
return {
nullptr,
nullptr};
157 if (tracks.size() == 1) {
158 selectedTrack = tracks.front();
162 if (!resolvedTracks || resolvedTracks->empty()) {
163 ATH_MSG_WARNING(
"Ambiguity resolver returned no tracks. Arbitrarily using the first track of initial collection.");
164 selectedTrack = tracks.front();
167 if (
it != tracks.end()) {
170 ATH_MSG_ERROR(
"Ambiguity resolver returned an unknown track. Arbitrarily using the first track of initial collection.");
171 selectedTrack = tracks.front();
177 std::find_if(trackCandidateLookup.begin(), trackCandidateLookup.end(),
178 [selectedTrack](candidatePair& ele) { return ele.first.get() == selectedTrack; });
180 if (look_itr == trackCandidateLookup.end() || !look_itr->second) {
182 return {
nullptr,
nullptr};
187 return std::make_pair(std::move(look_itr->second), std::move(look_itr->first));
◆ getLayerData()
access data in layer
Definition at line 285 of file MuonInsideOutRecoTool.cxx.
289 std::vector<Muon::MuonStationIndex::TechnologyIndex> technologiesInStation =
292 std::string techString;
304 isok |= getLayerDataTech<Muon::MdtPrepData>(
it, surf, prdData.mdtPrds, layerPrepRawData.
mdts);
307 isok |= getLayerDataTech<Muon::RpcPrepData>(
it, surf, prdData.rpcPrds, layerPrepRawData.
rpcs);
310 isok |= getLayerDataTech<Muon::TgcPrepData>(
it, surf, prdData.tgcPrds, layerPrepRawData.
tgcs);
313 isok |= getLayerDataTech<Muon::CscPrepData>(
it, surf, prdData.cscPrds, layerPrepRawData.
cscs);
316 isok |= getLayerDataTech<Muon::sTgcPrepData>(
it, surf, prdData.stgcPrds, layerPrepRawData.
stgcs);
319 isok |= getLayerDataTech<Muon::MMPrepData>(
it, surf, prdData.mmPrds, layerPrepRawData.
mms);
330 if (!layerPrepRawData.
mms.empty())
msg(
MSG::DEBUG) <<
" MMs " << layerPrepRawData.
mms.size();
◆ getLayerDataTech()
access data in layer for a given technology
Definition at line 337 of file MuonInsideOutRecoTool.cxx.
340 if (!
input ||
input->size() == 0)
return false;
348 if (
hashes.empty())
return false;
351 for (Muon::MuonLayerHashProviderTool::HashVec::const_iterator
it =
hashes.begin();
it !=
hashes.end(); ++
it) {
353 const auto* colIt =
input->indexFindPtr(*
it);
354 if (!colIt) {
continue; }
◆ handleCandidate()
handle a single candidate
Definition at line 55 of file MuonInsideOutRecoTool.cxx.
59 ATH_MSG_DEBUG(
" skip silicon associated track for extension ");
68 if (!muonSystemExtension) {
76 std::vector<Muon::MuonLayerRecoData> allLayers;
78 const std::vector<Muon::MuonSystemExtension::Intersection>& layerIntersections = muonSystemExtension->
layerIntersections();
79 ATH_MSG_DEBUG(
" ID track: pt " << indetTrackParticle.
pt() <<
" eta " << indetTrackParticle.
eta() <<
" phi "
80 << indetTrackParticle.
phi() <<
" layers " << layerIntersections.size());
84 std::vector<std::shared_ptr<const Muon::MuonSegment>> segments;
88 if (!
getLayerData(layer_intersect.layerSurface, layerPrepRawData, prdData)) {
92 m_segmentFinder->find(ctx, layer_intersect, layerPrepRawData, segments);
93 if (segments.empty())
continue;
97 for (
const std::shared_ptr<const Muon::MuonSegment>& seg : segments)
m_recoValidationTool->add(layer_intersect, *seg, 0);
101 std::vector<std::shared_ptr<const Muon::MuonSegment>> selectedSegments;
103 if (selectedSegments.empty())
continue;
111 allLayers.emplace_back(layer_intersect, std::move(selectedSegments));
115 msg(
MSG::DEBUG) <<
" Layers with segments " << allLayers.size();
116 for (
auto&
layer : allLayers) {
123 std::pair<std::unique_ptr<const Muon::MuonCandidate>, std::unique_ptr<Trk::Track>> bestCandidate =
125 if (!bestCandidate.first) {
return; }
128 addTag(ctx, indetCandidate, tagMap, *bestCandidate.first, bestCandidate.second, combTracks, meTracks, segColl);
◆ initialize()
StatusCode MuonCombined::MuonInsideOutRecoTool::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.
◆ interfaceID()
static const InterfaceID& MuonCombined::MuonInsideOutRecoTool::interfaceID |
( |
| ) |
|
|
inlinestatic |
◆ 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.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ 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_ambiguityResolver
Initial value:{
this, "MuonLayerAmbiguitySolverTool", "Muon::MuonLayerAmbiguitySolverTool/MuonLayerAmbiguitySolverTool"}
Definition at line 98 of file MuonInsideOutRecoTool.h.
◆ m_candidateTrackBuilder
Initial value:{
this, "MuonCandidateTrackBuilderTool", "Muon::MuonCandidateTrackBuilderTool/MuonCandidateTrackBuilderTool"}
Definition at line 100 of file MuonInsideOutRecoTool.h.
◆ m_detStore
◆ m_edmHelperSvc
Initial value:{this, "edmHelper", "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
"Handle to the service providing the IMuonEDMHelperSvc interface"}
Definition at line 91 of file MuonInsideOutRecoTool.h.
◆ m_evtStore
◆ m_idHelperSvc
◆ m_idTrackMinPt
Gaudi::Property<double> MuonCombined::MuonInsideOutRecoTool::m_idTrackMinPt {this, "IDTrackMinPt", 2500} |
|
private |
◆ m_ignoreSiAssocated
Gaudi::Property<bool> MuonCombined::MuonInsideOutRecoTool::m_ignoreSiAssocated {this, "IgnoreSiAssociatedCandidates", true} |
|
private |
◆ m_layerHashProvider
Initial value:{this, "MuonLayerHashProviderTool",
"Muon::MuonLayerHashProviderTool"}
Definition at line 106 of file MuonInsideOutRecoTool.h.
◆ m_printer
PublicToolHandle<Muon::MuonEDMPrinterTool> MuonCombined::MuonInsideOutRecoTool::m_printer {this, "MuonEDMPrinterTool", ""} |
|
private |
◆ m_recoValidationTool
◆ m_segmentFinder
Initial value:{this, "MuonLayerSegmentFinderTool",
"Muon::MuonLayerSegmentFinderTool/MuonLayerSegmentFinderTool"}
Definition at line 94 of file MuonInsideOutRecoTool.h.
◆ m_segmentMatchingTool
Initial value:{
this, "MuonLayerSegmentMatchingTool", "Muon::MuonLayerSegmentMatchingTool/MuonLayerSegmentMatchingTool"}
Definition at line 96 of file MuonInsideOutRecoTool.h.
◆ m_trackAmbiguityResolver
Initial value:{this, "TrackAmbiguityProcessor",
"Trk::TrackSelectionProcessorTool/MuonAmbiProcessor"}
Definition at line 104 of file MuonInsideOutRecoTool.h.
◆ m_trackFitter
Initial value:{this, "MuonTrackBuilder",
"Rec::CombinedMuonTrackBuilder/CombinedMuonTrackBuilder"}
Definition at line 102 of file MuonInsideOutRecoTool.h.
◆ m_trackSummaryTool
◆ m_varHandleArraysDeclared
◆ m_vertexKey
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
static const std::string & chName(ChIndex index)
convert ChIndex into a string
virtual double pt() const override final
The transverse momentum ( ) of the particle.
float x() const
Returns the x position.
static StIndex toStationIndex(ChIndex index)
convert ChIndex into StIndex
std::string find(const std::string &s)
return a remapped string
float vx() const
The x origin for the parameters.
MuonStationIndex::LayerIndex layerIndex
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
float vz() const
The z origin for the parameters.
static unsigned int sectorLayerHash(DetectorRegionIndex detectorRegionIndex, LayerIndex layerIndex)
create a hash out of region and layer
float z0() const
Returns the parameter.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
std::vector< const TgcPrepDataCollection * > tgcs
Struct to hold all PrepRawData collections in a given layer.
#define ATH_MSG_VERBOSE(x)
MuonStationIndex::DetectorRegionIndex regionIndex
float d0() const
Returns the parameter.
std::vector< const sTgcPrepDataCollection * > stgcs
virtual void setOwner(IDataHandleHolder *o)=0
static const std::string & regionName(DetectorRegionIndex index)
convert DetectorRegionIndex into a string
(Non-const) Iterator class for DataVector/DataList.
std::vector< const MdtPrepDataCollection * > mdts
Tracking class to hold the extrapolation from a particle from the calo entry to the end of muon syste...
static std::vector< MuonStationIndex::TechnologyIndex > technologiesInStation(MuonStationIndex::StIndex stIndex)
get techonolgies in
static const std::string & layerName(LayerIndex index)
convert LayerIndex into a string
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
float z() const
Returns the z position.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
float vy() const
The y origin for the parameters.
represents the track state (measurement, material, fit parameters and quality) at a surface.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< const CscPrepDataCollection * > cscs
Class describing a Vertex.
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
std::vector< const RpcPrepDataCollection * > rpcs
float y() const
Returns the y position.
const std::vector< Intersection > & layerIntersections() const
access to the intersections with the layers.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::vector< const MMPrepDataCollection * > mms
StIndex
enum to classify the different station layers in the muon spectrometer
Class describing a TrackParticle.
const Trk::Track * track() const
Returns a pointer (which can be NULL) to the Trk::Track which was used to make this TrackParticle.
TechnologyIndex
enum to classify the different layers in the muon spectrometer
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
std::vector< MuonLayerIntersection > layerIntersections
MuonLayerIntersections.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
static const std::string & technologyName(TechnologyIndex index)
convert LayerIndex into a string