#include <GroupedCkfTrajectoryBuilder.h>
Public Types | |
enum | work_MaxSize_Size_ { work_MaxSize_ = 50 } |
Public Types inherited from BaseCkfTrajectoryBuilder | |
typedef std::vector< TempTrajectory > | TempTrajectoryContainer |
typedef std::vector< Trajectory > | TrajectoryContainer |
typedef TrajectoryContainer::iterator | TrajectoryIterator |
Public Types inherited from TrajectoryBuilder | |
typedef std::vector< Trajectory > | TrajectoryContainer |
typedef TrajectoryContainer::iterator | TrajectoryIterator |
Public Member Functions | |
TempTrajectory | 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 () |
int | maxCand () |
void | rebuildSeedingRegion (const TrajectorySeed &, TrajectoryContainer &result) const override |
void | rebuildTrajectories (TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const override |
TrajectoryContainer | trajectories (const TrajectorySeed &) const override |
set Event for the internal MeasurementTracker data member 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 override |
trajectories building starting from a seed, return in an already allocated vector 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 BaseCkfTrajectoryBuilder &)=delete | |
BaseCkfTrajectoryBuilder (const edm::ParameterSet &conf, std::unique_ptr< TrajectoryFilter > filter, std::unique_ptr< TrajectoryFilter > inOutFilter=nullptr) | |
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 () |
Public Attributes | |
float | maxDPhiForLooperReconstruction |
float | maxPt2ForLooperReconstruction |
bool | theAlwaysUseInvalid |
bool | theBestHitOnly |
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.
GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder | ( | const edm::ParameterSet & | conf, |
edm::ConsumesCollector & | iC | ||
) |
constructor from ParameterSet
Definition at line 112 of file GroupedCkfTrajectoryBuilder.cc.
References edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), SiStripPI::max, maxDPhiForLooperReconstruction, maxPt2ForLooperReconstruction, theAlwaysUseInvalid, theBestHitOnly, theFoundHitBonus, theIntermediateCleaning, theKeepOriginalIfRebuildFails, theLockHits, theLostHitPenalty, theMaxCand, theMinNrOf2dHitsForRebuild, theMinNrOfHitsForRebuild, and theRequireSeedHitsInRebuild.
|
inlineoverride |
|
overridevirtual |
common part of both public trajectory building methods
Reimplemented from BaseCkfTrajectoryBuilder.
Definition at line 237 of file GroupedCkfTrajectoryBuilder.cc.
References HltBtagPostValidation_cff::c, FastTrajectoryCleaner::clean(), gather_cfg::cout, BaseCkfTrajectoryBuilder::createStartingTrajectory(), Exception, BaseCkfTrajectoryBuilder::forwardPropagator(), trackerHitRTTI::isFromDet(), trackerHitRTTI::isUndef(), LogDebug, mps_fire::result, SurveyInfoScenario_cff::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 72 of file GroupedCkfTrajectoryBuilder.h.
|
inline |
Definition at line 67 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theEstimator.
|
inline |
|
inline |
Maximum number of trajectory candidates to propagate to the next layer.
Definition at line 75 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 196 of file GroupedCkfTrajectoryBuilder.cc.
References BaseCkfTrajectoryBuilder::createStartingTrajectory(), rebuildTrajectories(), mps_fire::result, and SurveyInfoScenario_cff::seed.
Referenced by rebuildTrajectories().
|
overridevirtual |
Reimplemented from BaseCkfTrajectoryBuilder.
Definition at line 201 of file GroupedCkfTrajectoryBuilder.cc.
References FastTrajectoryCleaner::clean(), eostools::move(), rebuildSeedingRegion(), mps_fire::result, SurveyInfoScenario_cff::seed, theFoundHitBonus, theLostHitPenalty, and edmIntegrityCheck::work.
Referenced by rebuildSeedingRegion().
|
overridevirtual |
set Event for the internal MeasurementTracker data member
trajectories building starting from a seed
Implements TrajectoryBuilder.
Definition at line 163 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), runTheMatrix::ret, SurveyInfoScenario_cff::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 172 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), HLT_2018_cff::region, runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.
|
overridevirtual |
trajectories building starting from a seed, return in an already allocated vector
Reimplemented from TrajectoryBuilder.
Definition at line 182 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), runTheMatrix::ret, SurveyInfoScenario_cff::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 188 of file GroupedCkfTrajectoryBuilder.cc.
References buildTrajectories(), HLT_2018_cff::region, runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.
|
inline |
Definition at line 66 of file GroupedCkfTrajectoryBuilder.h.
References BaseCkfTrajectoryBuilder::theUpdator.
float GroupedCkfTrajectoryBuilder::maxDPhiForLooperReconstruction |
Definition at line 197 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
float GroupedCkfTrajectoryBuilder::maxPt2ForLooperReconstruction |
If the value is greater than zero, the reconstructions for looper is turned on for candidates with pt greater than maxPtForLooperReconstruction
Definition at line 195 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
bool GroupedCkfTrajectoryBuilder::theAlwaysUseInvalid |
Definition at line 178 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
bool GroupedCkfTrajectoryBuilder::theBestHitOnly |
Use only best hit / group when building segments
Definition at line 181 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
float GroupedCkfTrajectoryBuilder::theFoundHitBonus |
Chi**2 bonus for each found hit (favours candidates with more measurements)
Definition at line 173 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories(), GroupedCkfTrajectoryBuilder(), and rebuildTrajectories().
bool GroupedCkfTrajectoryBuilder::theIntermediateCleaning |
Tells whether an intermediary cleaning stage should take place during TB.
Definition at line 175 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
bool GroupedCkfTrajectoryBuilder::theKeepOriginalIfRebuildFails |
Keep original trajectory if rebuilding fails.
Definition at line 190 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
bool GroupedCkfTrajectoryBuilder::theLockHits |
Lock hits when building segments in a layer
Definition at line 180 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
float GroupedCkfTrajectoryBuilder::theLostHitPenalty |
Chi**2 Penalty for each lost hit.
Definition at line 172 of file GroupedCkfTrajectoryBuilder.h.
Referenced by buildTrajectories(), GroupedCkfTrajectoryBuilder(), and rebuildTrajectories().
double GroupedCkfTrajectoryBuilder::theMass |
Mass hypothesis used for propagation
Definition at line 168 of file GroupedCkfTrajectoryBuilder.h.
int GroupedCkfTrajectoryBuilder::theMaxCand |
Maximum number of trajectory candidates to propagate to the next layer.
Definition at line 170 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
unsigned int GroupedCkfTrajectoryBuilder::theMinNrOf2dHitsForRebuild |
Minimum nr. of non-seed 2D hits required for rebuild.
Definition at line 188 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
unsigned int GroupedCkfTrajectoryBuilder::theMinNrOfHitsForRebuild |
Minimum nr. of non-seed hits required for rebuild. If ==0 the seeding part will remain untouched.
Definition at line 185 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().
double GroupedCkfTrajectoryBuilder::theptCut |
Tells whether an intermediary cleaning stage should take place during TB. */ bool intermediateCleaning() {return theIntermediateCleaning;}
/ Pt cut double ptCut() { return theptCut; }
/ Mass hypothesis used for propagation double mass() { return theMass; }
protected: void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
virtual void analyseSeed(const TrajectorySeed& seed) const {}
virtual void analyseMeasurements(const std::vector<TM>& meas, const Trajectory& traj) const {} virtual void analyseResult(const TrajectoryContainer& result) const {}
private: /// no copy constructor GroupedCkfTrajectoryBuilder (const GroupedCkfTrajectoryBuilder&) = default;
/// no assignment operator GroupedCkfTrajectoryBuilder& operator= (const GroupedCkfTrajectoryBuilder&) dso_internal;
inline bool tkxor(bool a, bool b) const { return (a || b) && !(a && b); } to be ported later
bool advanceOneLayer(const TrajectorySeed& seed, TempTrajectory& traj, const TrajectoryFilter* regionalCondition, const Propagator* propagator, bool inOut, TempTrajectoryContainer& newCand, TempTrajectoryContainer& result) const ;
unsigned int groupedLimitedCandidates(const TrajectorySeed& seed, TempTrajectory const& startingTraj, const TrajectoryFilter* regionalCondition, const Propagator* propagator, bool inOut, TempTrajectoryContainer& result) const ;
/ try to find additional hits in seeding region void rebuildSeedingRegion(const TrajectorySeed& seed, TempTrajectory const& startingTraj, TempTrajectoryContainer& result) const ;
try to find additional hits in seeding region for a candidate (returns number of trajectories added) * int rebuildSeedingRegion(const TrajectorySeed& seed, const std::vector<const TrackingRecHit*>& seedHits, TempTrajectory& candidate, TempTrajectoryContainer& result) const ;
Backward fit of trajectory candidate except seed. Fit result is returned. invalid if fit failed remaining hits are returned remainingHits. TempTrajectory backwardFit(TempTrajectory& candidate, unsigned int nSeed, const TrajectoryFitter& fitter, std::vector<const TrackingRecHit*>& remainingHits) const ;
/ Verifies presence of a RecHits in a range of TrajectoryMeasurements. bool verifyHits(TempTrajectory::DataContainer::const_iterator rbegin, size_t maxDepth, const std::vector<const TrackingRecHit*>& hits) const ;
/ intermediate cleaning in the case of grouped measurements void groupedIntermediaryClean(TempTrajectoryContainer& theTrajectories) const ;
/ change of propagation direction static inline PropagationDirection oppositeDirection(PropagationDirection dir) { if (dir == alongMomentum) return oppositeToMomentum; if (dir == oppositeToMomentum) return alongMomentum; return dir; }
private: TrajectoryFilter* theConfigurableCondition;
typedef deque< const TrajectoryFilter*> StopCondContainer; StopCondContainer theStopConditions;
double theChiSquareCut; /**< Chi**2 Cut on the new Trajectory Measurements to consider ptCut
Definition at line 166 of file GroupedCkfTrajectoryBuilder.h.
bool GroupedCkfTrajectoryBuilder::theRequireSeedHitsInRebuild |
Only accept rebuilt trajectories if they contain the seed hits.
Definition at line 183 of file GroupedCkfTrajectoryBuilder.h.
Referenced by GroupedCkfTrajectoryBuilder().