CMS 3D CMS Logo

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

#include <CosmicTrajectoryBuilder.h>

Public Member Functions

 CosmicTrajectoryBuilder (const edm::ParameterSet &conf)
 
Trajectory createStartingTrajectory (const TrajectorySeed &seed) const
 
const
TransientTrackingRecHitBuilder
hitBuilder () const
 
void init (const edm::EventSetup &es, bool)
 
void run (const TrajectorySeedCollection &collseed, const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const SiPixelRecHitCollection &collpixel, const edm::EventSetup &es, edm::Event &e, std::vector< Trajectory > &trajoutput)
 Runs the algorithm. More...
 
 ~CosmicTrajectoryBuilder ()
 

Private Types

typedef TrajectoryMeasurement TM
 
typedef TrajectoryStateOnSurface TSOS
 

Private Member Functions

void AddHit (Trajectory &traj, const std::vector< const TrackingRecHit * > &Hits)
 
bool qualityFilter (const Trajectory &traj)
 
std::vector
< TrajectoryMeasurement
seedMeasurements (const TrajectorySeed &seed) const
 
std::vector< const
TrackingRecHit * > 
SortHits (const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const SiPixelRecHitCollection &collpixel, const TrajectorySeed &seed)
 
TSOS startingTSOS (const TrajectorySeed &seed) const
 
void updateTrajectory (Trajectory &traj, const TM &tm, const TransientTrackingRecHit &hit) const
 

Private Attributes

double chi2cut
 
std::string geometry
 
TkClonerImpl hitCloner
 
TransientTrackingRecHit::RecHitContainer hits
 
edm::ESHandle< MagneticFieldmagfield
 
const
TransientTrackingRecHitBuilder
RHBuilder
 
bool seed_plus
 
std::string theBuilderName
 
Chi2MeasurementEstimatortheEstimator
 
KFTrajectoryFittertheFitter
 
int theMinHits
 
PropagatorWithMaterialthePropagator
 
PropagatorWithMaterialthePropagatorOp
 
KFTrajectorySmoothertheSmoother
 
KFUpdatortheUpdator
 
edm::ESHandle< TrackerGeometrytracker
 
std::vector< TrajectorytrajFit
 

Detailed Description

Definition at line 74 of file CosmicTrajectoryBuilder.h.

Member Typedef Documentation

Definition at line 78 of file CosmicTrajectoryBuilder.h.

Definition at line 77 of file CosmicTrajectoryBuilder.h.

Constructor & Destructor Documentation

CosmicTrajectoryBuilder::CosmicTrajectoryBuilder ( const edm::ParameterSet conf)

Definition at line 21 of file CosmicTrajectoryBuilder.cc.

References geometry, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

