#include <TempTrajectory.h>
Public Types | |
typedef TrackingRecHit::ConstRecHitContainer | ConstRecHitContainer |
typedef cmsutils::bqueue< TrajectoryMeasurement > | DataContainer |
typedef ConstRecHitContainer | RecHitContainer |
Public Member Functions | |
int | cccBadHits () const |
float | chiSquared () const |
Value of the raw Chi2 of the trajectory, not normalised to the N.D.F. More... | |
PropagationDirection | direction () const |
float | dPhiCacheForLoopersReconstruction () const |
template<typename... Args> | |
void | emplace (Args &&...args) |
template<typename... Args> | |
void | emplace (double chi2Increment, Args &&...args) |
bool | empty () const |
True if trajectory has no measurements. More... | |
const TrajectoryMeasurement & | firstMeasurement () const |
int | foundHits () const |
int | foundPixelHits () const |
void | incrementLoops () |
void | invalidate () |
Method to invalidate a trajectory. Useful during ambiguity resolution. More... | |
bool | isLooper () const |
bool | isValid () const |
void | join (TempTrajectory &segment) |
const DetLayer * | lastLayer () const |
Redundant method, returns the layer of lastMeasurement() . More... | |
const TrajectoryMeasurement & | lastMeasurement () const |
int | lostHits () const |
const DataContainer & | measurements () const |
signed char | nLoops () const |
int | numberOfCCCBadHits (float ccc_threshold) |
TempTrajectory & | operator= (TempTrajectory const &rh)=default |
TempTrajectory & | operator= (TempTrajectory &&rh) |
void | pop () |
void | popInvalidTail () |
Pops out all the invalid hits on the tail. More... | |
void | push (const TrajectoryMeasurement &tm) |
void | push (TrajectoryMeasurement &&tm) |
void | push (TempTrajectory const &segment) |
void | push (const TrajectoryMeasurement &tm, double chi2Increment) |
void | push (TrajectoryMeasurement &&tm, double chi2Increment) |
unsigned int | seedNHits () const |
void | setDPhiCacheForLoopersReconstruction (float dphi) |
void | setNLoops (signed char value) |
void | setStopReason (StopReason s) |
StopReason | stopReason () const |
TempTrajectory () | |
TempTrajectory (PropagationDirection dir, unsigned char nhseed) | |
TempTrajectory (TempTrajectory const &rh)=default | |
TempTrajectory (TempTrajectory &&rh) | |
TempTrajectory (Trajectory &&traj) | |
construct TempTrajectory from standard Trajectory More... | |
Trajectory | toTrajectory () const |
Convert to a standard Trajectory. More... | |
int | trailingFoundHits () const |
~TempTrajectory () | |
destruct a TempTrajectory More... | |
Static Public Member Functions | |
static bool | inactive () |
static bool | lost (const TrackingRecHit &hit) |
Private Member Functions | |
bool | badForCCC (const TrajectoryMeasurement &tm) |
void | check () const |
void | pushAux (double chi2Increment) |
void | updateBadForCCC (float ccc_threshold) |
Private Attributes | |
StopReason | stopReason_ =StopReason::UNINITIALIZED |
float | theCCCThreshold_ =std::numeric_limits<float>::max() |
float | theChiSquared =0 |
DataContainer | theData |
signed char | theDirection =anyDirection |
float | theDPhiCache =0 |
unsigned char | theNHseed =0 |
signed char | theNLoops =0 |
signed short | theNumberOfCCCBadHits_ =0 |
signed short | theNumberOfFoundHits =0 |
signed short | theNumberOfFoundPixelHits =0 |
signed short | theNumberOfLostHits =0 |
signed short | theNumberOfTrailingFoundHits =0 |
bool | theValid =false |
A class for detailed particle trajectory representation. It is used during trajectory building to "grow" a trajectory. The trajectory is represented as an ordered sequence of TrajectoryMeasurement objects with a stack-like interface. The measurements are added to the Trajectory in the order of increasing precision: each new TrajectoryMeasurement is assumed to improve the precision of the last one, normally by adding a constraint from a new RecHit. However the Trajectory class does not have the means to verify that measurements are added in the correct order, and thus cannot guarantee the order, which is the responsibility of the TrajectoryBuilder. The Trajectory provides some security by allowing to add or remove measurements only on one of it's ends, with push(TM) and pop() methods. The last measurement in a Trajectory can thus be either the innermost (closest to the interaction point) or the outermost, depending on the way the Trajectory was built. The direction of building is represented as a PropagationDirection, which has two possible values: alongMomentum (outwards) and oppositeToMomentum (inwards), and is accessed with the direction() method.
Definition at line 41 of file TempTrajectory.h.
Definition at line 46 of file TempTrajectory.h.
Definition at line 45 of file TempTrajectory.h.
Definition at line 47 of file TempTrajectory.h.
|
inline |
Default constructor of an empty trajectory with undefined seed and undefined direction. This constructor is necessary in order to transiently copy vector<Trajectory> in the edm::Event
Definition at line 55 of file TempTrajectory.h.
Referenced by operator=(), and TempTrajectory().
|
inline |
Constructor of an empty trajectory with defined direction. No check is made in the push method that measurements are added in the correct direction.
Definition at line 63 of file TempTrajectory.h.
References operator=(), and TempTrajectory().
|
default |
|
inline |
Definition at line 75 of file TempTrajectory.h.
|
explicit |
construct TempTrajectory from standard Trajectory
Definition at line 23 of file TempTrajectory.cc.
References eostools::move(), and push().
|
inline |
|
private |
Definition of what it means for a hit to be "lost". This definition is also used by the TrajectoryBuilder.
Definition at line 135 of file TempTrajectory.cc.
References siStripClusterTools::chargePerCM(), trackerHitRTTI::isFromDet(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localParameters(), TrajectoryMeasurement::recHit(), theCCCThreshold_, and TrajectoryMeasurement::updatedState().
Referenced by pop(), pushAux(), setStopReason(), and updateBadForCCC().
|
inline |
Number of hits that are not compatible with the CCC used during patter recognition. Used mainly as a criteria for abandoning a trajectory candidate during trajectory building.
Definition at line 228 of file TempTrajectory.h.
References theNumberOfCCCBadHits_.
|
private |
Definition at line 117 of file TempTrajectory.cc.
References cmsutils::bqueue< T >::size(), and theData.
Referenced by firstMeasurement(), lastLayer(), and lastMeasurement().
|
inline |
Value of the raw Chi2 of the trajectory, not normalised to the N.D.F.
Definition at line 237 of file TempTrajectory.h.
References direction(), and theChiSquared.
Referenced by CkfTrajectoryBuilder::limitedCandidates().
PropagationDirection TempTrajectory::direction | ( | ) | const |
Direction of "growing" of the trajectory. Possible values are alongMomentum (outwards) and oppositeToMomentum (inwards).
Definition at line 113 of file TempTrajectory.cc.
References theDirection.
Referenced by GroupedCkfTrajectoryBuilder::backwardFit(), chiSquared(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), and GroupedCkfTrajectoryBuilder::rebuildSeedingRegion().
|
inline |
accessor to the delta phi angle betweem the directions of the two measurements on the last two layers crossed by the trajectory
Definition at line 274 of file TempTrajectory.h.
References theDPhiCache.
|
inline |
Definition at line 132 of file TempTrajectory.h.
References writedatasetfile::args, cmsutils::bqueue< T >::back(), cmsutils::bqueue< T >::emplace_back(), TrajectoryMeasurement::estimate(), join(), push(), pushAux(), and theData.
Referenced by BaseCkfTrajectoryBuilder::seedMeasurements(), TrajectorySegmentBuilder::updateTrajectory(), and CkfTrajectoryBuilder::updateTrajectory().
|
inline |
Definition at line 169 of file TempTrajectory.h.
References writedatasetfile::args, cmsutils::bqueue< T >::emplace_back(), pop(), pushAux(), and theData.
|
inline |
True if trajectory has no measurements.
Definition at line 234 of file TempTrajectory.h.
References cmsutils::bqueue< T >::empty(), and theData.
Referenced by TrajectorySegmentBuilder::addGroup(), BaseCkfTrajectoryBuilder::addToResult(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), CkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), and pop().
|
inline |
Access to the first measurement. It is the least precise one in a trajectory before smoothing. It is precise in a smoothed trajectory. It's the innermost measurement if direction() == alongMomentum, the outermost one if direction() == oppositeToMomentum.
Definition at line 194 of file TempTrajectory.h.
References check(), cmsutils::bqueue< T >::front(), and theData.
|
inline |
Number of valid RecHits used to determine the trajectory. Can be less than the number of measurements in data() since detector layers crossed without using RecHits from them are also stored as measurements.
Definition at line 208 of file TempTrajectory.h.
References theNumberOfFoundHits.
Referenced by BaseCkfTrajectoryBuilder::addToResult(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), GroupedCkfTrajectoryBuilder::backwardFit(), lessByFoundHits(), TrajectoryLessByFoundHits::operator()(), ThresholdPtTrajectoryFilter::qualityFilter(), MinPtTrajectoryFilter::qualityFilter(), ThresholdPtTrajectoryFilter::toBeContinued(), MinPtTrajectoryFilter::toBeContinued(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
inline |
Number of valid pixel RecHits used to determine the trajectory.
Definition at line 212 of file TempTrajectory.h.
References theNumberOfFoundPixelHits.
|
inlinestatic |
Definition of inactive Det from the Trajectory point of view.
Definition at line 256 of file TempTrajectory.h.
|
inline |
Definition at line 284 of file TempTrajectory.h.
References theNLoops.
Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer().
|
inline |
Method to invalidate a trajectory. Useful during ambiguity resolution.
Definition at line 251 of file TempTrajectory.h.
References theValid.
|
inline |
|
inline |
Returns true if the Trajectory is valid. Trajectories are invalidated e.g. during ambiguity resolution.
Definition at line 248 of file TempTrajectory.h.
References theValid.
Referenced by ntupleDataFormat._Object::_checkIsValid(), IntermediateTrajectoryCleaner::clean(), GroupedCkfTrajectoryBuilder::groupedIntermediaryClean(), ChargeSignificanceTrajectoryFilter::qualityFilter(), core.AutoHandle.AutoHandle::ReallyLoad(), and GroupedCkfTrajectoryBuilder::rebuildSeedingRegion().
void TempTrajectory::join | ( | TempTrajectory & | segment | ) |
Add a new sets of measurements to a Trajectory Exactly like push(TempTrajectory), but it doesn't copy the data (the input segment will be reset to an empty one)
Definition at line 93 of file TempTrajectory.cc.
References cmsutils::bqueue< T >::clear(), cmsutils::bqueue< T >::join(), push(), cmsutils::bqueue< T >::shared(), theCCCThreshold_, theChiSquared, theData, theDirection, theNumberOfCCCBadHits_, theNumberOfFoundHits, theNumberOfFoundPixelHits, theNumberOfLostHits, theNumberOfTrailingFoundHits, and updateBadForCCC().
Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer(), and emplace().
|
inline |
Redundant method, returns the layer of lastMeasurement() .
Definition at line 261 of file TempTrajectory.h.
References cmsutils::bqueue< T >::back(), check(), TrajectoryMeasurement::layer(), popInvalidTail(), theData, and toTrajectory().
Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), CkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), GroupedCkfTrajectoryBuilder::groupedLimitedCandidates(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
inline |
Access to the last measurement. It's the most precise one in a trajectory before smoothing. It's the outermost measurement if direction() == alongMomentum, the innermost one if direction() == oppositeToMomentum.
Definition at line 184 of file TempTrajectory.h.
References cmsutils::bqueue< T >::back(), check(), and theData.
Referenced by BaseCkfTrajectoryBuilder::addToResult(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), ThresholdPtTrajectoryFilter::qualityFilter(), MinPtTrajectoryFilter::qualityFilter(), TrajectorySegmentBuilder::redoMeasurements(), ThresholdPtTrajectoryFilter::toBeContinued(), MinPtTrajectoryFilter::toBeContinued(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
static |
Definition at line 122 of file TempTrajectory.cc.
References TrackingRecHit::geographicalId(), TrackingRecHit::getType(), TrackingRecHit::isValid(), LIKELY, TrackingRecHit::missing, and DetId::rawId().
Referenced by pop(), pushAux(), and setStopReason().
|
inline |
Number of detector layers crossed without valid RecHits. Used mainly as a criteria for abandoning a trajectory candidate during trajectory building.
Definition at line 218 of file TempTrajectory.h.
References theNumberOfLostHits.
Referenced by BaseCkfTrajectoryBuilder::addToResult(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), CkfTrajectoryBuilder::limitedCandidates(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
inline |
Return all measurements in a container.
Definition at line 200 of file TempTrajectory.h.
References theData.
Referenced by TrajectorySegmentBuilder::addGroup(), BaseCkfTrajectoryBuilder::addToResult(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), GroupedCkfTrajectoryBuilder::backwardFit(), FastTrajectoryCleaner::clean(), pushAux(), ClusterShapeTrajectoryFilter::qualityFilter(), StripSubClusterShapeTrajectoryFilter::qualityFilter(), GroupedCkfTrajectoryBuilder::rebuildSeedingRegion(), ClusterShapeTrajectoryFilter::toBeContinued(), StripSubClusterShapeTrajectoryFilter::toBeContinued(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
inline |
Definition at line 281 of file TempTrajectory.h.
References theNLoops.
Referenced by GroupedCkfTrajectoryBuilder::backwardFit().
int TempTrajectory::numberOfCCCBadHits | ( | float | ccc_threshold | ) |
Definition at line 164 of file TempTrajectory.cc.
References theNumberOfCCCBadHits_, and updateBadForCCC().
Referenced by setStopReason().
|
default |
Referenced by TempTrajectory().
|
inline |
Definition at line 91 of file TempTrajectory.h.
References stopReason_, edm::swap(), std::swap(), TempTrajectory(), theCCCThreshold_, theChiSquared, theData, theDirection, theDPhiCache, theNHseed, theNLoops, theNumberOfCCCBadHits_, theNumberOfFoundHits, theNumberOfFoundPixelHits, theNumberOfLostHits, theNumberOfTrailingFoundHits, and theValid.
void TempTrajectory::pop | ( | ) |
Remove the last measurement from the trajectory.
Definition at line 44 of file TempTrajectory.cc.
References cmsutils::bqueue< T >::back(), badForCCC(), empty(), lost(), Trajectory::pixel(), cmsutils::bqueue< T >::pop_back(), TrajectoryMeasurement::recHit(), theData, theNumberOfCCCBadHits_, theNumberOfFoundHits, theNumberOfFoundPixelHits, theNumberOfLostHits, and theNumberOfTrailingFoundHits.
Referenced by BaseCkfTrajectoryBuilder::addToResult(), and emplace().
void TempTrajectory::popInvalidTail | ( | ) |
Pops out all the invalid hits on the tail.
Referenced by lastLayer().
|
inline |
Add a new measurement to a Trajectory. The Chi2 of the trajectory is incremented by the value of tm.estimate() .
Definition at line 123 of file TempTrajectory.h.
References TrajectoryMeasurement::estimate().
Referenced by emplace(), join(), push(), pushAux(), GroupedCkfTrajectoryBuilder::rebuildSeedingRegion(), and TempTrajectory().
|
inline |
void TempTrajectory::push | ( | TempTrajectory const & | segment | ) |
Add a new sets of measurements to a Trajectory The sorting of hits in the other trajectory must match the one inside this trajectory (that is, both along or both opposite to momentum) (the input segment will be reset to an empty one)
|
inline |
same as the one-argument push, but the trajectory Chi2 is incremented by chi2Increment. Useful e.g. in trajectory smoothing.
Definition at line 157 of file TempTrajectory.h.
References cmsutils::bqueue< T >::push_back(), pushAux(), and theData.
|
inline |
Definition at line 162 of file TempTrajectory.h.
References eostools::move(), cmsutils::bqueue< T >::push_back(), pushAux(), and theData.
|
private |
Definition at line 59 of file TempTrajectory.cc.
References cmsutils::bqueue< T >::back(), badForCCC(), mps_fire::i, lost(), measurements(), N, Trajectory::pixel(), push(), cmsutils::bqueue< T >::push_back(), TrajectoryMeasurement::recHit(), cmsutils::bqueue< T >::size(), theCCCThreshold_, theChiSquared, theData, theDirection, theNumberOfCCCBadHits_, theNumberOfFoundHits, theNumberOfFoundPixelHits, theNumberOfLostHits, theNumberOfTrailingFoundHits, and tmp.
Referenced by emplace(), push(), and setStopReason().
|
inline |
|
inline |
method to set the delta phi angle betweem the directions of the two measurements on the last two layers crossed by the trajectory
Definition at line 278 of file TempTrajectory.h.
References theDPhiCache.
Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer().
|
inline |
Definition at line 283 of file TempTrajectory.h.
References theNLoops, and relativeConstraints::value.
Referenced by GroupedCkfTrajectoryBuilder::rebuildSeedingRegion().
|
inline |
Definition at line 287 of file TempTrajectory.h.
References badForCCC(), dso_internal, lost(), numberOfCCCBadHits(), pushAux(), alignCSCRings::s, stopReason_, and updateBadForCCC().
Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer(), and MinPtTrajectoryFilter::toBeContinued().
|
inline |
Trajectory TempTrajectory::toTrajectory | ( | ) | const |
Convert to a standard Trajectory.
Definition at line 169 of file TempTrajectory.cc.
References mps_fire::i, Trajectory::numberOfCCCBadHits(), AlCaHLTBitMon_ParallelJobs::p, Trajectory::push(), cmsutils::bqueue< T >::rbegin(), cmsutils::bqueue< T >::rend(), Trajectory::reserve(), Trajectory::setNLoops(), Trajectory::setStopReason(), cmsutils::bqueue< T >::size(), stopReason_, theCCCThreshold_, theData, theDirection, theNLoops, and tmp.
Referenced by BaseCkfTrajectoryBuilder::addToResult(), CkfDebugTrajectoryBuilder::analyzeMeasurementsDebugger(), and lastLayer().
|
inline |
Number of valid RecHits at the end of the trajectory after last lost hit.
Definition at line 222 of file TempTrajectory.h.
References theNumberOfTrailingFoundHits.
|
private |
Definition at line 149 of file TempTrajectory.cc.
References badForCCC(), h, theCCCThreshold_, theData, and theNumberOfCCCBadHits_.
Referenced by join(), numberOfCCCBadHits(), and setStopReason().
|
private |
Definition at line 325 of file TempTrajectory.h.
Referenced by operator=(), setStopReason(), stopReason(), and toTrajectory().
|
private |
Definition at line 324 of file TempTrajectory.h.
Referenced by badForCCC(), join(), operator=(), pushAux(), toTrajectory(), and updateBadForCCC().
|
private |
Definition at line 308 of file TempTrajectory.h.
Referenced by chiSquared(), join(), operator=(), and pushAux().
|
private |
Definition at line 306 of file TempTrajectory.h.
Referenced by check(), emplace(), empty(), firstMeasurement(), join(), lastLayer(), lastMeasurement(), measurements(), operator=(), pop(), push(), pushAux(), toTrajectory(), and updateBadForCCC().
|
private |
Definition at line 317 of file TempTrajectory.h.
Referenced by direction(), join(), operator=(), pushAux(), and toTrajectory().
|
private |
Definition at line 323 of file TempTrajectory.h.
Referenced by dPhiCacheForLoopersReconstruction(), operator=(), and setDPhiCacheForLoopersReconstruction().
|
private |
Definition at line 320 of file TempTrajectory.h.
Referenced by operator=(), and seedNHits().
|
private |
Definition at line 322 of file TempTrajectory.h.
Referenced by incrementLoops(), isLooper(), nLoops(), operator=(), setNLoops(), and toTrajectory().
|
private |
Definition at line 314 of file TempTrajectory.h.
Referenced by cccBadHits(), join(), numberOfCCCBadHits(), operator=(), pop(), pushAux(), and updateBadForCCC().
|
private |
Definition at line 310 of file TempTrajectory.h.
Referenced by foundHits(), join(), operator=(), pop(), and pushAux().
|
private |
Definition at line 311 of file TempTrajectory.h.
Referenced by foundPixelHits(), join(), operator=(), pop(), and pushAux().
|
private |
Definition at line 312 of file TempTrajectory.h.
Referenced by join(), lostHits(), operator=(), pop(), and pushAux().
|
private |
Definition at line 313 of file TempTrajectory.h.
Referenced by join(), operator=(), pop(), pushAux(), and trailingFoundHits().
|
private |
Definition at line 318 of file TempTrajectory.h.
Referenced by invalidate(), isValid(), and operator=().