CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
GroupedCkfTrajectoryBuilder Class Referencefinal

#include <GroupedCkfTrajectoryBuilder.h>

Inheritance diagram for GroupedCkfTrajectoryBuilder:
BaseCkfTrajectoryBuilder TrajectoryBuilder

Public Types

enum  work_MaxSize_Size_ { work_MaxSize_ = 50 }
 
- Public Types inherited from BaseCkfTrajectoryBuilder
typedef std::vector< TempTrajectoryTempTrajectoryContainer
 
typedef std::vector< TrajectoryTrajectoryContainer
 
typedef TrajectoryContainer::iterator TrajectoryIterator
 
- Public Types inherited from TrajectoryBuilder
typedef std::vector< TrajectoryTrajectoryContainer
 
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 Chi2MeasurementEstimatorBaseestimator () 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 TrajectoryStateUpdatorupdator () 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 TransientTrackingRecHitBuilderhitBuilder () const
 
BaseCkfTrajectoryBuilderoperator= (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
 

Additional Inherited Members

- Protected Types inherited from BaseCkfTrajectoryBuilder
typedef TrackingComponentsRecord Chi2MeasurementEstimatorRecord
 
typedef FreeTrajectoryState FTS
 
typedef std::pair< TSOS, std::vector< const DetLayer * > > StateAndLayers
 
typedef TrajectoryMeasurement TM
 
typedef TrajectoryStateOnSurface TSOS
 
- Protected Member Functions inherited from BaseCkfTrajectoryBuilder
void addToResult (std::shared_ptr< const TrajectorySeed > const &seed, TempTrajectory &traj, TrajectoryContainer &result, bool inOut=false) const
 
void addToResult (TempTrajectory const &traj, TempTrajectoryContainer &result, bool inOut=false) const
 
virtual bool analyzeMeasurementsDebugger (TempTrajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const
 
virtual bool analyzeMeasurementsDebugger (Trajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const
 
const PropagatorbackwardPropagator (const TrajectorySeed &seed) const
 
TempTrajectory createStartingTrajectory (const TrajectorySeed &seed) const
 
virtual void fillSeedHistoDebugger (std::vector< TrajectoryMeasurement >::iterator begin, std::vector< TrajectoryMeasurement >::iterator end) const
 
StateAndLayers findStateAndLayers (const TrajectorySeed &seed, const TempTrajectory &traj) const
 
const PropagatorforwardPropagator (const TrajectorySeed &seed) const
 
void moveToResult (TempTrajectory &&traj, TempTrajectoryContainer &result, bool inOut=false) const
 
bool qualityFilter (const TempTrajectory &traj, bool inOut=false) const
 
void setData (const MeasurementTrackerEvent *data)
 
virtual void setEvent_ (const edm::Event &iEvent, const edm::EventSetup &iSetup)=0
 
bool toBeContinued (TempTrajectory &traj, bool inOut=false) const
 
- Static Protected Member Functions inherited from BaseCkfTrajectoryBuilder
static std::unique_ptr< TrajectoryFiltercreateTrajectoryFilter (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
- Protected Attributes inherited from BaseCkfTrajectoryBuilder
const Chi2MeasurementEstimatorBasetheEstimator = nullptr
 
const MeasurementTrackerEventtheMeasurementTracker = nullptr
 
const NavigationSchooltheNavigationSchool = nullptr
 
const PropagatorthePropagatorAlong = nullptr
 
const PropagatorthePropagatorOpposite = nullptr
 
const TransientTrackingRecHitBuildertheTTRHBuilder = nullptr
 
const TrajectoryStateUpdatortheUpdator = nullptr
 

Detailed Description

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.

Member Enumeration Documentation

◆ work_MaxSize_Size_

Enumerator
work_MaxSize_ 

Definition at line 200 of file GroupedCkfTrajectoryBuilder.h.

200  {
201  work_MaxSize_ = 50
202  }; // if it grows above this number, it is forced to resize to half this amount when cleared

Constructor & Destructor Documentation

◆ GroupedCkfTrajectoryBuilder()

GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder ( const edm::ParameterSet conf,
edm::ConsumesCollector iC 
)

constructor from ParameterSet

Definition at line 112 of file GroupedCkfTrajectoryBuilder.cc.

115  conf.getParameter<edm::ParameterSet>("trajectoryFilter"), iC),
116  conf.getParameter<bool>("useSameTrajFilter")
118  conf.getParameter<edm::ParameterSet>("trajectoryFilter"), iC)
120  conf.getParameter<edm::ParameterSet>("inOutTrajectoryFilter"), iC)) {
121  // fill data members from parameters (eventually data members could be dropped)
122  //
123  theMaxCand = conf.getParameter<int>("maxCand");
124  theLostHitPenalty = conf.getParameter<double>("lostHitPenalty");
125  theFoundHitBonus = conf.getParameter<double>("foundHitBonus");
126  theIntermediateCleaning = conf.getParameter<bool>("intermediateCleaning");
127  theAlwaysUseInvalid = conf.getParameter<bool>("alwaysUseInvalidHits");
128  theLockHits = conf.getParameter<bool>("lockHits");
129  theBestHitOnly = conf.getParameter<bool>("bestHitOnly");
131  theRequireSeedHitsInRebuild = conf.getParameter<bool>("requireSeedHitsInRebuild");
132  theKeepOriginalIfRebuildFails = conf.getParameter<bool>("keepOriginalIfRebuildFails");
133  theMinNrOfHitsForRebuild = max(0, conf.getParameter<int>("minNrOfHitsForRebuild"));
134  maxPt2ForLooperReconstruction = conf.existsAs<double>("maxPtForLooperReconstruction")
135  ? conf.getParameter<double>("maxPtForLooperReconstruction")
136  : 0;
138  maxDPhiForLooperReconstruction = conf.existsAs<double>("maxDPhiForLooperReconstruction")
139  ? conf.getParameter<double>("maxDPhiForLooperReconstruction")
140  : 2.0;
141 
142  /* ======= B.M. to be ported layer ===========
143  bool setOK = thePropagator->setMaxDirectionChange(1.6);
144  if (!setOK)
145  cout << "GroupedCkfTrajectoryBuilder WARNING: "
146  << "propagator does not support setMaxDirectionChange"
147  << endl;
148  // addStopCondition(theMinPtStopCondition);
149 
150  theConfigurableCondition = createAlgo<TrajectoryFilter>(componentConfig("StopCondition"));
151  ===================================== */
152 }

References edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), SiStripPI::max, maxDPhiForLooperReconstruction, maxPt2ForLooperReconstruction, theAlwaysUseInvalid, theBestHitOnly, theFoundHitBonus, theIntermediateCleaning, theKeepOriginalIfRebuildFails, theLockHits, theLostHitPenalty, theMaxCand, theMinNrOf2dHitsForRebuild, theMinNrOfHitsForRebuild, and theRequireSeedHitsInRebuild.

◆ ~GroupedCkfTrajectoryBuilder()

GroupedCkfTrajectoryBuilder::~GroupedCkfTrajectoryBuilder ( )
inlineoverride

destructor

Definition at line 28 of file GroupedCkfTrajectoryBuilder.h.

28 {}

Member Function Documentation

◆ buildTrajectories()

TempTrajectory GroupedCkfTrajectoryBuilder::buildTrajectories ( const TrajectorySeed seed,
GroupedCkfTrajectoryBuilder::TrajectoryContainer result,
unsigned int &  nCandPerSeed,
const TrajectoryFilter regionalCondition 
) const
overridevirtual

common part of both public trajectory building methods

Reimplemented from BaseCkfTrajectoryBuilder.

Definition at line 237 of file GroupedCkfTrajectoryBuilder.cc.

240  {
241  if (theMeasurementTracker == nullptr) {
242  throw cms::Exception("LogicError")
243  << "Asking to create trajectories to an un-initialized GroupedCkfTrajectoryBuilder.\nYou have to call "
244  "clone(const MeasurementTrackerEvent *data) and then call trajectories on it instead.\n";
245  }
246 
247  statCount.seed();
248  //
249  // Build trajectory outwards from seed
250  //
251 
252  analyseSeed(seed);
253 
254  TempTrajectory const& startingTraj = createStartingTrajectory(seed);
255 
256  work_.clear();
257  const bool inOut = true;
258  nCandPerSeed = groupedLimitedCandidates(seed, startingTraj, regionalCondition, forwardPropagator(seed), inOut, work_);
259  if (work_.empty())
260  return startingTraj;
261 
262  // cleaning now done here...
264  cleaner.clean(work_);
265 
266  std::shared_ptr<const TrajectorySeed> pseed(new TrajectorySeed(seed));
267  for (auto const& it : work_)
268  if (it.isValid()) {
269  result.push_back(it.toTrajectory());
270  result.back().setSharedSeed(pseed);
271  }
272  work_.clear();
273  if (work_.capacity() > work_MaxSize_) {
274  TempTrajectoryContainer().swap(work_);
275  work_.reserve(work_MaxSize_ / 2);
276  }
277 
278  analyseResult(result);
279 
280  LogDebug("CkfPattern") << "GroupedCkfTrajectoryBuilder: returning result of size " << result.size();
281  statCount.traj(result.size());
282 
283 #ifdef VI_DEBUG
284  int kt = 0;
285  for (auto const& traj : result) {
286  int chit[7] = {};
287  for (auto const& tm : traj.measurements()) {
288  auto const& hit = tm.recHitR();
289  if (!hit.isValid())
290  ++chit[0];
291  if (hit.det() == nullptr)
292  ++chit[1];
294  continue;
295  if (hit.dimension() != 2) {
296  ++chit[2];
297  } else if (trackerHitRTTI::isFromDet(hit)) {
298  auto const& thit = static_cast<BaseTrackerRecHit const&>(hit);
299  auto const& clus = thit.firstClusterRef();
300  if (clus.isPixel())
301  ++chit[3];
302  else if (thit.isMatched()) {
303  ++chit[4];
304  } else if (thit.isProjected()) {
305  ++chit[5];
306  } else {
307  ++chit[6];
308  }
309  }
310  }
311 
312  std::cout << "ckf " << kt++ << ": ";
313  for (auto c : chit)
314  std::cout << c << '/';
315  std::cout << std::endl;
316  }
317 #endif
318 
319  return startingTraj;
320 }

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().

