#include <GroupedCkfTrajectoryBuilder.h>
Public Member Functions | |
void | buildTrajectories (const TrajectorySeed &seed, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const override |
common part of both public trajectory building methods More... | |
double | chiSquareCut () |
const Chi2MeasurementEstimatorBase & | estimator () const |
GroupedCkfTrajectoryBuilder (const edm::ParameterSet &conf, edm::ConsumesCollector &iC) | |
constructor from ParameterSet More... | |
float | lostHitPenalty () |
double | mass () |
Mass hypothesis used for propagation. More... | |
int | maxCand () |
double | ptCut () |
Pt cut. More... | |
void | rebuildSeedingRegion (const TrajectorySeed &, TrajectoryContainer &result) const override |
void | rebuildTrajectories (const TrajectorySeed &, TrajectoryContainer &result) const override |
TrajectoryContainer | trajectories (const TrajectorySeed &) const override |
set Event for the internal MeasurementTracker data member More... | |
void | trajectories (const TrajectorySeed &, TrajectoryContainer &ret) const override |
trajectories building starting from a seed, return in an already allocated vector More... | |
TrajectoryContainer | trajectories (const TrajectorySeed &, const TrackingRegion &) const |
trajectories building starting from a seed with a region More... | |
void | trajectories (const TrajectorySeed &, TrajectoryContainer &ret, const TrackingRegion &) const |
trajectories building starting from a seed with a region More... | |
const TrajectoryStateUpdator & | updator () const |
~GroupedCkfTrajectoryBuilder () override | |
destructor More... | |
Public Member Functions inherited from BaseCkfTrajectoryBuilder | |
BaseCkfTrajectoryBuilder (const edm::ParameterSet &conf, edm::ConsumesCollector iC, std::unique_ptr< TrajectoryFilter > filter, std::unique_ptr< TrajectoryFilter > inOutFilter=nullptr) | |
BaseCkfTrajectoryBuilder (const BaseCkfTrajectoryBuilder &)=delete | |
const TransientTrackingRecHitBuilder * | hitBuilder () const |
BaseCkfTrajectoryBuilder & | operator= (const BaseCkfTrajectoryBuilder &)=delete |
virtual void | setDebugger (CkfDebugger *dbg) const |
void | setEvent (const edm::Event &event) const override |
void | setEvent (const edm::Event &iEvent, const edm::EventSetup &iSetup, const MeasurementTrackerEvent *data) |
void | setNavigationSchool (NavigationSchool const *nv) |
void | unset () const override |
~BaseCkfTrajectoryBuilder () override | |
Public Member Functions inherited from TrajectoryBuilder | |
virtual | ~TrajectoryBuilder () |
Static Public Member Functions | |
static void | fillPSetDescription (edm::ParameterSetDescription &iDesc) |
Static Public Member Functions inherited from BaseCkfTrajectoryBuilder | |
static void | fillPSetDescription (edm::ParameterSetDescription &iDesc) |
Private Types | |
enum | work_MaxSize_Size_ { work_MaxSize_ = 50 } |
Private Member Functions | |
bool | advanceOneLayer (const TrajectorySeed &seed, TempTrajectory &traj, const TrajectoryFilter *regionalCondition, const Propagator *propagator, bool inOut, TempTrajectoryContainer &newCand, TempTrajectoryContainer &result) const |
TempTrajectory | backwardFit (TempTrajectory &candidate, unsigned int nSeed, const TrajectoryFitter &fitter, std::vector< const TrackingRecHit *> &remainingHits) const |
void | groupedIntermediaryClean (TempTrajectoryContainer &theTrajectories) const |
intermediate cleaning in the case of grouped measurements More... | |
unsigned int | groupedLimitedCandidates (const TrajectorySeed &seed, TempTrajectory const &startingTraj, const TrajectoryFilter *regionalCondition, const Propagator *propagator, bool inOut, TempTrajectoryContainer &result) const |
void | rebuildSeedingRegion (const TrajectorySeed &seed, TempTrajectoryContainer &result) const |
try to find additional hits in seeding region More... | |
int | rebuildSeedingRegion (const TrajectorySeed &seed, const std::vector< const TrackingRecHit *> &seedHits, TempTrajectory &candidate, TempTrajectoryContainer &result) const |
bool | tkxor (bool a, bool b) const |
bool | verifyHits (TempTrajectory::DataContainer::const_iterator rbegin, size_t maxDepth, const std::vector< const TrackingRecHit *> &hits) const |
Verifies presence of a RecHits in a range of TrajectoryMeasurements. More... | |
Static Private Member Functions | |
static PropagationDirection | oppositeDirection (PropagationDirection dir) |
change of propagation direction More... | |
Private Attributes | |
float | maxDPhiForLooperReconstruction |
float | maxPt2ForLooperReconstruction |
bool | theAlwaysUseInvalid |
bool | theBestHitOnly |
double | theChiSquareCut |
TrajectoryFilter * | theConfigurableCondition |
float | theFoundHitBonus |
bool | theIntermediateCleaning |
bool | theKeepOriginalIfRebuildFails |
bool | theLockHits |
float | theLostHitPenalty |
double | theMass |
int | theMaxCand |
unsigned int | theMinNrOf2dHitsForRebuild |
unsigned int | theMinNrOfHitsForRebuild |
double | theptCut |
bool | theRequireSeedHitsInRebuild |
A highly configurable trajectory builder that allows full exploration of the combinatorial tree of possible continuations, and provides efficient ways of trimming the combinatorial tree.
Definition at line 22 of file GroupedCkfTrajectoryBuilder.h.
|
private |
GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder | ( | const edm::ParameterSet & | conf, |
edm::ConsumesCollector & | iC | ||
) |
constructor from ParameterSet
Definition at line 114 of file GroupedCkfTrajectoryBuilder.cc.
References edm::ParameterSet::getParameter(), SiStripPI::max, maxDPhiForLooperReconstruction, maxPt2ForLooperReconstruction, theAlwaysUseInvalid, theBestHitOnly, theFoundHitBonus, theIntermediateCleaning, theKeepOriginalIfRebuildFails, theLockHits, theLostHitPenalty, theMaxCand, theMinNrOf2dHitsForRebuild, theMinNrOfHitsForRebuild, and theRequireSeedHitsInRebuild.
|
inlineoverride |
|
private |
Definition at line 456 of file GroupedCkfTrajectoryBuilder.cc.
References funct::abs(), BaseCkfTrajectoryBuilder::addToResult(), PV3DBase< T, PVType, FrameType >::basicVector(), gather_cfg::cout, TempTrajectory::empty(), PV3DBase< T, PVType, FrameType >::eta(), TransverseImpactPointExtrapolator::extrapolate(), f, BaseCkfTrajectoryBuilder::findStateAndLayers(), BaseCkfTrajectoryBuilder::forwardPropagator(), TempTrajectory::foundHits(), full, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), TempTrajectory::incrementLoops(), createfilelist::int, TrajectoryStateOnSurface::isValid(), TempTrajectory::join(), TempTrajectory::lastLayer(), TempTrajectory::lastMeasurement(), DetLayer::location(), LogDebug, TempTrajectory::lostHits(), maxDPhiForLooperReconstruction, maxPt2ForLooperReconstruction, TempTrajectory::measurements(), TrackingRecHit::missing, eostools::move(), BaseCkfTrajectoryBuilder::moveToResult(), NO_SEGMENTS_FOR_VALID_LAYERS, NOT_STOPPED, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), TrackCandidateProducer_cfi::propagator, HLT_2024v14_cff::pt2, cmsutils::bqueue< T >::rbegin(), cmsutils::bqueue< T >::rend(), mps_fire::result, fileCollector::seed, TempTrajectory::setDPhiCacheForLoopersReconstruction(), TempTrajectory::setStopReason(), BarrelDetLayer::specificSurface(), filterCSVwithJSON::target, theAlwaysUseInvalid, theBestHitOnly, BaseCkfTrajectoryBuilder::theEstimator, theFoundHitBonus, theLockHits, theLostHitPenalty, theMaxCand, BaseCkfTrajectoryBuilder::theMeasurementTracker, BaseCkfTrajectoryBuilder::theUpdator, BaseCkfTrajectoryBuilder::toBeContinued(), TrajectoryStateOnSurface::transverseCurvature(), UNLIKELY, TrajectoryMeasurement::updatedState(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by groupedLimitedCandidates().
|
inlineprotectedvirtual |
Definition at line 92 of file GroupedCkfTrajectoryBuilder.h.
|
inlineprotectedvirtual |
Definition at line 93 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories().
|
inlineprotectedvirtual |
Definition at line 90 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories().
|
private |
Definition at line 1009 of file GroupedCkfTrajectoryBuilder.cc.
References TempTrajectory::direction(), Trajectory::direction(), PrintoutHelper::dumpMeasurement(), PrintoutHelper::dumpMeasurements(), Trajectory::firstMeasurement(), TrajectoryFitter::fitOne(), TempTrajectory::foundHits(), Trajectory::isValid(), LIKELY, LogDebug, SiStripPI::max, Trajectory::measurements(), TempTrajectory::measurements(), ALCARECOTkAlBeamHalo_cff::nHitMin, TempTrajectory::nLoops(), Trajectory::nLoops(), oppositeDirection(), Trajectory::push(), Trajectory::recHits(), TrajectoryStateOnSurface::rescaleError(), TempTrajectory::setNLoops(), Trajectory::setNLoops(), cmsutils::bqueue< T >::size(), theMinNrOfHitsForRebuild, UNLIKELY, and TrajectoryMeasurement::updatedState().
Referenced by rebuildSeedingRegion().
|
overridevirtual |
common part of both public trajectory building methods
Reimplemented from BaseCkfTrajectoryBuilder.
Definition at line 259 of file GroupedCkfTrajectoryBuilder.cc.
References analyseResult(), analyseSeed(), DummyCfis::c, FastTrajectoryCleaner::clean(), runTheMatrix::const, gather_cfg::cout, BaseCkfTrajectoryBuilder::createStartingTrajectory(), Exception, BaseCkfTrajectoryBuilder::forwardPropagator(), groupedLimitedCandidates(), trackerHitRTTI::isFromDet(), trackerHitRTTI::isUndef(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LogDebug, mps_fire::result, fileCollector::seed, theFoundHitBonus, theLostHitPenalty, BaseCkfTrajectoryBuilder::theMeasurementTracker, and work_MaxSize_.
Referenced by trajectories().
|
inline |
Chi**2 Cut on the new Trajectory Measurements to consider
Definition at line 70 of file GroupedCkfTrajectoryBuilder.h.
|
inline |
Definition at line 65 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theEstimator.
Referenced by rebuildSeedingRegion().
|
static |
Definition at line 153 of file GroupedCkfTrajectoryBuilder.cc.
References edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addNode(), and BaseCkfTrajectoryBuilder::fillPSetDescription().
|
private |
intermediate cleaning in the case of grouped measurements
im1->recHit()->hit()->sharesInput(im2->recHit()->hit(), TrackingRecHit::all) ) {
im1->recHit()->hit()->sharesInput(im2->recHit()->hit(), TrackingRecHit::all) ) {
Definition at line 715 of file GroupedCkfTrajectoryBuilder.cc.
References ntuplemaker::fill, align_cfg::firstValid, TempTrajectory::isValid(), hgcalTBTopologyTester_cfi::layers, cmsutils::bqueue< T >::rbegin(), cmsutils::bqueue< T >::rend(), TrackingRecHit::some, submitPVValidationJobs::t, and tkxor().
Referenced by groupedLimitedCandidates().
|
private |
Definition at line 342 of file GroupedCkfTrajectoryBuilder.cc.
References advanceOneLayer(), cms::cuda::assert(), HLT_2024v14_cff::candidates, IntermediateTrajectoryCleaner::clean(), PrintoutHelper::dumpCandidates(), groupedIntermediaryClean(), LogDebug, TrackCandidateProducer_cfi::propagator, mps_fire::result, fileCollector::seed, theIntermediateCleaning, and theMaxCand.
Referenced by buildTrajectories(), and rebuildSeedingRegion().
|
inline |
Chi**2 Penalty for each lost hit.
Definition at line 76 of file GroupedCkfTrajectoryBuilder.h.
|
inline |
Mass hypothesis used for propagation.
Definition at line 85 of file GroupedCkfTrajectoryBuilder.h.
Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), and datamodel.Object::p4().
|
inline |
Maximum number of trajectory candidates to propagate to the next layer.
Definition at line 73 of file GroupedCkfTrajectoryBuilder.h.
|
inlinestaticprivate |
change of propagation direction
Definition at line 146 of file GroupedCkfTrajectoryBuilder.h.
References alongMomentum, DeadROC_duringRun::dir, and oppositeToMomentum.
Referenced by backwardFit().
|
inline |
Pt cut.
Tells whether an intermediary cleaning stage should take place during TB.
Definition at line 82 of file GroupedCkfTrajectoryBuilder.h.
|
overridevirtual |
trajectories re-building in the seeding region. It looks for additional measurements in the seeding region of the intial trajectories. Only valid trajectories are returned. Invalid ones are dropped from the input collection.
Reimplemented from TrajectoryBuilder.
Definition at line 221 of file GroupedCkfTrajectoryBuilder.cc.
References rebuildTrajectories(), mps_fire::result, and fileCollector::seed.
Referenced by rebuildSeedingRegion(), and rebuildTrajectories().
|
private |
try to find additional hits in seeding region
Definition at line 843 of file GroupedCkfTrajectoryBuilder.cc.
References cms::cuda::assert(), backwardFit(), BaseCkfTrajectoryBuilder::backwardPropagator(), runTheMatrix::const, estimator(), BaseCkfTrajectoryBuilder::hitBuilder(), mps_fire::i, TempTrajectory::isValid(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LogDebug, eostools::move(), rebuildSeedingRegion(), mps_fire::result, fileCollector::seed, theKeepOriginalIfRebuildFails, UNLIKELY, and updator().
|
private |
Definition at line 902 of file GroupedCkfTrajectoryBuilder.cc.
References BaseCkfTrajectoryBuilder::backwardPropagator(), gather_cfg::cout, TempTrajectory::direction(), PrintoutHelper::dumpCandidates(), PrintoutHelper::dumpMeasurements(), groupedLimitedCandidates(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LogDebug, TempTrajectory::measurements(), TempTrajectory::push(), mps_fire::result, fileCollector::seed, TempTrajectory::setNLoops(), cmsutils::bqueue< T >::size(), theRequireSeedHitsInRebuild, and verifyHits().
|
overridevirtual |
Reimplemented from BaseCkfTrajectoryBuilder.
Definition at line 225 of file GroupedCkfTrajectoryBuilder.cc.
References FastTrajectoryCleaner::clean(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, eostools::move(), rebuildSeedingRegion(), mps_fire::result, fileCollector::seed, theFoundHitBonus, theLostHitPenalty, and edmMakeDummyCfis::work.
Referenced by rebuildSeedingRegion().
|
overrideprotectedvirtual |
Implements BaseCkfTrajectoryBuilder.
Definition at line 186 of file GroupedCkfTrajectoryBuilder.cc.
|
inlineprivate |
Definition at line 102 of file GroupedCkfTrajectoryBuilder.h.
Referenced by groupedIntermediaryClean().
|
overridevirtual |
set Event for the internal MeasurementTracker data member
trajectories building starting from a seed
Implements TrajectoryBuilder.
Definition at line 188 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), runTheMatrix::ret, fileCollector::seed, and createJobs::tmp.
|
overridevirtual |
trajectories building starting from a seed, return in an already allocated vector
Reimplemented from TrajectoryBuilder.
Definition at line 207 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), runTheMatrix::ret, fileCollector::seed, and createJobs::tmp.
GroupedCkfTrajectoryBuilder::TrajectoryContainer GroupedCkfTrajectoryBuilder::trajectories | ( | const TrajectorySeed & | seed, |
const TrackingRegion & | region | ||
) | const |
trajectories building starting from a seed with a region
Definition at line 197 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), nano_mu_digi_cff::region, runTheMatrix::ret, fileCollector::seed, and createJobs::tmp.
void GroupedCkfTrajectoryBuilder::trajectories | ( | const TrajectorySeed & | seed, |
GroupedCkfTrajectoryBuilder::TrajectoryContainer & | ret, | ||
const TrackingRegion & | region | ||
) | const |
trajectories building starting from a seed with a region
Definition at line 213 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), nano_mu_digi_cff::region, runTheMatrix::ret, fileCollector::seed, and createJobs::tmp.
|
inline |
Definition at line 64 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theUpdator.
Referenced by rebuildSeedingRegion().
|
private |
Verifies presence of a RecHits in a range of TrajectoryMeasurements.
Definition at line 1130 of file GroupedCkfTrajectoryBuilder.cc.
References hfClusterShapes_cfi::hits, LogDebug, HLT_2024v14_cff::maxDepth, and TrackingRecHit::some.
Referenced by rebuildSeedingRegion().
|
private |
Definition at line 193 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
If the value is greater than zero, the reconstructions for looper is turned on for candidates with pt greater than maxPtForLooperReconstruction
Definition at line 191 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Definition at line 174 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Use only best hit / group when building segments
Definition at line 177 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Chi**2 Cut on the new Trajectory Measurements to consider
Definition at line 160 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Definition at line 155 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Chi**2 bonus for each found hit (favours candidates with more measurements)
Definition at line 169 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), buildTrajectories(), GroupedCkfTrajectoryBuilder(), and rebuildTrajectories().
|
private |
Tells whether an intermediary cleaning stage should take place during TB.
Definition at line 171 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and groupedLimitedCandidates().
|
private |
Keep original trajectory if rebuilding fails.
Definition at line 186 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and rebuildSeedingRegion().
|
private |
Lock hits when building segments in a layer
Definition at line 176 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Chi**2 Penalty for each lost hit.
Definition at line 168 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), buildTrajectories(), GroupedCkfTrajectoryBuilder(), and rebuildTrajectories().
|
private |
Mass hypothesis used for propagation
Definition at line 164 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Maximum number of trajectory candidates to propagate to the next layer.
Definition at line 166 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), GroupedCkfTrajectoryBuilder(), and groupedLimitedCandidates().
|
private |
Minimum nr. of non-seed 2D hits required for rebuild.
Definition at line 184 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
|
private |
Minimum nr. of non-seed hits required for rebuild. If ==0 the seeding part will remain untouched.
Definition at line 181 of file GroupedCkfTrajectoryBuilder.h.
Referenced by backwardFit(), and GroupedCkfTrajectoryBuilder().
|
private |
ptCut
Definition at line 162 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Only accept rebuilt trajectories if they contain the seed hits.
Definition at line 179 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and rebuildSeedingRegion().