![]() |
ATLAS Offline Software
|
track candidate object. More...
#include <MuPatTrack.h>
Public Types | |
| enum | ProcessingStage { Unknown , InitialLoop , LayerRecovery , ExtendedWithSegment , SegmentRecovery , FitRemovedSegment , RefitRemovedSegment , AmbiguityCreateCandidateFromSeeds , AmbiguitySelectCandidates , MatchFail , FitFail , FitWorse , UnassociatedEM , FitRemovedLayer , TrackSelector , KeptUntilEndOfCombi , NumberOfProcessingStages } |
| enum to keep track of the life of candidates More... | |
| using | MeasVec = std::vector<const Trk::MeasurementBase*> |
Public Member Functions | |
| MuPatTrack (const std::vector< MuPatSegment * > &segments, std::unique_ptr< Trk::Track > &track, MuPatSegment *seedSeg=0) | |
| constructor taking a vector of MuPatSegment object, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one. | |
| MuPatTrack (MuPatSegment *segment, std::unique_ptr< Trk::Track > &track) | |
| constructor taking a MuPatSegment object, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one. | |
| MuPatTrack (MuPatSegment *segment1, MuPatSegment *segment2, std::unique_ptr< Trk::Track > &track, MuPatSegment *seedSeg=0) | |
| constructor taking two MuPatSegment objects, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one. | |
| ~MuPatTrack () | |
| destructor, decrease the usedInFit counter of all MuPatSegment objects by one | |
| MuPatTrack (const MuPatTrack &can) | |
| copying constructor. | |
| MuPatTrack & | operator= (const MuPatTrack &can) |
| assignment operator. | |
| Trk::Track & | track () const |
| access to track | |
| void | updateTrack (std::unique_ptr< Trk::Track > &newTrack) |
| update track. | |
| const std::vector< MuPatSegment * > & | segments () const |
| access to segments | |
| MuPatSegment * | seedSegment () const |
| Return pointer to the seed segment. | |
| const std::vector< MuPatSegment * > & | excludedSegments () const |
| access to segments | |
| void | addSegment (MuPatSegment *segment, std::unique_ptr< Trk::Track > &newTrack) |
| add segment + the associated new track. | |
| void | addExcludedSegment (MuPatSegment *segment) |
| add segment that does not match the track | |
| bool | isSegmentExcluded (const MuPatSegment *segment) const |
| loops over the excluded segment collection and checks whether the pointer is in there | |
| const Trk::TrackParameters & | entryPars () const |
| returns first track parameters | |
| bool | hasMomentum () const |
| returns whether canditate has a momentum measurement | |
| std::vector< MuonStationIndex::StIndex > | stationsInOrder () |
| returns vector with contained stationIndices in the order they were added | |
| bool | resetChambersOnCandidate (const std::set< MuonStationIndex::ChIndex > &chambers) |
| reset chambers on the candidate. | |
| std::string | segmentNames () const |
| string containing the names of the segments on the candidate | |
| const MeasVec & | etaHits () const |
| return all eta hits on the entry | |
| const MeasVec & | phiHits () const |
| return all phi hits on the entry | |
| const MeasVec & | fakePhiHits () const |
| return all fake phi hits on the entry | |
| const MeasVec & | hits () const |
| return all hits on the entry. | |
| bool | hasSmallChamber () const |
| returns whether entry contains a small chamber | |
| bool | hasLargeChamber () const |
| returns whether entry contains a small chamber | |
| bool | hasSLOverlap () const |
| returns whether there is at least one small/large overlap in the same station layer | |
| bool | hasEndcap () const |
| returns whether the entry contains endcap hits | |
| void | hasEndcap (bool hasEC) |
| set whether entry has endcap hits | |
| const std::set< MuonStationIndex::StIndex > & | stations () const |
| returns set with contained stationIndices | |
| const std::set< MuonStationIndex::ChIndex > & | chambers () const |
| returns set with contained chamberIndices | |
| bool | containsChamber (MuonStationIndex::ChIndex chIndex) const |
| returns whether the ChamberIndex is already contained in candidate | |
| bool | containsStation (MuonStationIndex::StIndex chIndex) const |
| returns whether the StationIndex is already contained in candidate | |
| const MuPatHitList & | hitList () const |
| returns a reference to the hit list | |
| const std::set< Identifier > & | chamberIds () const |
| returns set with contained chamber ids | |
| bool | shareChambers (const MuPatCandidateBase &entry) const |
| checks whether the two entries contain the same chamber | |
| const Trk::MeasurementBase * | addToTrash (std::unique_ptr< const Trk::MeasurementBase > meas) |
| adds the measurement to the garbage container. | |
| void | addToTrash (const std::vector< std::shared_ptr< const Trk::MeasurementBase > > &measurements) |
| const std::vector< std::shared_ptr< const Trk::MeasurementBase > > & | garbage () const |
Static Public Member Functions | |
| static const std::string & | processingStageString (ProcessingStage stage) |
| Convert enum to string. | |
| static unsigned int | processingStageStringMaxLen () |
| maximum width of the strings corresponding to the ProcessingStage | |
| static std::size_t | numberOfInstantiations () |
Public Attributes | |
| ProcessingStage | created {Unknown} |
| ProcessingStage | lastSegmentChange {Unknown} |
| unsigned int | nmdtHitsMl1 {0} |
| public hit counters | |
| unsigned int | nmdtHitsMl2 {0} |
| unsigned int | ncscHitsEta {0} |
| unsigned int | ncscHitsPhi {0} |
| unsigned int | nrpcHitsEta {0} |
| unsigned int | nrpcHitsPhi {0} |
| unsigned int | ntgcHitsEta {0} |
| unsigned int | ntgcHitsPhi {0} |
Static Public Attributes | |
| static std::atomic_size_t | s_numberOfInstantiations |
Protected Member Functions | |
| void | hasSmallChamber (bool hasSmall) |
| set whether entry has small chamber | |
| void | hasLargeChamber (bool hasLarge) |
| set whether entry has large chamber | |
| void | hasSLOverlap (bool hasSL) |
| set whether entry has at least one small/large overlap in the same station layer | |
| MuPatHitList & | hitList () |
| returns a reference to the hit list | |
| std::set< Identifier > & | chamberIds () |
| returns set with contained chamber ids | |
| void | setEtaHits (const MeasVec &hits) |
| set eta hits on the entry | |
| void | setPhiHits (const MeasVec &hits) |
| set phi hits on the entry | |
| void | setFakePhiHits (const MeasVec &hits) |
| set fake phi hits on the entry | |
| void | setAllHits (const MeasVec &hits) |
| set all hits on the entry | |
| void | clearChambers () |
| clear the list of contained chambers. | |
| void | addChamber (MuonStationIndex::ChIndex chIndex) |
| add the chamber to the list of contained chambers. | |
| void | setChambers (const std::set< MuonStationIndex::ChIndex > &chambers) |
| Set the list of chambers and update list of stations. | |
Protected Attributes | |
| std::set< MuonStationIndex::ChIndex > | m_chambers |
| std::set< MuonStationIndex::StIndex > | m_stations |
| bool | m_hasMomentum {false} |
Private Member Functions | |
| void | updateSegments (bool add) |
| update segment/track association, if add == true ,will add track to segments else remove it | |
| void | modifySegmentCounters (int change) |
| increase the segment counters by the passed number | |
Static Private Member Functions | |
| static std::vector< std::string > | initProcessingStageStrings () |
| Initialize s_processingStageStrings & s_processingStageStringMaxLen. | |
| static const std::vector< std::string > & | processingStageStrings () |
| Return list of processing stage strings. | |
| static bool | hasMomentum (const Trk::Track &track) |
| check whether track measures momentum | |
Private Attributes | |
| std::vector< MuPatSegment * > | m_segments {} |
| std::vector< MuPatSegment * > | m_excludedSegments {} |
| std::unique_ptr< Trk::Track > | m_track {} |
| MuPatSegment * | m_seedSeg {nullptr} |
| The special segment for this track. | |
| MeasVec | m_etaHits |
| MeasVec | m_phiHits |
| MeasVec | m_fakePhiHits |
| MeasVec | m_allHits |
| MuPatHitList | m_hitList |
| std::set< Identifier > | m_chamberIds |
| bool | m_hasEndcap {false} |
| bool | m_hasSmallChamber {false} |
| bool | m_hasLargeChamber {false} |
| bool | m_hasSLOverlap {false} |
| std::vector< std::shared_ptr< const Trk::MeasurementBase > > | m_garbage {} |
Friends | |
| class | MuPatCandidateTool |
track candidate object.
The purpose of the track candidate is three folded:
The following information is cached:
Definition at line 37 of file MuPatTrack.h.
|
inherited |
Definition at line 50 of file MuPatCandidateBase.h.
enum to keep track of the life of candidates
Definition at line 42 of file MuPatTrack.h.
| Muon::MuPatTrack::MuPatTrack | ( | const std::vector< MuPatSegment * > & | segments, |
| std::unique_ptr< Trk::Track > & | track, | ||
| MuPatSegment * | seedSeg = 0 ) |
constructor taking a vector of MuPatSegment object, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one.
Definition at line 72 of file MuPatTrack.cxx.
| Muon::MuPatTrack::MuPatTrack | ( | MuPatSegment * | segment, |
| std::unique_ptr< Trk::Track > & | track ) |
constructor taking a MuPatSegment object, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one.
Definition at line 93 of file MuPatTrack.cxx.
| Muon::MuPatTrack::MuPatTrack | ( | MuPatSegment * | segment1, |
| MuPatSegment * | segment2, | ||
| std::unique_ptr< Trk::Track > & | track, | ||
| MuPatSegment * | seedSeg = 0 ) |
constructor taking two MuPatSegment objects, the candidate takes ownership of the track It will increase the usedInFit counter of the MuPatSegment objects by one.
Definition at line 109 of file MuPatTrack.cxx.
| Muon::MuPatTrack::~MuPatTrack | ( | ) |
destructor, decrease the usedInFit counter of all MuPatSegment objects by one
Definition at line 133 of file MuPatTrack.cxx.
| Muon::MuPatTrack::MuPatTrack | ( | const MuPatTrack & | can | ) |
copying constructor.
It will not copy the track, just its pointer (lazy). It will increase the usedInFit counter of the MuPatSegment objects by one.
Definition at line 138 of file MuPatTrack.cxx.
|
protectedinherited |
add the chamber to the list of contained chambers.
Will also add the corresponding station.
Definition at line 38 of file MuPatCandidateBase.cxx.
| void Muon::MuPatTrack::addExcludedSegment | ( | MuPatSegment * | segment | ) |
add segment that does not match the track
Definition at line 212 of file MuPatTrack.cxx.
| void Muon::MuPatTrack::addSegment | ( | MuPatSegment * | segment, |
| std::unique_ptr< Trk::Track > & | newTrack ) |
add segment + the associated new track.
Takes ownership of the track.
Definition at line 216 of file MuPatTrack.cxx.
|
inherited |
Definition at line 97 of file MuPatCandidateBase.cxx.
|
inherited |
adds the measurement to the garbage container.
Definition at line 92 of file MuPatCandidateBase.cxx.
|
protectedinherited |
returns set with contained chamber ids
Definition at line 36 of file MuPatCandidateBase.cxx.
|
inherited |
|
inherited |
|
protectedinherited |
clear the list of contained chambers.
Will also clear the list of contained stations and list of chamber Ids.
Definition at line 83 of file MuPatCandidateBase.cxx.
|
inherited |
returns whether the ChamberIndex is already contained in candidate
Definition at line 75 of file MuPatCandidateBase.cxx.
|
inherited |
returns whether the StationIndex is already contained in candidate
Definition at line 79 of file MuPatCandidateBase.cxx.
|
inlinevirtual |
returns first track parameters
Implements Muon::MuPatCandidateBase.
Definition at line 177 of file MuPatTrack.h.
|
inherited |
return all eta hits on the entry
|
inline |
|
inherited |
|
inherited |
Definition at line 103 of file MuPatCandidateBase.cxx.
|
inherited |
returns whether the entry contains endcap hits
Definition at line 71 of file MuPatCandidateBase.cxx.
|
inherited |
set whether entry has endcap hits
Definition at line 73 of file MuPatCandidateBase.cxx.
|
inherited |
returns whether entry contains a small chamber
Definition at line 45 of file MuPatCandidateBase.cxx.
|
protectedinherited |
set whether entry has large chamber
Definition at line 51 of file MuPatCandidateBase.cxx.
| bool Muon::MuPatTrack::hasMomentum | ( | ) | const |
returns whether canditate has a momentum measurement
Definition at line 186 of file MuPatTrack.cxx.
|
staticprivate |
check whether track measures momentum
Definition at line 191 of file MuPatTrack.cxx.
|
inherited |
returns whether there is at least one small/large overlap in the same station layer
Definition at line 47 of file MuPatCandidateBase.cxx.
|
protectedinherited |
set whether entry has at least one small/large overlap in the same station layer
Definition at line 53 of file MuPatCandidateBase.cxx.
|
inherited |
returns whether entry contains a small chamber
Definition at line 43 of file MuPatCandidateBase.cxx.
|
protectedinherited |
set whether entry has small chamber
Definition at line 49 of file MuPatCandidateBase.cxx.
|
inlineprotectedinherited |
|
inlineinherited |
|
inherited |
return all hits on the entry.
(Does not including the fake phi hits)
Definition at line 61 of file MuPatCandidateBase.cxx.
|
staticprivate |
Initialize s_processingStageStrings & s_processingStageStringMaxLen.
Definition at line 30 of file MuPatTrack.cxx.
| bool Muon::MuPatTrack::isSegmentExcluded | ( | const MuPatSegment * | segment | ) | const |
loops over the excluded segment collection and checks whether the pointer is in there
Definition at line 213 of file MuPatTrack.cxx.
|
private |
increase the segment counters by the passed number
Definition at line 231 of file MuPatTrack.cxx.
|
inlinestaticinherited |
Definition at line 25 of file TrkObjectCounter.h.
| MuPatTrack & Muon::MuPatTrack::operator= | ( | const MuPatTrack & | can | ) |
assignment operator.
It will not copy the track, just its pointer (lazy). It will increase the usedInFit counter of the MuPatSegment objects by one.
Definition at line 155 of file MuPatTrack.cxx.
|
inherited |
|
static |
Convert enum to string.
Definition at line 61 of file MuPatTrack.cxx.
|
static |
maximum width of the strings corresponding to the ProcessingStage
Definition at line 16 of file MuPatTrack.cxx.
|
staticprivate |
Return list of processing stage strings.
Definition at line 54 of file MuPatTrack.cxx.
| bool Muon::MuPatTrack::resetChambersOnCandidate | ( | const std::set< MuonStationIndex::ChIndex > & | chambers | ) |
reset chambers on the candidate.
Return whether segments were removed.
Definition at line 239 of file MuPatTrack.cxx.
|
inline |
Return pointer to the seed segment.
Definition at line 169 of file MuPatTrack.h.
| std::string Muon::MuPatTrack::segmentNames | ( | ) | const |
string containing the names of the segments on the candidate
Remove the trailing white space
Definition at line 274 of file MuPatTrack.cxx.
|
inline |
|
protectedinherited |
set all hits on the entry
Definition at line 69 of file MuPatCandidateBase.cxx.
|
protectedinherited |
Set the list of chambers and update list of stations.
Definition at line 14 of file MuPatCandidateBase.cxx.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
set phi hits on the entry
Definition at line 65 of file MuPatCandidateBase.cxx.
|
inherited |
checks whether the two entries contain the same chamber
Definition at line 20 of file MuPatCandidateBase.cxx.
|
inherited |
| std::vector< MuonStationIndex::StIndex > Muon::MuPatTrack::stationsInOrder | ( | ) |
returns vector with contained stationIndices in the order they were added
Definition at line 267 of file MuPatTrack.cxx.
|
inline |
|
private |
update segment/track association, if add == true ,will add track to segments else remove it
Definition at line 285 of file MuPatTrack.cxx.
| void Muon::MuPatTrack::updateTrack | ( | std::unique_ptr< Trk::Track > & | newTrack | ) |
|
friend |
Definition at line 38 of file MuPatTrack.h.
| ProcessingStage Muon::MuPatTrack::created {Unknown} |
Definition at line 144 of file MuPatTrack.h.
| ProcessingStage Muon::MuPatTrack::lastSegmentChange {Unknown} |
Definition at line 145 of file MuPatTrack.h.
|
privateinherited |
Definition at line 163 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 167 of file MuPatCandidateBase.h.
|
protectedinherited |
Definition at line 170 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 160 of file MuPatCandidateBase.h.
|
private |
Definition at line 157 of file MuPatTrack.h.
|
privateinherited |
Definition at line 162 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 191 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 186 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 188 of file MuPatCandidateBase.h.
|
protectedinherited |
Definition at line 172 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 189 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 187 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 165 of file MuPatCandidateBase.h.
|
privateinherited |
Definition at line 161 of file MuPatCandidateBase.h.
|
private |
|
private |
Definition at line 156 of file MuPatTrack.h.
|
protectedinherited |
Definition at line 171 of file MuPatCandidateBase.h.
|
private |
Definition at line 158 of file MuPatTrack.h.
|
inherited |
Definition at line 178 of file MuPatCandidateBase.h.
|
inherited |
Definition at line 179 of file MuPatCandidateBase.h.
|
inherited |
|
inherited |
Definition at line 177 of file MuPatCandidateBase.h.
|
inherited |
Definition at line 180 of file MuPatCandidateBase.h.
|
inherited |
Definition at line 181 of file MuPatCandidateBase.h.
|
inherited |
Definition at line 182 of file MuPatCandidateBase.h.
|
inherited |
Definition at line 183 of file MuPatCandidateBase.h.
|
inlinestaticinherited |
Definition at line 22 of file TrkObjectCounter.h.