◆ chiSquareCut()

double GroupedCkfTrajectoryBuilder::chiSquareCut ( )
inline

Chi**2 Cut on the new Trajectory Measurements to consider

Definition at line 72 of file GroupedCkfTrajectoryBuilder.h.

72 { return theChiSquareCut; }

◆ estimator()

const Chi2MeasurementEstimatorBase& GroupedCkfTrajectoryBuilder::estimator ( void  ) const
inline

Definition at line 67 of file GroupedCkfTrajectoryBuilder.h.

67 { return *theEstimator; }

References BaseCkfTrajectoryBuilder::theEstimator.

◆ lostHitPenalty()

float GroupedCkfTrajectoryBuilder::lostHitPenalty ( )
inline

Chi**2 Penalty for each lost hit.

Definition at line 78 of file GroupedCkfTrajectoryBuilder.h.

78 { return theLostHitPenalty; }

◆ maxCand()

int GroupedCkfTrajectoryBuilder::maxCand ( )
inline

Maximum number of trajectory candidates to propagate to the next layer.

Definition at line 75 of file GroupedCkfTrajectoryBuilder.h.

75 { return theMaxCand; }

◆ rebuildSeedingRegion()

int GroupedCkfTrajectoryBuilder::rebuildSeedingRegion ( const TrajectorySeed seed,
TrajectoryContainer result 
) const
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.

