#include <GroupedCkfTrajectoryBuilder.h>
Public Member Functions | |
double | chiSquareCut () |
const Chi2MeasurementEstimatorBase & | estimator () const |
GroupedCkfTrajectoryBuilder (const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *RecHitBuilder, const MeasurementTracker *measurementTracker, const TrajectoryFilter *filter, const TrajectoryFilter *inOutFilter) | |
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 |
TrajectoryContainer | trajectories (const TrajectorySeed &) const |
set Event for the internal MeasurementTracker data member More... | |
void | trajectories (const TrajectorySeed &, TrajectoryContainer &ret) const |
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 |
virtual | ~GroupedCkfTrajectoryBuilder () |
destructor More... | |
Public Member Functions inherited from BaseCkfTrajectoryBuilder | |
BaseCkfTrajectoryBuilder (const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *RecHitBuilder, const MeasurementTracker *measurementTracker, const TrajectoryFilter *filter, const TrajectoryFilter *inOutFilter=0) | |
virtual void | setDebugger (CkfDebugger *dbg) const |
virtual void | setEvent (const edm::Event &event) const |
virtual void | unset () const |
virtual | ~BaseCkfTrajectoryBuilder () |
Public Member Functions inherited from TrajectoryBuilder | |
virtual | ~TrajectoryBuilder () |
Private Types | |
enum | work_MaxSize_Size_ { work_MaxSize_ = 50 } |
Private Member Functions | |
bool | advanceOneLayer (TempTrajectory &traj, const TrajectoryFilter *regionalCondition, const Propagator *propagator, bool inOut, TempTrajectoryContainer &newCand, TempTrajectoryContainer &result) const |
void | backwardFit (TempTrajectory &candidate, unsigned int nSeed, const TrajectoryFitter &fitter, TempTrajectoryContainer &fittedTracks, std::vector< const TrackingRecHit * > &remainingHits) const |
void | buildTrajectories (const TrajectorySeed &, TrajectoryContainer &ret, const TrajectoryFilter *) const |
common part of both public trajectory building methods More... | |
GroupedCkfTrajectoryBuilder (const GroupedCkfTrajectoryBuilder &) | |
no copy constructor More... | |
void | groupedIntermediaryClean (TempTrajectoryContainer &theTrajectories) const |
intermediate cleaning in the case of grouped measurements More... | |
void | groupedLimitedCandidates (TempTrajectory &startingTraj, const TrajectoryFilter *regionalCondition, const Propagator *propagator, bool inOut, TempTrajectoryContainer &result) const |
void | layers (const TempTrajectory::DataContainer &measurements, std::vector< const DetLayer * > &fillme) const |
GroupedCkfTrajectoryBuilder & | operator= (const GroupedCkfTrajectoryBuilder &) |
no assignment operator More... | |
PropagationDirection | oppositeDirection (PropagationDirection dir) const |
change of propagation direction More... | |
void | rebuildSeedingRegion (TempTrajectory &startingTraj, TempTrajectoryContainer &result) const |
try to find additional hits in seeding region More... | |
int | rebuildSeedingRegion (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... | |
Private Attributes | |
bool | theAlwaysUseInvalid |
bool | theBestHitOnly |
double | theChiSquareCut |
TrajectoryFilter * | theConfigurableCondition |
float | theFoundHitBonus |
bool | theIntermediateCleaning |
bool | theLockHits |
float | theLostHitPenalty |
double | theMass |
int | theMaxCand |
unsigned int | theMinNrOf2dHitsForRebuild |
unsigned int | theMinNrOfHitsForRebuild |
double | theptCut |
bool | theRequireSeedHitsInRebuild |
TempTrajectoryContainer | work_ |
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 23 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Enumerator | |
---|---|
work_MaxSize_ |
Definition at line 199 of file GroupedCkfTrajectoryBuilder.h.
GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder | ( | const edm::ParameterSet & | conf, |
const TrajectoryStateUpdator * | updator, | ||
const Propagator * | propagatorAlong, | ||
const Propagator * | propagatorOpposite, | ||
const Chi2MeasurementEstimatorBase * | estimator, | ||
const TransientTrackingRecHitBuilder * | RecHitBuilder, | ||
const MeasurementTracker * | measurementTracker, | ||
const TrajectoryFilter * | filter, | ||
const TrajectoryFilter * | inOutFilter | ||
) |
constructor from ParameterSet
Definition at line 61 of file GroupedCkfTrajectoryBuilder.cc.
References edm::ParameterSet::getParameter(), max(), theAlwaysUseInvalid, theBestHitOnly, theFoundHitBonus, theIntermediateCleaning, theLockHits, theLostHitPenalty, theMaxCand, theMinNrOf2dHitsForRebuild, theMinNrOfHitsForRebuild, and theRequireSeedHitsInRebuild.
|
inlinevirtual |
|
private |
no copy constructor
|
private |
Definition at line 338 of file GroupedCkfTrajectoryBuilder.cc.
References BaseCkfTrajectoryBuilder::addToResult(), TransverseImpactPointExtrapolator::extrapolate(), BaseCkfTrajectoryBuilder::findStateAndLayers(), TempTrajectory::foundHits(), cmsutils::bqueue< T >::front(), TrajectoryStateOnSurface::isValid(), TempTrajectory::lastLayer(), LogDebug, TrackingRecHit::missing, TempTrajectory::push(), TrajectoryMeasurement::recHit(), TrajectorySegmentBuilder::segments(), cmsutils::bqueue< T >::size(), theAlwaysUseInvalid, theBestHitOnly, BaseCkfTrajectoryBuilder::theEstimator, BaseCkfTrajectoryBuilder::theForwardPropagator, BaseCkfTrajectoryBuilder::theLayerMeasurements, theLockHits, BaseCkfTrajectoryBuilder::theMeasurementTracker, BaseCkfTrajectoryBuilder::theUpdator, BaseCkfTrajectoryBuilder::toBeContinued(), whatIsTheNextStep(), and whatIsTheStateToUse().
Referenced by groupedLimitedCandidates().
|
inlineprotectedvirtual |
Definition at line 93 of file GroupedCkfTrajectoryBuilder.h.
|
inlineprotectedvirtual |
Definition at line 95 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories().
|
inlineprotectedvirtual |
Definition at line 91 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories().
|
private |
Definition at line 753 of file GroupedCkfTrajectoryBuilder.cc.
References Trajectory::direction(), TempTrajectory::direction(), PrintoutHelper::dumpMeasurement(), PrintoutHelper::dumpMeasurements(), Trajectory::firstMeasurement(), TrajectoryFitter::fit(), TempTrajectory::foundHits(), TrackingRecHit::isValid(), LogDebug, max(), TempTrajectory::measurements(), oppositeDirection(), Trajectory::push(), Trajectory::recHits(), TrajectoryStateOnSurface::rescaleError(), Trajectory::seed(), TempTrajectory::seed(), cmsutils::bqueue< T >::size(), theMinNrOfHitsForRebuild, and TrajectoryMeasurement::updatedState().
Referenced by rebuildSeedingRegion().
|
private |
common part of both public trajectory building methods
Definition at line 172 of file GroupedCkfTrajectoryBuilder.cc.
References analyseResult(), analyseSeed(), BaseCkfTrajectoryBuilder::createStartingTrajectory(), groupedLimitedCandidates(), LogDebug, BaseCkfTrajectoryBuilder::theForwardPropagator, work_, and work_MaxSize_.
Referenced by trajectories().
|
inline |
Chi**2 Cut on the new Trajectory Measurements to consider
Definition at line 71 of file GroupedCkfTrajectoryBuilder.h.
References theChiSquareCut.
|
inline |
Definition at line 66 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theEstimator.
Referenced by rebuildSeedingRegion().
|
private |
intermediate cleaning in the case of grouped measurements
recHitEqualByChannels(im1->recHit(),im2->recHit()) ) {
recHitEqualByChannels(im1->recHit(),im2->recHit()) ) {
Definition at line 434 of file GroupedCkfTrajectoryBuilder.cc.
References ecalTPGAnalyzer_cfg::firstValid, TempTrajectory::isValid(), layers(), cmsutils::bqueue< T >::rbegin(), cmsutils::bqueue< T >::rend(), TrackingRecHit::some, and tkxor().
Referenced by groupedLimitedCandidates().
|
private |
Definition at line 220 of file GroupedCkfTrajectoryBuilder.cc.
References advanceOneLayer(), IntermediateTrajectoryCleaner::clean(), PrintoutHelper::dumpCandidates(), groupedIntermediaryClean(), LogDebug, python.multivaluedict::sort(), theFoundHitBonus, theIntermediateCleaning, theLostHitPenalty, and theMaxCand.
Referenced by buildTrajectories(), and rebuildSeedingRegion().
|
private |
fills in a list of layers from a container of TrajectoryMeasurements the "fillme" vector is cleared beforehand.
Definition at line 549 of file GroupedCkfTrajectoryBuilder.cc.
References cmsutils::bqueue< T >::back(), cmsutils::bqueue< T >::empty(), TrajectoryMeasurement::layer(), cmsutils::bqueue< T >::rbegin(), and cmsutils::bqueue< T >::rend().
Referenced by groupedIntermediaryClean().
|
inline |
Chi**2 Penalty for each lost hit.
Definition at line 78 of file GroupedCkfTrajectoryBuilder.h.
References theLostHitPenalty.
|
inline |
Mass hypothesis used for propagation.
Definition at line 87 of file GroupedCkfTrajectoryBuilder.h.
References theMass.
|
inline |
Maximum number of trajectory candidates to propagate to the next layer.
Definition at line 74 of file GroupedCkfTrajectoryBuilder.h.
References theMaxCand.
|
private |
no assignment operator
|
inlineprivate |
change of propagation direction
Definition at line 157 of file GroupedCkfTrajectoryBuilder.h.
References alongMomentum, dir, and oppositeToMomentum.
Referenced by backwardFit().
|
inline |
Pt cut.
Tells whether an intermediary cleaning stage should take place during TB.
Definition at line 84 of file GroupedCkfTrajectoryBuilder.h.
References theptCut.
|
virtual |
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 146 of file GroupedCkfTrajectoryBuilder.cc.
References BaseCkfTrajectoryBuilder::createStartingTrajectory().
Referenced by rebuildSeedingRegion().
|
private |
try to find additional hits in seeding region
Definition at line 570 of file GroupedCkfTrajectoryBuilder.cc.
References backwardFit(), estimator(), TempTrajectory::isValid(), LogDebug, TempTrajectory::measurements(), rebuildSeedingRegion(), TrajectorySeed::recHits(), TempTrajectory::seed(), cmsutils::bqueue< T >::size(), BaseCkfTrajectoryBuilder::theBackwardPropagator, and updator().
|
private |
Definition at line 643 of file GroupedCkfTrajectoryBuilder.cc.
References gather_cfg::cout, PrintoutHelper::dumpCandidates(), PrintoutHelper::dumpMeasurements(), groupedLimitedCandidates(), LogDebug, TempTrajectory::measurements(), TempTrajectory::push(), cmsutils::bqueue< T >::size(), BaseCkfTrajectoryBuilder::theBackwardPropagator, theRequireSeedHitsInRebuild, and verifyHits().
|
inlineprivate |
Definition at line 109 of file GroupedCkfTrajectoryBuilder.h.
References b.
Referenced by groupedIntermediaryClean().
|
virtual |
set Event for the internal MeasurementTracker data member
trajectories building starting from a seed
Implements BaseCkfTrajectoryBuilder.
Definition at line 111 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), and runTheMatrix::ret.
|
virtual |
trajectories building starting from a seed, return in an already allocated vector
Reimplemented from TrajectoryBuilder.
Definition at line 131 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories().
GroupedCkfTrajectoryBuilder::TrajectoryContainer GroupedCkfTrajectoryBuilder::trajectories | ( | const TrajectorySeed & | seed, |
const TrackingRegion & | region | ||
) | const |
trajectories building starting from a seed with a region
Definition at line 120 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), and runTheMatrix::ret.
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 137 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories().
|
inline |
Definition at line 65 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theUpdator.
Referenced by rebuildSeedingRegion().
|
private |
Verifies presence of a RecHits in a range of TrajectoryMeasurements.
Definition at line 890 of file GroupedCkfTrajectoryBuilder.cc.
References LogDebug, and TrackingRecHit::some.
Referenced by rebuildSeedingRegion().
|
private |
Definition at line 184 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Use only best hit / group when building segments
Definition at line 187 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Chi**2 Cut on the new Trajectory Measurements to consider
Definition at line 170 of file GroupedCkfTrajectoryBuilder.h.
Referenced by chiSquareCut().
|
private |
Definition at line 165 of file GroupedCkfTrajectoryBuilder.h.
|
private |
Chi**2 bonus for each found hit (favours candidates with
more measurements)
Definition at line 179 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and groupedLimitedCandidates().
|
private |
Tells whether an intermediary cleaning stage should take place during TB.
Definition at line 181 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and groupedLimitedCandidates().
|
private |
Lock hits when building segments in a layer
Definition at line 186 of file GroupedCkfTrajectoryBuilder.h.
Referenced by advanceOneLayer(), and GroupedCkfTrajectoryBuilder().
|
private |
Chi**2 Penalty for each lost hit.
Definition at line 178 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), groupedLimitedCandidates(), and lostHitPenalty().
|
private |
Mass hypothesis used for propagation
Definition at line 174 of file GroupedCkfTrajectoryBuilder.h.
Referenced by mass().
|
private |
Maximum number of trajectory candidates
to propagate to the next layer.
Definition at line 176 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), groupedLimitedCandidates(), and maxCand().
|
private |
Minimum nr. of non-seed 2D hits required for rebuild.
Definition at line 194 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 191 of file GroupedCkfTrajectoryBuilder.h.
Referenced by backwardFit(), and GroupedCkfTrajectoryBuilder().
|
private |
|
private |
Only accept rebuilt trajectories if they contain the seed hits.
Definition at line 189 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder(), and rebuildSeedingRegion().
|
mutableprivate |
Definition at line 198 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories().