|
ATLAS Offline Software
|
Go to the documentation of this file.
17 static const unsigned int maxlen = []() ->
unsigned int {
19 auto it = std::max_element(pss.begin(), pss.end(),
20 [](
const std::string& lhs,
const std::string& rhs) { return lhs.size() < rhs.size(); });
31 std::vector<std::string> pss;
56 static const std::vector<std::string> processingStrings =
58 return processingStrings;
64 if (
static_cast<size_t>(
stage) < pss.size()) {
65 return pss[
static_cast<size_t>(
stage)];
127 m_seedSeg = segment1 ? segment1 : segment2;
128 for (
MuPatSegment* seg : {segment1, segment2, seedSeg}) {
141 created(
can.created),
142 lastSegmentChange(
can.lastSegmentChange),
143 m_segments(
can.m_segments),
144 m_excludedSegments(
can.m_excludedSegments),
146 m_seedSeg(
can.m_seedSeg) {
165 MuPatCandidateBase::operator=(
can);
171 m_track = std::make_unique<Trk::Track>(
can.track());
202 for (
int i = 0;
i < 4; ++
i) momCov += std::abs((*
cov)(4,
i));
203 for (
int i = 0;
i < 4; ++
i) momCov += std::abs((*
cov)(
i, 4));
204 if (momCov > 1
e-10) { hasMom =
true; }
235 seg->usedInFit += change;
244 bool bRemovedSegments =
false;
248 bool inChamberSet =
false;
258 (*it)->removeTrack(
this);
259 bRemovedSegments =
true;
264 return bRemovedSegments;
268 std::vector<MuonStationIndex::StIndex>
stations;
290 seg->removeTrack(
this);
JetConstituentVector::iterator iterator
void addToTrash(std::unique_ptr< const Trk::MeasurementBase > meas)
adds the measurement to the garbage container.
track candidate entry object.
std::string find(const std::string &s)
return a remapped string
std::string segmentNames() const
string containing the names of the segments on the candidate
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
const std::set< MuonStationIndex::ChIndex > & chambers() const
returns set with contained chamberIndices
void updateSegments(bool add)
update segment/track association, if add == true ,will add track to segments else remove it
std::unique_ptr< Trk::Track > m_track
@ AmbiguitySelectCandidates
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
bool isSegmentExcluded(const MuPatSegment *segment) const
loops over the excluded segment collection and checks whether the pointer is in there
@ u
Enums for curvilinear frames.
#define AmgSymMatrix(dim)
static std::vector< std::string > initProcessingStageStrings()
Initialize s_processingStageStrings & s_processingStageStringMaxLen.
void addSegment(MuPatSegment *segment, std::unique_ptr< Trk::Track > &newTrack)
add segment + the associated new track.
@ StraightTrack
A straight track.
bool hasMomentum() const
returns whether canditate has a momentum measurement
bool resetChambersOnCandidate(const std::set< MuonStationIndex::ChIndex > &chambers)
reset chambers on the candidate.
MuPatTrack & operator=(const MuPatTrack &can)
assignment operator.
static unsigned int processingStageStringMaxLen()
maximum width of the strings corresponding to the ProcessingStage
std::vector< MuPatSegment * > m_excludedSegments
std::set< MuonStationIndex::StIndex > m_stations
void setChambers(const std::set< MuonStationIndex::ChIndex > &chambers)
Set the list of chambers and update list of stations.
static const std::vector< std::string > & processingStageStrings()
Return list of processing stage strings.
ProcessingStage
enum to keep track of the life of candidates
bool add(const std::string &hname, TKey *tobj)
MuPatSegment * m_seedSeg
The special segment for this track.
std::vector< MuonStationIndex::StIndex > stationsInOrder()
returns vector with contained stationIndices in the order they were added
void addExcludedSegment(MuPatSegment *segment)
add segment that does not match the track
void modifySegmentCounters(int change)
increase the segment counters by the passed number
const Perigee * perigeeParameters() const
return Perigee.
Ensure that the ATLAS eigen extensions are properly loaded.
ProcessingStage lastSegmentChange
void updateTrack(std::unique_ptr< Trk::Track > &newTrack)
update track.
@ NumberOfProcessingStages
segment candidate object.
static const std::string & processingStageString(ProcessingStage stage)
Convert enum to string.
bool containsChamber(MuonStationIndex::ChIndex chIndex) const
returns whether the ChamberIndex is already contained in candidate
Trk::Track & track() const
access to track
std::set< MuonStationIndex::ChIndex > m_chambers
void addChamber(MuonStationIndex::ChIndex chIndex)
add the chamber to the list of contained chambers.
ChIndex
enum to classify the different chamber layers in the muon spectrometer
std::vector< MuPatSegment * > m_segments
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 wil...
const std::vector< MuPatSegment * > & segments() const
access to segments
@ AmbiguityCreateCandidateFromSeeds
~MuPatTrack()
destructor, decrease the usedInFit counter of all MuPatSegment objects by one
bool trackProperties(const TrackProperties &property) const
Access methods for track properties.
const std::set< MuonStationIndex::StIndex > & stations() const
returns set with contained stationIndices
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
const std::vector< std::shared_ptr< const Trk::MeasurementBase > > & garbage() const