21  {
22  //minimum number of hits per tracks
23 
24  theMinHits=conf.getParameter<int>("MinHits");
25  //cut on chi2
26  chi2cut=conf.getParameter<double>("Chi2Cut");
27  edm::LogInfo("CosmicTrackFinder")<<"Minimum number of hits "<<theMinHits<<" Cut on Chi2= "<<chi2cut;
28 
29  geometry=conf.getUntrackedParameter<std::string>("GeometricStructure","STANDARD");
30  theBuilderName = conf.getParameter<std::string>("TTRHBuilder");
31 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
CosmicTrajectoryBuilder::~CosmicTrajectoryBuilder ( )

Definition at line 34 of file CosmicTrajectoryBuilder.cc.

34  {
35 }

Member Function Documentation

void CosmicTrajectoryBuilder::AddHit ( Trajectory traj,
const std::vector< const TrackingRecHit * > &  Hits 
)
private

Definition at line 254 of file CosmicTrajectoryBuilder.cc.

References funct::abs(), Trajectory::chiSquared(), Trajectory::firstMeasurement(), Trajectory::foundHits(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), TrajectoryStateOnSurface::localPosition(), LogDebug, eostools::move(), Trajectory::push(), Trajectory::seed(), patCandidatesForDimuonsSequences_cff::tracker, TrajectoryStateOnSurface::update(), TrajectoryMeasurement::updatedState(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

255  {
256 
257 
258  unsigned int icosm2;
259  unsigned int ibestdet;
260  float chi2min;
261  for (unsigned int icosmhit=0;icosmhit<Hits.size();icosmhit++){
262  GlobalPoint gphit=RHBuilder->build(Hits[icosmhit])->globalPosition();
263  unsigned int iraw= Hits[icosmhit]->geographicalId().rawId();
264  LogDebug("CosmicTrackFinder")<<" HIT POSITION "<< gphit;
265  //RC TransientTrackingRecHit* tmphit=RHBuilder->build(Hits[icosmhit]);
268  tracker->idToDet(Hits[icosmhit]->geographicalId())->surface());
269 
270  //After propagating the trajectory to a detector,
271  //find the most compatible hit in the det
272  chi2min=20000000;
273  ibestdet=1000;
274  if (prSt.isValid()){
275  LocalPoint prLoc = prSt.localPosition();
276  LogDebug("CosmicTrackFinder") <<"STATE PROPAGATED AT DET "<<iraw<<" "<<prSt;
277  for(icosm2=icosmhit;icosm2<Hits.size();icosm2++){
278 
279  if (iraw==Hits[icosm2]->geographicalId().rawId()){
281  float contr= theEstimator->estimate(prSt, *tmphit).second;
282  if (contr<chi2min) {
283  chi2min=contr;
284  ibestdet=icosm2;
285  }
286  if (icosm2!=icosmhit) icosmhit++;
287 
288  }
289  else icosm2=Hits.size();
290  }
291 
292  if(chi2min<chi2cut)
293  LogDebug("CosmicTrackFinder")<<"Chi2 contribution for hit at "
294  <<RHBuilder->build(Hits[ibestdet])->globalPosition()
295  <<" is "<<chi2min;
296 
297  if(traj.foundHits()<3 &&(chi2min<chi2cut)){
298  //check on the first hit after the seed
299  GlobalVector ck=RHBuilder->build(Hits[ibestdet])->globalPosition()-
301  if ((abs(ck.x()/ck.y())>2)||(abs(ck.z()/ck.y())>2)) chi2min=300;
302  }
303  if (chi2min<chi2cut){
304  if ( abs(prLoc.x()) < 25 && abs(prLoc.y()) < 25 ){
305  TransientTrackingRecHit::RecHitPointer tmphitbestdet=RHBuilder->build(Hits[ibestdet]);
306  TSOS UpdatedState= theUpdator->update( prSt, *tmphitbestdet);
307  if (UpdatedState.isValid()){
308 
309  traj.push(std::move(TM(prSt,UpdatedState,RHBuilder->build(Hits[ibestdet])
310  , chi2min)));
311  LogDebug("CosmicTrackFinder") <<
312  "STATE UPDATED WITH HIT AT POSITION "
313  <<tmphitbestdet->globalPosition()
314  <<UpdatedState<<" "
315  <<traj.chiSquared();
316 
317  hits.push_back(tmphitbestdet);
318  }
319  }else LogDebug("CosmicTrackFinder")<<" Hits outside module surface "<< prLoc;
320  }else LogDebug("CosmicTrackFinder")<<" State can not be updated with hit at position " <<gphit;
321  }else LogDebug("CosmicTrackFinder")<<" State can not be propagated at det "<< iraw;
322  }
323 
324 
325 
326  if ( qualityFilter( traj)){
327  const TrajectorySeed& tmpseed=traj.seed();
329  tracker->idToDet((*hits.begin())->geographicalId())->surface()).isValid()){
330  TSOS startingState=
332  tracker->idToDet((*hits.begin())->geographicalId())->surface());
333 
334  trajFit = theFitter->fit(tmpseed,hits, startingState );
335  }
336  }
337 
338 }
#define LogDebug(id)
KFTrajectoryFitter * theFitter
int foundHits() const
Definition: Trajectory.h:234
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
Definition: Propagator.h:119
TrajectorySeed const & seed() const
Access to the seed used to reconstruct the Trajectory.
Definition: Trajectory.h:275
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
T y() const
Definition: PV3DBase.h:63
GlobalPoint globalPosition() const
std::vector< Trajectory > trajFit
const TransientTrackingRecHitBuilder * RHBuilder
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
Definition: KFUpdator.cc:75
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:181
T z() const
Definition: PV3DBase.h:64
def move
Definition: eostools.py:510
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::shared_ptr< TrackingRecHit const > RecHitPointer
TrajectoryMeasurement const & firstMeasurement() const
Definition: Trajectory.h:194
PropagatorWithMaterial * thePropagator
float chiSquared() const
Definition: Trajectory.h:252
Chi2MeasurementEstimator * theEstimator
bool qualityFilter(const Trajectory &traj)
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
TrajectoryStateOnSurface const & updatedState() const
std::vector< Trajectory > fit(const Trajectory &traj, fitType type=standard) const
TransientTrackingRecHit::RecHitContainer hits
T x() const
Definition: PV3DBase.h:62
void push(const TrajectoryMeasurement &tm)
Definition: Trajectory.cc:30
Trajectory CosmicTrajectoryBuilder::createStartingTrajectory ( const TrajectorySeed seed) const