196  {
197  TempTrajectory const& startingTraj = createStartingTrajectory(seed);
198  rebuildTrajectories(startingTraj, seed, result);
199 }

References BaseCkfTrajectoryBuilder::createStartingTrajectory(), rebuildTrajectories(), mps_fire::result, and SurveyInfoScenario_cff::seed.

Referenced by rebuildTrajectories().

◆ rebuildTrajectories()

void GroupedCkfTrajectoryBuilder::rebuildTrajectories ( TempTrajectory const &  startingTraj,
const TrajectorySeed seed,
TrajectoryContainer result 
) const
overridevirtual

Reimplemented from BaseCkfTrajectoryBuilder.

Definition at line 201 of file GroupedCkfTrajectoryBuilder.cc.

203  {
205 
206  TrajectoryContainer final;
207 
208  // better the seed to be always the same...
209  std::shared_ptr<const TrajectorySeed> sharedSeed;
210  if (result.empty())
211  sharedSeed.reset(new TrajectorySeed(seed));
212  else
213  sharedSeed = result.front().sharedSeed();
214 
215  work.reserve(result.size());
216  for (auto&& traj : result)
217  if (traj.isValid())
218  work.emplace_back(std::move(traj));
219 
220  rebuildSeedingRegion(seed, startingTraj, work);
221 
222  // we clean here now
224  cleaner.clean(work);
225 
226  for (auto const& it : work)
227  if (it.isValid()) {
228  final.push_back(it.toTrajectory());
229  final.back().setSharedSeed(sharedSeed);
230  }
231 
232  result.swap(final);
233 
234  statCount.rebuilt(result.size());
235 }

References FastTrajectoryCleaner::clean(), eostools::move(), rebuildSeedingRegion(), mps_fire::result, SurveyInfoScenario_cff::seed, theFoundHitBonus, theLostHitPenalty, and edmIntegrityCheck::work.

Referenced by rebuildSeedingRegion().

◆ trajectories() [1/4]

GroupedCkfTrajectoryBuilder::TrajectoryContainer GroupedCkfTrajectoryBuilder::trajectories ( const TrajectorySeed seed) const
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.

164  {
166  ret.reserve(10);
167  unsigned int tmp;
168  buildTrajectories(seed, ret, tmp, nullptr);
169  return ret;
170 }

References buildTrajectories(), runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.

◆ trajectories() [2/4]

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.

173  {
175  ret.reserve(10);
176  unsigned int tmp;
177  RegionalTrajectoryFilter regionalCondition(region);
178  buildTrajectories(seed, ret, tmp, &regionalCondition);
179  return ret;
180 }

References buildTrajectories(), HLT_2018_cff::region, runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.

◆ trajectories() [3/4]

void GroupedCkfTrajectoryBuilder::trajectories ( const TrajectorySeed seed,
GroupedCkfTrajectoryBuilder::TrajectoryContainer ret 
) const
overridevirtual

trajectories building starting from a seed, return in an already allocated vector

Reimplemented from TrajectoryBuilder.

Definition at line 182 of file GroupedCkfTrajectoryBuilder.cc.

183  {
184  unsigned int tmp;
185  buildTrajectories(seed, ret, tmp, nullptr);
186 }

References buildTrajectories(), runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.

◆ trajectories() [4/4]

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.

190  {
191  RegionalTrajectoryFilter regionalCondition(region);
192  unsigned int tmp;
193  buildTrajectories(seed, ret, tmp, &regionalCondition);
194 }

References buildTrajectories(), HLT_2018_cff::region, runTheMatrix::ret, SurveyInfoScenario_cff::seed, and createJobs::tmp.

◆ updator()

const TrajectoryStateUpdator& GroupedCkfTrajectoryBuilder::updator ( ) const
inline

Definition at line 66 of file GroupedCkfTrajectoryBuilder.h.

66 { return *theUpdator; }

References BaseCkfTrajectoryBuilder::theUpdator.

Member Data Documentation

