CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
CkfTrajectoryBuilder Class Reference

#include <CkfTrajectoryBuilder.h>

Inheritance diagram for CkfTrajectoryBuilder:
BaseCkfTrajectoryBuilder TrajectoryBuilder CkfDebugTrajectoryBuilder MuonCkfTrajectoryBuilder

Public Types

typedef std::vector
< TempTrajectory
TempTrajectoryContainer
 
typedef std::vector< TrajectoryTrajectoryContainer
 
- Public Types inherited from BaseCkfTrajectoryBuilder
typedef std::vector
< TempTrajectory
TempTrajectoryContainer
 
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 &, TrajectoryContainer &ret, const TrajectoryFilter *) const
 
 CkfTrajectoryBuilder (const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *recHitBuilder, const TrajectoryFilter *filter)
 
virtual CkfTrajectoryBuilderclone (const MeasurementTrackerEvent *data) const
 
void rebuildTrajectories (TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const
 
virtual TrajectoryContainer trajectories (const TrajectorySeed &seed) const
 trajectories building starting from a seed More...
 
virtual void trajectories (const TrajectorySeed &seed, TrajectoryContainer &ret) const
 trajectories building starting from a seed More...
 
 ~CkfTrajectoryBuilder ()
 
- 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 TrajectoryFilter *filter, const TrajectoryFilter *inOutFilter=0)
 
 BaseCkfTrajectoryBuilder (const BaseCkfTrajectoryBuilder &other)=default
 
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 void rebuildSeedingRegion (const TrajectorySeed &, TrajectoryContainer &result) const
 
virtual ~TrajectoryBuilder ()
 

Protected Member Functions

virtual void findCompatibleMeasurements (const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) const
 