Definition at line 131 of file CosmicTrajectoryBuilder.cc.

References TrajectorySeed::direction(), i, eostools::move(), and query::result.

132 {
133  Trajectory result( seed, seed.direction());
134  std::vector<TM> && seedMeas = seedMeasurements(seed);
135  for (auto & i : seedMeas) result.push(std::move(i));
136  return result;
137 }
PropagationDirection direction() const
int i
Definition: DBlmapReader.cc:9
std::vector< TrajectoryMeasurement > seedMeasurements(const TrajectorySeed &seed) const
tuple result
Definition: query.py:137
def move
Definition: eostools.py:510
const TransientTrackingRecHitBuilder* CosmicTrajectoryBuilder::hitBuilder ( ) const
inline

Definition at line 99 of file CosmicTrajectoryBuilder.h.

References RHBuilder.

Referenced by cms::CosmicTrackFinder::produce().

99 {return RHBuilder;}
const TransientTrackingRecHitBuilder * RHBuilder
void CosmicTrajectoryBuilder::init ( const edm::EventSetup es,
bool  seedplus 
)

Definition at line 38 of file CosmicTrajectoryBuilder.cc.

References alongMomentum, Chi2MeasurementEstimatorESProducer_cfi::Chi2MeasurementEstimator, edm::EventSetup::get(), KFTrajectoryFitterESProducer_cfi::KFTrajectoryFitter, KFTrajectorySmootherESProducer_cfi::KFTrajectorySmoother, HLT_ES_cff::magfield, oppositeToMomentum, edm::ESHandle< class >::product(), and patCandidatesForDimuonsSequences_cff::tracker.

38  {
39 
40  // FIXME: this is a memory leak generator
41 
42  //services
45 
46 
47 
48  if (seedplus) {
49  seed_plus=true;
52  else {
53  seed_plus=false;
56  }
57 
58  theUpdator= new KFUpdator();
60 
61 
63  es.get<TransientRecHitRecord>().get(theBuilderName,theBuilder);
64 
65 
66  RHBuilder= theBuilder.product();
67  hitCloner = static_cast<TkTransientTrackingRecHitBuilder const *>(RHBuilder)->cloner();
68 
69 
70 
72  *theUpdator,
73  *theEstimator) ;
75 
77  *theUpdator,
78  *theEstimator);
80 }
KFTrajectoryFitter * theFitter
KFTrajectorySmoother * theSmoother
edm::ESHandle< MagneticField > magfield
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
virtual void setHitCloner(TkCloner const *hc)
const TransientTrackingRecHitBuilder * RHBuilder
virtual void setHitCloner(TkCloner const *hc)
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
PropagatorWithMaterial * thePropagator
Chi2MeasurementEstimator * theEstimator
bool CosmicTrajectoryBuilder::qualityFilter ( const Trajectory traj)
private

Definition at line 342 of file CosmicTrajectoryBuilder.cc.

References Trajectory::foundHits(), and geometry.

342  {
343  int ngoodhits=0;
344  if(geometry=="MTCC"){
345  auto hits = traj.recHits();
346  for(auto hit=hits.begin();hit!=hits.end();hit++){
347  unsigned int iid=(*hit)->hit()->geographicalId().rawId();
348  //CHECK FOR 3 hits r-phi
349  if(((iid>>0)&0x3)!=1) ngoodhits++;
350  }
351  }
352  else ngoodhits=traj.foundHits();
353 
354  if ( ngoodhits >= theMinHits) {
355  return true;
356  }
357  else {
358  return false;
359  }
360 }
int foundHits() const
Definition: Trajectory.h:234
TransientTrackingRecHit::RecHitContainer hits
void CosmicTrajectoryBuilder::run ( const TrajectorySeedCollection collseed,
const SiStripRecHit2DCollection collstereo,
const SiStripRecHit2DCollection collrphi,
const SiStripMatchedRecHit2DCollection collmatched,
const SiPixelRecHitCollection collpixel,
const edm::EventSetup es,
edm::Event e,
std::vector< Trajectory > &  trajoutput 
)

Runs the algorithm.

Definition at line 82 of file CosmicTrajectoryBuilder.cc.

References alongMomentum, init, and iseed.

Referenced by cms::CosmicTrackFinder::produce().

90 {
91 
92 
93 
94 
95  std::vector<Trajectory> trajSmooth;
96  std::vector<Trajectory>::iterator trajIter;
97 
98  TrajectorySeedCollection::const_iterator iseed;
99  unsigned int IS=0;
100  for(iseed=collseed.begin();iseed!=collseed.end();iseed++){
101  bool seedplus=((*iseed).direction()==alongMomentum);
102  init(es,seedplus);
103  hits.clear();
104  trajFit.clear();
105  trajSmooth.clear();
106  //order all the hits
107  vector<const TrackingRecHit*> allHits= SortHits(collstereo,collrphi,collmatched,collpixel,*iseed);
108  Trajectory startingTraj = createStartingTrajectory(*iseed);
109  AddHit(startingTraj,allHits);
110  for (trajIter=trajFit.begin(); trajIter!=trajFit.end();trajIter++){
111  trajSmooth=theSmoother->trajectories((*trajIter));
112  }
113  for (trajIter= trajSmooth.begin(); trajIter!=trajSmooth.end();trajIter++){
114  if((*trajIter).isValid()){
115  trajoutput.push_back((*trajIter));
116  }
117  }
118  delete theUpdator;
119  delete theEstimator;
120  delete thePropagator;
121  delete thePropagatorOp;
122  delete theFitter;
123  delete theSmoother;
124  //Only the first 30 seeds are considered
125  if (IS>30) return;
126  IS++;
127 
128  }
129 }
KFTrajectoryFitter * theFitter
KFTrajectorySmoother * theSmoother
PropagatorWithMaterial * thePropagatorOp
std::vector< Trajectory > trajFit
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
void init(const edm::EventSetup &es, bool)
int iseed
Definition: AMPTWrapper.h:124
PropagatorWithMaterial * thePropagator
std::vector< const TrackingRecHit * > SortHits(const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const SiPixelRecHitCollection &collpixel, const TrajectorySeed &seed)
void AddHit(Trajectory &traj, const std::vector< const TrackingRecHit * > &Hits)
Chi2MeasurementEstimator * theEstimator
Trajectory createStartingTrajectory(const TrajectorySeed &seed) const
TransientTrackingRecHit::RecHitContainer hits
std::vector< TrajectoryMeasurement > CosmicTrajectoryBuilder::seedMeasurements ( const TrajectorySeed seed) const
private

