ATLAS Offline Software
|
class to manipulate MuPatCandidateBase objects More...
#include <MuPatCandidateTool.h>
Public Types | |
using | MeasVec = std::vector< const Trk::MeasurementBase * > |
typedef MeasVec::iterator | MeasIt |
typedef MeasVec::const_iterator | MeasCit |
Public Member Functions | |
MuPatCandidateTool (const std::string &, const std::string &, const IInterface *) | |
default AlgTool constructor More... | |
virtual | ~MuPatCandidateTool ()=default |
destructor More... | |
virtual StatusCode | initialize () override |
initialize method, method taken from bass-class AlgTool More... | |
bool | extendWithSegment (MuPatTrack &can, MuPatSegment &segInfo, std::unique_ptr< Trk::Track > &track) const |
extend a track candidate with a segment More... | |
std::unique_ptr< MuPatTrack > | createCandidate (MuPatSegment &segInfo, std::unique_ptr< Trk::Track > &track) const |
create a track candidate from one segment More... | |
std::unique_ptr< MuPatTrack > | createCandidate (MuPatSegment &segInfo1, MuPatSegment &segInfo2, std::unique_ptr< Trk::Track > &track) const |
create a track candidate from two segments More... | |
std::unique_ptr< MuPatTrack > | createCandidate (std::unique_ptr< Trk::Track > &track) const |
create a track candidate from a track More... | |
bool | updateTrack (MuPatTrack &candidate, std::unique_ptr< Trk::Track > &track) const |
set the new track in the candidate, and update candidate contents. More... | |
bool | recalculateCandidateSegmentContent (MuPatTrack &candidate) const |
recalculate the chamber indices on the candidate and reset them. More... | |
std::unique_ptr< MuPatSegment > | createSegInfo (const EventContext &ctx, const MuonSegment &segment) const |
create a MuPatSegment object from a segment More... | |
std::set< const MuonGM::MuonReadoutElement * > | readoutElements (const MuPatCandidateBase &entry) const |
get list of the readout elements of the hits on the entry More... | |
std::string | print (const MuPatSegment &segment, int level=0) const |
print the measurements on the track to string More... | |
std::string | print (const std::vector< MuPatSegment * > &segments, int level=0) const |
std::string | print (const MuPatCandidateBase &candidate, int level=0) const |
std::string | print (const MuPatTrack &track, int level=0) const |
std::string | print (const std::vector< std::unique_ptr< MuPatTrack > > &tracks, int level=0) 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 | 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 |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
access to tool interface More... | |
static std::unique_ptr< MuPatTrack > | copyCandidate (MuPatTrack *canIn) |
copy a candidate without copying the track (lazy pointer copy) More... | |
Protected Member Functions | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
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. More... | |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
void | updateHits (MuPatCandidateBase &entry, const MeasVec &measurements, bool recreateMDT=false, bool recreateCSC=false, bool createComp=false) const |
update hits for a MuPatCandidateBase More... | |
void | addCluster (const Trk::MeasurementBase &meas, std::vector< const MuonClusterOnTrack * > &rots) const |
extract MuonClusterOnTrack('s) from measurement More... | |
void | createAndAddCompetingROTs (const std::vector< const MuonClusterOnTrack * > &rots, MeasVec &hits, MeasVec &allHits, MuPatCandidateBase &entry) const |
create CompetingMuonClustersOnTracks from ROTs and add them to the MeasVec. 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... | |
class to manipulate MuPatCandidateBase objects
Definition at line 49 of file MuPatCandidateTool.h.
typedef MeasVec::const_iterator Muon::MuPatCandidateTool::MeasCit |
Definition at line 53 of file MuPatCandidateTool.h.
typedef MeasVec::iterator Muon::MuPatCandidateTool::MeasIt |
Definition at line 52 of file MuPatCandidateTool.h.
using Muon::MuPatCandidateTool::MeasVec = std::vector<const Trk::MeasurementBase*> |
Definition at line 51 of file MuPatCandidateTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
Muon::MuPatCandidateTool::MuPatCandidateTool | ( | const std::string & | t, |
const std::string & | n, | ||
const IInterface * | p | ||
) |
default AlgTool constructor
Definition at line 34 of file MuPatCandidateTool.cxx.
|
virtualdefault |
destructor
|
private |
extract MuonClusterOnTrack('s) from measurement
Definition at line 292 of file MuPatCandidateTool.cxx.
|
static |
copy a candidate without copying the track (lazy pointer copy)
[in] | can | the MuPatTrack to be copied |
[out] | the | new candidate, ownership is passed to caller. The new candidate will not own the track (lazy pointer copy) |
Definition at line 100 of file MuPatCandidateTool.cxx.
|
private |
create CompetingMuonClustersOnTracks from ROTs and add them to the MeasVec.
NEVER pass mixed eta/phi hits!!
Definition at line 308 of file MuPatCandidateTool.cxx.
std::unique_ptr< MuPatTrack > Muon::MuPatCandidateTool::createCandidate | ( | MuPatSegment & | segInfo, |
std::unique_ptr< Trk::Track > & | track | ||
) | const |
create a track candidate from one segment
[in] | seg1 | the first MuPatSegment to be added, ownership is NOT passed! |
[in] | seg2 | the second MuPatSegment to be added, ownership is NOT passed! |
[in] | track | the new track, ownership is passed to the candidate |
[out] | the | new candidate, ownership is passed to caller |
Definition at line 106 of file MuPatCandidateTool.cxx.
std::unique_ptr< MuPatTrack > Muon::MuPatCandidateTool::createCandidate | ( | MuPatSegment & | segInfo1, |
MuPatSegment & | segInfo2, | ||
std::unique_ptr< Trk::Track > & | track | ||
) | const |
create a track candidate from two segments
[in] | seg1 | the first MuPatSegment to be added, ownership is NOT passed! |
[in] | seg2 | the second MuPatSegment to be added, ownership is NOT passed! |
[in] | track | the new track, ownership is passed to the candidate |
[out] | the | new candidate, ownership is passed to caller |
Definition at line 118 of file MuPatCandidateTool.cxx.
std::unique_ptr< MuPatTrack > Muon::MuPatCandidateTool::createCandidate | ( | std::unique_ptr< Trk::Track > & | track | ) | const |
create a track candidate from a track
[in] | track | the new track, ownership is passed to the candidate |
[out] | the | new candidate, ownership is passed to caller |
Definition at line 126 of file MuPatCandidateTool.cxx.
std::unique_ptr< MuPatSegment > Muon::MuPatCandidateTool::createSegInfo | ( | const EventContext & | ctx, |
const MuonSegment & | segment | ||
) | const |
create a MuPatSegment object from a segment
[in] | segment | input segment |
[out] | the | MuPatSegment object, ownership is passed to caller |
Definition at line 58 of file MuPatCandidateTool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
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.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
bool Muon::MuPatCandidateTool::extendWithSegment | ( | MuPatTrack & | can, |
MuPatSegment & | segInfo, | ||
std::unique_ptr< Trk::Track > & | track | ||
) | const |
extend a track candidate with a segment
[in] | can | the MuPatTrack to be extended |
[in] | track | the new track, ownership is passed to the candidate |
[in] | seg | the MuPatSegment to be added, ownership is NOT passed! |
[out] | true | if any segment was removed from the track, false if not |
Definition at line 94 of file MuPatCandidateTool.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
|
overridevirtual |
initialize method, method taken from bass-class AlgTool
Definition at line 38 of file MuPatCandidateTool.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.
|
inlinestatic |
access to tool interface
Definition at line 66 of file MuPatCandidateTool.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 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.
std::string Muon::MuPatCandidateTool::print | ( | const MuPatCandidateBase & | candidate, |
int | level = 0 |
||
) | const |
Definition at line 501 of file MuPatCandidateTool.cxx.
std::string Muon::MuPatCandidateTool::print | ( | const MuPatSegment & | segment, |
int | level = 0 |
||
) | const |
print the measurements on the track to string
This really belongs in MuonEDMPrinterTool in package MuonRecHelperTools. However, due to the tight tag collecting policy for release 15.5.0, this change is not likely to get accepted there. To be moved there as soon as release 16 is open
Definition at line 456 of file MuPatCandidateTool.cxx.
std::string Muon::MuPatCandidateTool::print | ( | const MuPatTrack & | track, |
int | level = 0 |
||
) | const |
Definition at line 479 of file MuPatCandidateTool.cxx.
std::string Muon::MuPatCandidateTool::print | ( | const std::vector< MuPatSegment * > & | segments, |
int | level = 0 |
||
) | const |
Definition at line 469 of file MuPatCandidateTool.cxx.
std::string Muon::MuPatCandidateTool::print | ( | const std::vector< std::unique_ptr< MuPatTrack > > & | tracks, |
int | level = 0 |
||
) | const |
Definition at line 491 of file MuPatCandidateTool.cxx.
std::set< const MuonGM::MuonReadoutElement * > Muon::MuPatCandidateTool::readoutElements | ( | const MuPatCandidateBase & | entry | ) | const |
get list of the readout elements of the hits on the entry
Definition at line 429 of file MuPatCandidateTool.cxx.
bool Muon::MuPatCandidateTool::recalculateCandidateSegmentContent | ( | MuPatTrack & | candidate | ) | const |
recalculate the chamber indices on the candidate and reset them.
Return whether segment has been removed.
Definition at line 380 of file MuPatCandidateTool.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.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
private |
update hits for a MuPatCandidateBase
Definition at line 136 of file MuPatCandidateTool.cxx.
bool Muon::MuPatCandidateTool::updateTrack | ( | MuPatTrack & | candidate, |
std::unique_ptr< Trk::Track > & | track | ||
) | const |
set the new track in the candidate, and update candidate contents.
Candidate takes ownership of track. Returns whether segments have been removed compared to the pre-existing list of segments.
Definition at line 113 of file MuPatCandidateTool.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 157 of file MuPatCandidateTool.h.
|
private |
Definition at line 169 of file MuPatCandidateTool.h.
|
private |
Definition at line 168 of file MuPatCandidateTool.h.
|
private |
Definition at line 155 of file MuPatCandidateTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 171 of file MuPatCandidateTool.h.
|
private |
Definition at line 170 of file MuPatCandidateTool.h.
|
private |
Definition at line 161 of file MuPatCandidateTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 164 of file MuPatCandidateTool.h.
|
private |
Definition at line 160 of file MuPatCandidateTool.h.
|
private |
Definition at line 153 of file MuPatCandidateTool.h.
|
private |
Definition at line 163 of file MuPatCandidateTool.h.
|
private |
Definition at line 165 of file MuPatCandidateTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.