◆ maxDPhiForLooperReconstruction

float GroupedCkfTrajectoryBuilder::maxDPhiForLooperReconstruction

Definition at line 197 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

◆ maxPt2ForLooperReconstruction

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().

◆ theAlwaysUseInvalid

bool GroupedCkfTrajectoryBuilder::theAlwaysUseInvalid

Definition at line 178 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

◆ theBestHitOnly

bool GroupedCkfTrajectoryBuilder::theBestHitOnly

Use only best hit / group when building segments

Definition at line 181 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

◆ theFoundHitBonus

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().

◆ theIntermediateCleaning

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().

◆ theKeepOriginalIfRebuildFails

bool GroupedCkfTrajectoryBuilder::theKeepOriginalIfRebuildFails

Keep original trajectory if rebuilding fails.

Definition at line 190 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

◆ theLockHits

bool GroupedCkfTrajectoryBuilder::theLockHits

Lock hits when building segments in a layer

Definition at line 180 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

◆ theLostHitPenalty

float GroupedCkfTrajectoryBuilder::theLostHitPenalty

Chi**2 Penalty for each lost hit.

Definition at line 172 of file GroupedCkfTrajectoryBuilder.h.

Referenced by buildTrajectories(), GroupedCkfTrajectoryBuilder(), and rebuildTrajectories().

◆ theMass

double GroupedCkfTrajectoryBuilder::theMass

Mass hypothesis used for propagation

Definition at line 168 of file GroupedCkfTrajectoryBuilder.h.

◆ theMaxCand

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().

◆ theMinNrOf2dHitsForRebuild

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().

◆ theMinNrOfHitsForRebuild

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().

◆ theptCut

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.

◆ theRequireSeedHitsInRebuild

bool GroupedCkfTrajectoryBuilder::theRequireSeedHitsInRebuild

Only accept rebuilt trajectories if they contain the seed hits.

Definition at line 183 of file GroupedCkfTrajectoryBuilder.h.