void limitedCandidates (const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const
 
void limitedCandidates (const boost::shared_ptr< const TrajectorySeed > &sharedSeed, TempTrajectoryContainer &candidates, TrajectoryContainer &result) const
 
void updateTrajectory (TempTrajectory &traj, const TM &tm) const
 
- Protected Member Functions inherited from BaseCkfTrajectoryBuilder
void addToResult (boost::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 (Trajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const
 
virtual bool analyzeMeasurementsDebugger (TempTrajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) 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
 
StateAndLayers findStateAndLayers (const TempTrajectory &traj) 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)
 
bool toBeContinued (TempTrajectory &traj, bool inOut=false) const
 

Protected Attributes

bool theAlwaysUseInvalidHits
 
bool theIntermediateCleaning
 
float theLostHitPenalty
 
int theMaxCand
 set Event for the internal MeasurementTracker data member More...
 
- Protected Attributes inherited from BaseCkfTrajectoryBuilder
const PropagatortheBackwardPropagator
 
const
Chi2MeasurementEstimatorBase
theEstimator
 
const PropagatortheForwardPropagator
 
const MeasurementTrackerEventtheMeasurementTracker
 
const PropagatorthePropagatorAlong
 
const PropagatorthePropagatorOpposite
 
const
TransientTrackingRecHitBuilder
theTTRHBuilder
 
const TrajectoryStateUpdatortheUpdator
 

Additional Inherited Members

- Protected Types inherited from BaseCkfTrajectoryBuilder
typedef FreeTrajectoryState FTS
 
typedef std::pair< TSOS,
std::vector< const DetLayer * > > 
StateAndLayers
 
typedef TrajectoryMeasurement TM
 
typedef TrajectoryStateOnSurface TSOS
 

Detailed Description

Definition at line 34 of file CkfTrajectoryBuilder.h.

Member Typedef Documentation

Definition at line 39 of file CkfTrajectoryBuilder.h.

Definition at line 38 of file CkfTrajectoryBuilder.h.

Constructor & Destructor Documentation

CkfTrajectoryBuilder::CkfTrajectoryBuilder ( const edm::ParameterSet conf,
const TrajectoryStateUpdator updator,
const Propagator propagatorAlong,
const Propagator propagatorOpposite,
const Chi2MeasurementEstimatorBase estimator,
const TransientTrackingRecHitBuilder recHitBuilder,
const TrajectoryFilter filter 
)

Definition at line 32 of file CkfTrajectoryBuilder.cc.

References edm::ParameterSet::getParameter(), theAlwaysUseInvalidHits, theIntermediateCleaning, theLostHitPenalty, and theMaxCand.

Referenced by clone().

38  :
39 
41  updator, propagatorAlong,propagatorOpposite,
42  estimator, recHitBuilder, filter)
43 {
44  theMaxCand = conf.getParameter<int>("maxCand");
45  theLostHitPenalty = conf.getParameter<double>("lostHitPenalty");
46  theIntermediateCleaning = conf.getParameter<bool>("intermediateCleaning");
47  theAlwaysUseInvalidHits = conf.getParameter<bool>("alwaysUseInvalidHits");
48  /*
49  theSharedSeedCheck = conf.getParameter<bool>("SharedSeedCheck");
50  std::stringstream ss;
51  ss<<"CkfTrajectoryBuilder_"<<conf.getParameter<std::string>("ComponentName")<<"_"<<this;
52  theUniqueName = ss.str();
53  LogDebug("CkfPattern")<<"my unique name is: "<<theUniqueName;
54  */
55 }
T getParameter(std::string const &) const
BaseCkfTrajectoryBuilder(const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *RecHitBuilder, const TrajectoryFilter *filter, const TrajectoryFilter *inOutFilter=0)
int theMaxCand
set Event for the internal MeasurementTracker data member
CkfTrajectoryBuilder::~CkfTrajectoryBuilder ( )
inline

Definition at line 49 of file CkfTrajectoryBuilder.h.

49 {}

Member Function Documentation

TempTrajectory CkfTrajectoryBuilder::buildTrajectories ( const TrajectorySeed seed,
TrajectoryContainer ret,
const TrajectoryFilter  
) const
virtual

limitedCandidates( startingTraj, regionalCondition, result); FIXME: restore regionalCondition

Reimplemented from BaseCkfTrajectoryBuilder.

Definition at line 151 of file CkfTrajectoryBuilder.cc.

References BaseCkfTrajectoryBuilder::createStartingTrajectory(), edm::hlt::Exception, limitedCandidates(), and BaseCkfTrajectoryBuilder::theMeasurementTracker.

Referenced by trajectories().

153  {
154  if (theMeasurementTracker == 0) {
155  throw cms::Exception("LogicError") << "Asking to create trajectories to an un-initialized CkfTrajectoryBuilder.\nYou have to call clone(const MeasurementTrackerEvent *data) and then call trajectories on it instead.\n";
156  }
157 
158  TempTrajectory startingTraj = createStartingTrajectory( seed );
159 
162  limitedCandidates(seed, startingTraj, result);
163 
164  return startingTraj;
165 
166  /*
167  //and remember what you just did
168  if (theSharedSeedCheck) rememberSeedAndTrajectories(seed,result);
169  */
170 
171  // analyseResult(result);
172 }
tuple result
Definition: query.py:137
const MeasurementTrackerEvent * theMeasurementTracker
TempTrajectory createStartingTrajectory(const TrajectorySeed &seed) const
void limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const
virtual CkfTrajectoryBuilder* CkfTrajectoryBuilder::clone ( const MeasurementTrackerEvent data) const
inlinevirtual

Implements BaseCkfTrajectoryBuilder.

Reimplemented in MuonCkfTrajectoryBuilder.

Definition at line 52 of file CkfTrajectoryBuilder.h.

References CkfTrajectoryBuilder(), run_regression::ret, and BaseCkfTrajectoryBuilder::setData().

52  {
54  ret->setData(data);
55  return ret;
56  }
void setData(const MeasurementTrackerEvent *data)
CkfTrajectoryBuilder(const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *recHitBuilder, const TrajectoryFilter *filter)
void CkfTrajectoryBuilder::findCompatibleMeasurements ( const TrajectorySeed seed,
const TempTrajectory traj,
std::vector< TrajectoryMeasurement > &  result 
) const
protectedvirtual

Reimplemented in MuonCkfTrajectoryBuilder.

Definition at line 273 of file CkfTrajectoryBuilder.cc.

References PrintoutHelper::dumpMeasurements(), TransverseImpactPointExtrapolator::extrapolate(), BaseCkfTrajectoryBuilder::findStateAndLayers(), i, TrajectoryStateOnSurface::isValid(), TempTrajectory::lastLayer(), LogDebug, MeasurementTrackerEvent::measurementTracker(), python.multivaluedict::sort(), BaseCkfTrajectoryBuilder::theEstimator, BaseCkfTrajectoryBuilder::theForwardPropagator, BaseCkfTrajectoryBuilder::theMeasurementTracker, and tmp.

Referenced by limitedCandidates().

276 {
277  int invalidHits = 0;
278  std::pair<TSOS,std::vector<const DetLayer*> > stateAndLayers = findStateAndLayers(traj);
279  if (stateAndLayers.second.empty()) return;
280 
281  vector<const DetLayer*>::iterator layerBegin = stateAndLayers.second.begin();
282  vector<const DetLayer*>::iterator layerEnd = stateAndLayers.second.end();
283  LogDebug("CkfPattern")<<"looping on "<< stateAndLayers.second.size()<<" layers.";
284  for (vector<const DetLayer*>::iterator il = layerBegin;
285  il != layerEnd; il++) {
286 
287  LogDebug("CkfPattern")<<"looping on a layer in findCompatibleMeasurements.\n last layer: "<<traj.lastLayer()<<" current layer: "<<(*il);
288 
289  TSOS stateToUse = stateAndLayers.first;
290  if ((*il)==traj.lastLayer())
291  {
292  LogDebug("CkfPattern")<<" self propagating in findCompatibleMeasurements.\n from: \n"<<stateToUse;
293  //self navigation case
294  // go to a middle point first
296  GlobalPoint center(0,0,0);
297  stateToUse = middle.extrapolate(stateToUse, center, *theForwardPropagator);
298 
299  if (!stateToUse.isValid()) continue;
300  LogDebug("CkfPattern")<<"to: "<<stateToUse;
301  }
302 
304  vector<TrajectoryMeasurement> tmp = layerMeasurements.measurements((**il),stateToUse, *theForwardPropagator, *theEstimator);
305 
306  if ( !tmp.empty()) {
307  if ( result.empty()) result = tmp;
308  else {
309  // keep one dummy TM at the end, skip the others
310  result.insert( result.end()-invalidHits, tmp.begin(), tmp.end());
311  }
312  invalidHits++;
313  }
314  }
315 
316  // sort the final result, keep dummy measurements at the end
317  if ( result.size() > 1) {
318  sort( result.begin(), result.end()-invalidHits, TrajMeasLessEstim());
319  }
320 
321  LogDebug("CkfPattern")<<"starting from:\n"
322  <<"x: "<<stateAndLayers.first.globalPosition()<<"\n"
323  <<"p: "<<stateAndLayers.first.globalMomentum()<<"\n"
325 
326 #ifdef DEBUG_INVALID
327  bool afterInvalid = false;
328  for (vector<TM>::const_iterator i=result.begin();
329  i!=result.end(); i++) {
330  if ( ! i->recHit().isValid()) afterInvalid = true;
331  if (afterInvalid && i->recHit().isValid()) {
332  edm::LogError("CkfPattern") << "CkfTrajectoryBuilder error: valid hit after invalid!" ;
333  }
334  }
335 #endif
336 
337  //analyseMeasurements( result, traj);
338 
339 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
static std::string dumpMeasurements(const std::vector< TrajectoryMeasurement > &v)
tuple result
Definition: query.py:137
const MeasurementTracker & measurementTracker() const
StateAndLayers findStateAndLayers(const TrajectorySeed &seed, const TempTrajectory &traj) const
const MeasurementTrackerEvent * theMeasurementTracker
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
const DetLayer * lastLayer() const
Redundant method, returns the layer of lastMeasurement() .
const Chi2MeasurementEstimatorBase * theEstimator
const Propagator * theForwardPropagator
void CkfTrajectoryBuilder::limitedCandidates ( const TrajectorySeed seed,
TempTrajectory startingTraj,
TrajectoryContainer result 
) const
protected

Definition at line 175 of file CkfTrajectoryBuilder.cc.

Referenced by buildTrajectories().

177 {
178  TempTrajectoryContainer candidates;
179  candidates.push_back( startingTraj);
180  boost::shared_ptr<const TrajectorySeed> sharedSeed(new TrajectorySeed(seed));
181  limitedCandidates(sharedSeed, candidates,result);
182 }
std::vector< TempTrajectory > TempTrajectoryContainer
tuple result
Definition: query.py:137
void limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const
void CkfTrajectoryBuilder::limitedCandidates ( const boost::shared_ptr< const TrajectorySeed > &  sharedSeed,
TempTrajectoryContainer candidates,
TrajectoryContainer result 
) const
protected

Definition at line 185 of file CkfTrajectoryBuilder.cc.

References BaseCkfTrajectoryBuilder::addToResult(), BaseCkfTrajectoryBuilder::analyzeMeasurementsDebugger(), IntermediateTrajectoryCleaner::clean(), PrintoutHelper::dumpCandidates(), findCompatibleMeasurements(), prof2calltree::last, LogDebug, BaseCkfTrajectoryBuilder::qualityFilter(), python.multivaluedict::sort(), theAlwaysUseInvalidHits, BaseCkfTrajectoryBuilder::theEstimator, BaseCkfTrajectoryBuilder::theForwardPropagator, theIntermediateCleaning, theLostHitPenalty, theMaxCand, BaseCkfTrajectoryBuilder::theMeasurementTracker, BaseCkfTrajectoryBuilder::theTTRHBuilder, BaseCkfTrajectoryBuilder::toBeContinued(), and updateTrajectory().

187 {
188  unsigned int nIter=1;
189  TempTrajectoryContainer newCand; // = TrajectoryContainer();
190 
191 
192  while ( !candidates.empty()) {
193 
194  newCand.clear();
195  for (TempTrajectoryContainer::iterator traj=candidates.begin();
196  traj!=candidates.end(); traj++) {
197  std::vector<TM> meas;
198  findCompatibleMeasurements(*sharedSeed, *traj, meas);
199 
200  // --- method for debugging
201  if(!analyzeMeasurementsDebugger(*traj,meas,
204  theTTRHBuilder)) return;
205  // ---
206 
207  if ( meas.empty()) {
208  if ( qualityFilter( *traj)) addToResult(sharedSeed, *traj, result);
209  }
210  else {
211  std::vector<TM>::const_iterator last;
212  if ( theAlwaysUseInvalidHits) last = meas.end();
213  else {
214  if (meas.front().recHit()->isValid()) {
215  last = find_if( meas.begin(), meas.end(), RecHitIsInvalid());
216  }
217  else last = meas.end();
218  }
219 
220  for( std::vector<TM>::const_iterator itm = meas.begin();
221  itm != last; itm++) {
222  TempTrajectory newTraj = *traj;
223  updateTrajectory( newTraj, *itm);
224 
225  if ( toBeContinued(newTraj)) {
226  newCand.push_back(newTraj);
227  }
228  else {
229  if ( qualityFilter(newTraj)) addToResult(sharedSeed, newTraj, result);
231  }
232  }
233  }
234 
235  if ((int)newCand.size() > theMaxCand) {
236  sort( newCand.begin(), newCand.end(), TrajCandLess<TempTrajectory>(theLostHitPenalty));
237  newCand.erase( newCand.begin()+theMaxCand, newCand.end());
238  }
239  }
240 
242 
243  candidates.swap(newCand);
244 
245  LogDebug("CkfPattern") <<result.size()<<" candidates after "<<nIter++<<" CKF iteration: \n"
247  <<"\n "<<candidates.size()<<" running candidates are: \n"
248  <<PrintoutHelper::dumpCandidates(candidates);
249 
250  }
251 }
#define LogDebug(id)
static std::string dumpCandidates(collection &candidates)
static void clean(TempTrajectoryContainer &tracks)
virtual bool analyzeMeasurementsDebugger(Trajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const
std::vector< TempTrajectory > TempTrajectoryContainer
bool qualityFilter(const TempTrajectory &traj, bool inOut=false) const
const TransientTrackingRecHitBuilder * theTTRHBuilder
tuple result
Definition: query.py:137
void addToResult(boost::shared_ptr< const TrajectorySeed > const &seed, TempTrajectory &traj, TrajectoryContainer &result, bool inOut=false) const
void updateTrajectory(TempTrajectory &traj, const TM &tm) const
const MeasurementTrackerEvent * theMeasurementTracker
bool toBeContinued(TempTrajectory &traj, bool inOut=false) const
virtual void findCompatibleMeasurements(const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) const
int theMaxCand
set Event for the internal MeasurementTracker data member
const Chi2MeasurementEstimatorBase * theEstimator
const Propagator * theForwardPropagator
void CkfTrajectoryBuilder::rebuildTrajectories ( TempTrajectory const &  startingTraj,
const TrajectorySeed ,
TrajectoryContainer result 
) const
inlinevirtual

Reimplemented from BaseCkfTrajectoryBuilder.

Definition at line 69 of file CkfTrajectoryBuilder.h.

70  {}
CkfTrajectoryBuilder::TrajectoryContainer CkfTrajectoryBuilder::trajectories ( const TrajectorySeed seed) const
virtual

trajectories building starting from a seed

Implements TrajectoryBuilder.

Definition at line 65 of file CkfTrajectoryBuilder.cc.

References query::result.

66 {
68  result.reserve(5);
69  trajectories(seed, result);
70  return result;
71 }
std::vector< Trajectory > TrajectoryContainer
tuple result
Definition: query.py:137
virtual TrajectoryContainer trajectories(const TrajectorySeed &seed) const
trajectories building starting from a seed
void CkfTrajectoryBuilder::trajectories ( const TrajectorySeed seed,
CkfTrajectoryBuilder::TrajectoryContainer result 
) const
virtual

trajectories building starting from a seed

Reimplemented from TrajectoryBuilder.

Definition at line 132 of file CkfTrajectoryBuilder.cc.

References buildTrajectories().

133 {
134  // analyseSeed( seed);
135  /*
136  if (theSharedSeedCheck){
137  TempTrajectoryContainer candidates;
138  if (seedAlreadyUsed(seed,candidates))
139  {
140  //start with those candidates already made before
141  limitedCandidates(candidates,result);
142  //and quit
143  return;
144  }
145  }
146  */
147 
148  buildTrajectories(seed, result,nullptr);
149 }
TempTrajectory buildTrajectories(const TrajectorySeed &, TrajectoryContainer &ret, const TrajectoryFilter *) const
tuple result
Definition: query.py:137
void CkfTrajectoryBuilder::updateTrajectory ( TempTrajectory traj,
const TM tm 
) const
protected

Definition at line 255 of file CkfTrajectoryBuilder.cc.

References TrajectoryMeasurement::estimate(), TrajectoryMeasurement::layer(), TrajectoryMeasurement::predictedState(), TempTrajectory::push(), TrajectoryMeasurement::recHit(), BaseCkfTrajectoryBuilder::theUpdator, tmp, and TrajectoryStateUpdator::update().

Referenced by limitedCandidates().

257 {
258  TSOS predictedState = tm.predictedState();
259  TM::ConstRecHitPointer hit = tm.recHit();
260 
261  if ( hit->isValid()) {
262  TM tmp = TM( predictedState, theUpdator->update( predictedState, *hit),
263  hit, tm.estimate(), tm.layer());
264  traj.push(tmp );
265  }
266  else {
267  traj.push( TM( predictedState, hit, 0, tm.layer()));
268  }
269 }
virtual TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const =0
const TrajectoryStateUpdator * theUpdator
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void push(const TrajectoryMeasurement &tm)

Member Data Documentation

bool CkfTrajectoryBuilder::theAlwaysUseInvalidHits
protected

Definition at line 83 of file CkfTrajectoryBuilder.h.

Referenced by CkfTrajectoryBuilder(), and limitedCandidates().

bool CkfTrajectoryBuilder::theIntermediateCleaning
protected

Tells whether an intermediary cleaning stage should take place during TB.

Definition at line 81 of file CkfTrajectoryBuilder.h.

Referenced by CkfTrajectoryBuilder(), and limitedCandidates().

float CkfTrajectoryBuilder::theLostHitPenalty
protected

Chi**2 Penalty for each lost hit.

Definition at line 80 of file CkfTrajectoryBuilder.h.

Referenced by CkfTrajectoryBuilder(), and limitedCandidates().

int CkfTrajectoryBuilder::theMaxCand
protected

set Event for the internal MeasurementTracker data member

    Maximum number of trajectory candidates 

to propagate to the next layer.

Definition at line 78 of file CkfTrajectoryBuilder.h.

Referenced by CkfTrajectoryBuilder(), and limitedCandidates().