Definition at line 141 of file CosmicTrajectoryBuilder.cc.

References TrajectorySeed::recHits(), query::result, and GeomDet::surface().

142 {
143  std::vector<TrajectoryMeasurement> result;
144  TrajectorySeed::range hitRange = seed.recHits();
145  for (TrajectorySeed::const_iterator ihit = hitRange.first;
146  ihit != hitRange.second; ihit++) {
147  //RC TransientTrackingRecHit* recHit = RHBuilder->build(&(*ihit));
149  const GeomDet* hitGeomDet = (&(*tracker))->idToDet( ihit->geographicalId());
150  TSOS invalidState(new BasicSingleTrajectoryState( hitGeomDet->surface()));
151 
152  if (ihit == hitRange.second - 1) {
153  TSOS updatedState=startingTSOS(seed);
154  result.emplace_back(invalidState, updatedState, recHit);
155  }
156  else {
157  result.emplace_back(invalidState, recHit);
158  }
159 
160  }
161 
162  return result;
163 }
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:40
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
tuple result
Definition: query.py:137
std::pair< const_iterator, const_iterator > range
TSOS startingTSOS(const TrajectorySeed &seed) const
std::shared_ptr< TrackingRecHit const > RecHitPointer
range recHits() const
vector< const TrackingRecHit * > CosmicTrajectoryBuilder::SortHits ( const SiStripRecHit2DCollection collstereo,
const SiStripRecHit2DCollection collrphi,
const SiStripMatchedRecHit2DCollection collmatched,
const SiPixelRecHitCollection collpixel,
const TrajectorySeed seed 
)
private

Definition at line 170 of file CosmicTrajectoryBuilder.cc.

References edmNew::DetSetVector< T >::data(), LogDebug, TrajectorySeed::recHits(), and patCandidatesForDimuonsSequences_cff::tracker.

174  {
175 
176 
177  //The Hits with global y more than the seed are discarded
178  //The Hits correspondign to the seed are discarded
179  //At the end all the hits are sorted in y
180  vector<const TrackingRecHit*> allHits;
181 
183  TrajectorySeed::range hRange= seed.recHits();
185  float yref=0.;
186  for (ihit = hRange.first;
187  ihit != hRange.second; ihit++) {
188  yref=RHBuilder->build(&(*ihit))->globalPosition().y();
189  hits.push_back((RHBuilder->build(&(*ihit))));
190  LogDebug("CosmicTrackFinder")<<"SEED HITS"<<RHBuilder->build(&(*ihit))->globalPosition();
191  }
192 
193 
194  if ((&collpixel)!=0){
196  for(ipix=collpixel.data().begin();ipix!=collpixel.data().end();ipix++){
197  float ych= RHBuilder->build(&(*ipix))->globalPosition().y();
198  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
199  allHits.push_back(&(*ipix));
200  }
201  }
202 
203 
204 
205  if ((&collrphi)!=0){
206  for(istrip=collrphi.data().begin();istrip!=collrphi.data().end();istrip++){
207  float ych= RHBuilder->build(&(*istrip))->globalPosition().y();
208  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
209  allHits.push_back(&(*istrip));
210  }
211  }
212 
213 
214 
215 
216  if ((&collstereo)!=0){
217  for(istrip=collstereo.data().begin();istrip!=collstereo.data().end();istrip++){
218  float ych= RHBuilder->build(&(*istrip))->globalPosition().y();
219  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
220  allHits.push_back(&(*istrip));
221  }
222  }
223 
224 // SiStripMatchedRecHit2DCollection::DataContainer::const_iterator istripm;
225 // if ((&collmatched)!=0){
226 // for(istripm=collmatched.data().begin();istripm!=collmatched.data().end();istripm++){
227 // float ych= RHBuilder->build(&(*istripm))->globalPosition().y();
228 // if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
229 // allHits.push_back(&(*istripm));
230 // }
231 // }
232 
233  if (seed_plus){
234  stable_sort(allHits.begin(),allHits.end(),CompareHitY_plus(*tracker));
235  }
236  else {
237  stable_sort(allHits.begin(),allHits.end(),CompareHitY(*tracker));
238  }
239 
240  return allHits;
241 }
#define LogDebug(id)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
edm::ESHandle< TrackerGeometry > tracker
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
data_type const * data(size_t cell) const
std::pair< const_iterator, const_iterator > range
range recHits() const
TransientTrackingRecHit::RecHitContainer hits
TrajectoryStateOnSurface CosmicTrajectoryBuilder::startingTSOS ( const TrajectorySeed seed) const
private