Referenced by GroupedCkfTrajectoryBuilder().

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
GroupedCkfTrajectoryBuilder::theMaxCand
int theMaxCand
Definition: GroupedCkfTrajectoryBuilder.h:170
GroupedCkfTrajectoryBuilder::theAlwaysUseInvalid
bool theAlwaysUseInvalid
Definition: GroupedCkfTrajectoryBuilder.h:178
GroupedCkfTrajectoryBuilder::theBestHitOnly
bool theBestHitOnly
Definition: GroupedCkfTrajectoryBuilder.h:181
TempTrajectory
Definition: TempTrajectory.h:40
BaseCkfTrajectoryBuilder::TrajectoryContainer
std::vector< Trajectory > TrajectoryContainer
Definition: BaseCkfTrajectoryBuilder.h:62
GroupedCkfTrajectoryBuilder::theKeepOriginalIfRebuildFails
bool theKeepOriginalIfRebuildFails
Definition: GroupedCkfTrajectoryBuilder.h:190
gather_cfg.cout
cout
Definition: gather_cfg.py:144
BaseCkfTrajectoryBuilder::theEstimator
const Chi2MeasurementEstimatorBase * theEstimator
Definition: BaseCkfTrajectoryBuilder.h:173
GroupedCkfTrajectoryBuilder::theLostHitPenalty
float theLostHitPenalty
Definition: GroupedCkfTrajectoryBuilder.h:172
trackerHitRTTI::isUndef
bool isUndef(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:23
GroupedCkfTrajectoryBuilder::maxPt2ForLooperReconstruction
float maxPt2ForLooperReconstruction
Definition: GroupedCkfTrajectoryBuilder.h:195
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:160
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
edmIntegrityCheck.work
work
Definition: edmIntegrityCheck.py:75
BaseCkfTrajectoryBuilder::BaseCkfTrajectoryBuilder
BaseCkfTrajectoryBuilder(const edm::ParameterSet &conf, std::unique_ptr< TrajectoryFilter > filter, std::unique_ptr< TrajectoryFilter > inOutFilter=nullptr)
Definition: BaseCkfTrajectoryBuilder.cc:27
BaseCkfTrajectoryBuilder::createTrajectoryFilter
static std::unique_ptr< TrajectoryFilter > createTrajectoryFilter(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
Definition: BaseCkfTrajectoryBuilder.cc:45
GroupedCkfTrajectoryBuilder::theRequireSeedHitsInRebuild
bool theRequireSeedHitsInRebuild
Definition: GroupedCkfTrajectoryBuilder.h:183
BaseCkfTrajectoryBuilder::theUpdator
const TrajectoryStateUpdator * theUpdator
Definition: BaseCkfTrajectoryBuilder.h:170
GroupedCkfTrajectoryBuilder::buildTrajectories
TempTrajectory buildTrajectories(const TrajectorySeed &seed, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const override
common part of both public trajectory building methods
Definition: GroupedCkfTrajectoryBuilder.cc:237
BaseCkfTrajectoryBuilder::theMeasurementTracker
const MeasurementTrackerEvent * theMeasurementTracker
Definition: BaseCkfTrajectoryBuilder.h:175
GroupedCkfTrajectoryBuilder::theLockHits
bool theLockHits
Definition: GroupedCkfTrajectoryBuilder.h:180
GroupedCkfTrajectoryBuilder::rebuildSeedingRegion
void rebuildSeedingRegion(const TrajectorySeed &, TrajectoryContainer &result) const override
Definition: GroupedCkfTrajectoryBuilder.cc:196
BaseCkfTrajectoryBuilder::TempTrajectoryContainer
std::vector< TempTrajectory > TempTrajectoryContainer
Definition: BaseCkfTrajectoryBuilder.h:63
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
trackerHitRTTI::isFromDet
bool isFromDet(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:35
BaseCkfTrajectoryBuilder::forwardPropagator
const Propagator * forwardPropagator(const TrajectorySeed &seed) const
Definition: BaseCkfTrajectoryBuilder.h:160
GroupedCkfTrajectoryBuilder::work_MaxSize_
Definition: GroupedCkfTrajectoryBuilder.h:201
GroupedCkfTrajectoryBuilder::rebuildTrajectories
void rebuildTrajectories(TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const override
Definition: GroupedCkfTrajectoryBuilder.cc:201
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
GroupedCkfTrajectoryBuilder::theMinNrOfHitsForRebuild
unsigned int theMinNrOfHitsForRebuild
Definition: GroupedCkfTrajectoryBuilder.h:185
GroupedCkfTrajectoryBuilder::maxDPhiForLooperReconstruction
float maxDPhiForLooperReconstruction
Definition: GroupedCkfTrajectoryBuilder.h:197
Exception
Definition: hltDiff.cc:246
FastTrajectoryCleaner
Definition: FastTrajectoryCleaner.h:14
GroupedCkfTrajectoryBuilder::theMinNrOf2dHitsForRebuild
unsigned int theMinNrOf2dHitsForRebuild
Definition: GroupedCkfTrajectoryBuilder.h:188
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
TrajectorySeed
Definition: TrajectorySeed.h:17
RegionalTrajectoryFilter
Definition: RegionalTrajectoryFilter.h:13
mps_fire.result
result
Definition: mps_fire.py:303
GroupedCkfTrajectoryBuilder::theIntermediateCleaning
bool theIntermediateCleaning
Definition: GroupedCkfTrajectoryBuilder.h:175
GroupedCkfTrajectoryBuilder::theFoundHitBonus
float theFoundHitBonus
Definition: GroupedCkfTrajectoryBuilder.h:173
BaseCkfTrajectoryBuilder::createStartingTrajectory
TempTrajectory createStartingTrajectory(const TrajectorySeed &seed) const
Definition: BaseCkfTrajectoryBuilder.cc:105
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
hit
Definition: SiStripHitEffFromCalibTree.cc:88