Definition at line 244 of file CosmicTrajectoryBuilder.cc.

References HLT_ES_cff::magfield, TrajectorySeed::startingState(), and trajectoryStateTransform::transientState().

245 {
246  PTrajectoryStateOnDet pState( seed.startingState());
247  const GeomDet* gdet = (&(*tracker))->idToDet(DetId(pState.detId()));
248  TSOS State= trajectoryStateTransform::transientState( pState, &(gdet->surface()),
249  &(*magfield));
250  return State;
251 
252 }
edm::ESHandle< MagneticField > magfield
Definition: DetId.h:18
PTrajectoryStateOnDet const & startingState() const
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
State
Definition: hltDiff.cc:314
void CosmicTrajectoryBuilder::updateTrajectory ( Trajectory traj,
const TM tm,
const TransientTrackingRecHit hit 
) const
private

Member Data Documentation

double CosmicTrajectoryBuilder::chi2cut
private

Definition at line 139 of file CosmicTrajectoryBuilder.h.

std::string CosmicTrajectoryBuilder::geometry
private
TkClonerImpl CosmicTrajectoryBuilder::hitCloner
private

Definition at line 132 of file CosmicTrajectoryBuilder.h.

TransientTrackingRecHit::RecHitContainer CosmicTrajectoryBuilder::hits
private

Definition at line 142 of file CosmicTrajectoryBuilder.h.

edm::ESHandle<MagneticField> CosmicTrajectoryBuilder::magfield
private

Definition at line 124 of file CosmicTrajectoryBuilder.h.

const TransientTrackingRecHitBuilder* CosmicTrajectoryBuilder::RHBuilder
private

Definition at line 131 of file CosmicTrajectoryBuilder.h.

Referenced by hitBuilder().

bool CosmicTrajectoryBuilder::seed_plus
private

Definition at line 143 of file CosmicTrajectoryBuilder.h.

std::string CosmicTrajectoryBuilder::theBuilderName
private

Definition at line 145 of file CosmicTrajectoryBuilder.h.

Chi2MeasurementEstimator* CosmicTrajectoryBuilder::theEstimator
private

Definition at line 130 of file CosmicTrajectoryBuilder.h.

KFTrajectoryFitter* CosmicTrajectoryBuilder::theFitter
private

Definition at line 134 of file CosmicTrajectoryBuilder.h.

int CosmicTrajectoryBuilder::theMinHits
private

Definition at line 138 of file CosmicTrajectoryBuilder.h.

PropagatorWithMaterial* CosmicTrajectoryBuilder::thePropagator
private

Definition at line 127 of file CosmicTrajectoryBuilder.h.

PropagatorWithMaterial* CosmicTrajectoryBuilder::thePropagatorOp
private

Definition at line 128 of file CosmicTrajectoryBuilder.h.

KFTrajectorySmoother* CosmicTrajectoryBuilder::theSmoother
private

Definition at line 133 of file CosmicTrajectoryBuilder.h.

KFUpdator* CosmicTrajectoryBuilder::theUpdator
private

Definition at line 129 of file CosmicTrajectoryBuilder.h.

edm::ESHandle<TrackerGeometry> CosmicTrajectoryBuilder::tracker
private

Definition at line 125 of file CosmicTrajectoryBuilder.h.

std::vector<Trajectory> CosmicTrajectoryBuilder::trajFit
private

Definition at line 140 of file CosmicTrajectoryBuilder.h.