CMS 3D CMS Logo

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 TransientTrackingRecHitBuilderhitBuilder () 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< TrajectoryMeasurementseedMeasurements (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 TransientTrackingRecHitBuilderRHBuilder
 
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 trackAssociatorByChi2_cfi::chi2cut, 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 232 of file CosmicTrajectoryBuilder.cc.

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

233  {
234 
235 
236  unsigned int icosm2;
237  unsigned int ibestdet;
238  float chi2min;
239  for (unsigned int icosmhit=0;icosmhit<Hits.size();icosmhit++){
240  GlobalPoint gphit=RHBuilder->build(Hits[icosmhit])->globalPosition();
241  unsigned int iraw= Hits[icosmhit]->geographicalId().rawId();
242  LogDebug("CosmicTrackFinder")<<" HIT POSITION "<< gphit;
243  //RC TransientTrackingRecHit* tmphit=RHBuilder->build(Hits[icosmhit]);
246  tracker->idToDet(Hits[icosmhit]->geographicalId())->surface());
247 
248  //After propagating the trajectory to a detector,
249  //find the most compatible hit in the det
250  chi2min=20000000;
251  ibestdet=1000;
252  if (prSt.isValid()){
253  LocalPoint prLoc = prSt.localPosition();
254  LogDebug("CosmicTrackFinder") <<"STATE PROPAGATED AT DET "<<iraw<<" "<<prSt;
255  for(icosm2=icosmhit;icosm2<Hits.size();icosm2++){
256 
257  if (iraw==Hits[icosm2]->geographicalId().rawId()){
259  float contr= theEstimator->estimate(prSt, *tmphit).second;
260  if (contr<chi2min) {
261  chi2min=contr;
262  ibestdet=icosm2;
263  }
264  if (icosm2!=icosmhit) icosmhit++;
265 
266  }
267  else icosm2=Hits.size();
268  }
269 
270  if(chi2min<chi2cut)
271  LogDebug("CosmicTrackFinder")<<"Chi2 contribution for hit at "
272  <<RHBuilder->build(Hits[ibestdet])->globalPosition()
273  <<" is "<<chi2min;
274 
275  if(traj.foundHits()<3 &&(chi2min<chi2cut)){
276  //check on the first hit after the seed
277  GlobalVector ck=RHBuilder->build(Hits[ibestdet])->globalPosition()-
279  if ((abs(ck.x()/ck.y())>2)||(abs(ck.z()/ck.y())>2)) chi2min=300;
280  }
281  if (chi2min<chi2cut){
282  if ( abs(prLoc.x()) < 25 && abs(prLoc.y()) < 25 ){
283  TransientTrackingRecHit::RecHitPointer tmphitbestdet=RHBuilder->build(Hits[ibestdet]);
284  TSOS UpdatedState= theUpdator->update( prSt, *tmphitbestdet);
285  if (UpdatedState.isValid()){
286 
287  traj.push(std::move(TM(prSt,UpdatedState,RHBuilder->build(Hits[ibestdet])
288  , chi2min)));
289  LogDebug("CosmicTrackFinder") <<
290  "STATE UPDATED WITH HIT AT POSITION "
291  <<tmphitbestdet->globalPosition()
292  <<UpdatedState<<" "
293  <<traj.chiSquared();
294 
295  hits.push_back(tmphitbestdet);
296  }
297  }else LogDebug("CosmicTrackFinder")<<" Hits outside module surface "<< prLoc;
298  }else LogDebug("CosmicTrackFinder")<<" State can not be updated with hit at position " <<gphit;
299  }else LogDebug("CosmicTrackFinder")<<" State can not be propagated at det "<< iraw;
300  }
301 
302 
303 
304  if ( qualityFilter( traj)){
305  const TrajectorySeed& tmpseed=traj.seed();
307  tracker->idToDet((*hits.begin())->geographicalId())->surface()).isValid()){
308  TSOS startingState=
310  tracker->idToDet((*hits.begin())->geographicalId())->surface());
311 
312  trajFit = theFitter->fit(tmpseed,hits, startingState );
313  }
314  }
315 
316 }
#define LogDebug(id)
KFTrajectoryFitter * theFitter
int foundHits() const
Definition: Trajectory.h:225
TrajectorySeed const & seed() const
Access to the seed used to reconstruct the Trajectory.
Definition: Trajectory.h:285
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
T y() const
Definition: PV3DBase.h:63
GlobalPoint globalPosition() const
std::vector< Trajectory > trajFit
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
const TransientTrackingRecHitBuilder * RHBuilder
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const override
Definition: KFUpdator.cc:75
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:174
T z() const
Definition: PV3DBase.h:64
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
TrajectoryMeasurement const & firstMeasurement() const
Definition: Trajectory.h:187
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:53
PropagatorWithMaterial * thePropagator
float chiSquared() const
Definition: Trajectory.h:262
Chi2MeasurementEstimator * theEstimator
bool qualityFilter(const Trajectory &traj)
const TrackerGeomDet * idToDet(DetId) const override
TrajectoryStateOnSurface const & updatedState() const
TransientTrackingRecHit::RecHitContainer hits
T x() const
Definition: PV3DBase.h:62
void push(const TrajectoryMeasurement &tm)
Definition: Trajectory.cc:50
def move(src, dest)
Definition: eostools.py:510
Trajectory CosmicTrajectoryBuilder::createStartingTrajectory ( const TrajectorySeed seed) const

Definition at line 131 of file CosmicTrajectoryBuilder.cc.

References TrajectorySeed::direction(), mps_fire::i, eostools::move(), and mps_fire::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
std::vector< TrajectoryMeasurement > seedMeasurements(const TrajectorySeed &seed) const
def move(src, dest)
Definition: eostools.py:510
const TransientTrackingRecHitBuilder* CosmicTrajectoryBuilder::hitBuilder ( ) const
inline

Definition at line 99 of file CosmicTrajectoryBuilder.h.

References SurveyInfoScenario_cff::seed.

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, trackAssociatorByChi2_cfi::chi2cut, Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, edm::EventSetup::get(), oppositeToMomentum, edm::ESHandle< T >::product(), and mixOne_simraw_on_sim_cfi::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 
71  theFitter= new KFTrajectoryFitter(*thePropagator,
72  *theUpdator,
73  *theEstimator) ;
74  theFitter->setHitCloner(&hitCloner);
75 
77  *theUpdator,
78  *theEstimator);
80 }
KFTrajectoryFitter * theFitter
KFTrajectorySmoother * theSmoother
edm::ESHandle< MagneticField > magfield
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
const TransientTrackingRecHitBuilder * RHBuilder
const T & get() const
Definition: EventSetup.h:59
PropagatorWithMaterial * thePropagator
Chi2MeasurementEstimator * theEstimator
void setHitCloner(TkCloner const *hc) override
T const * product() const
Definition: ESHandle.h:86
bool CosmicTrajectoryBuilder::qualityFilter ( const Trajectory traj)
private

Definition at line 320 of file CosmicTrajectoryBuilder.cc.

References Trajectory::foundHits(), hfClusterShapes_cfi::hits, and Trajectory::recHits().

320  {
321  int ngoodhits=0;
322  if(geometry=="MTCC"){
323  auto hits = traj.recHits();
324  for(auto hit=hits.begin();hit!=hits.end();hit++){
325  unsigned int iid=(*hit)->hit()->geographicalId().rawId();
326  //CHECK FOR 3 hits r-phi
327  if(((iid>>0)&0x3)!=1) ngoodhits++;
328  }
329  }
330  else ngoodhits=traj.foundHits();
331 
332  if ( ngoodhits >= theMinHits) {
333  return true;
334  }
335  else {
336  return false;
337  }
338 }
int foundHits() const
Definition: Trajectory.h:225
ConstRecHitContainer recHits() const
Definition: Trajectory.h:204
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, hfClusterShapes_cfi::hits, 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 rpcPointValidation_cfi::recHit, TrajectorySeed::recHits(), mps_fire::result, GeomDet::surface(), and TrackInfoProducer_cfi::updatedState.

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) {
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:42
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
std::pair< const_iterator, const_iterator > range
TSOS startingTSOS(const TrajectorySeed &seed) const
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
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(), hfClusterShapes_cfi::hits, LogDebug, TrajectorySeed::recHits(), and mixOne_simraw_on_sim_cfi::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 
195  for(ipix=collpixel.data().begin();ipix!=collpixel.data().end();ipix++){
196  float ych= RHBuilder->build(&(*ipix))->globalPosition().y();
197  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
198  allHits.push_back(&(*ipix));
199  }
200 
201  for(istrip=collrphi.data().begin();istrip!=collrphi.data().end();istrip++){
202  float ych= RHBuilder->build(&(*istrip))->globalPosition().y();
203  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
204  allHits.push_back(&(*istrip));
205  }
206 
207  for(istrip=collstereo.data().begin();istrip!=collstereo.data().end();istrip++){
208  float ych= RHBuilder->build(&(*istrip))->globalPosition().y();
209  if ((seed_plus && (ych<yref)) || (!(seed_plus) && (ych>yref)))
210  allHits.push_back(&(*istrip));
211  }
212 
213  if (seed_plus)
214  stable_sort(allHits.begin(),allHits.end(),CompareHitY_plus(*tracker));
215  else
216  stable_sort(allHits.begin(),allHits.end(),CompareHitY(*tracker));
217 
218  return allHits;
219 }
#define LogDebug(id)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
edm::ESHandle< TrackerGeometry > tracker
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
data_type const * data(size_t cell) const
std::pair< const_iterator, const_iterator > range
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
range recHits() const
TransientTrackingRecHit::RecHitContainer hits
TrajectoryStateOnSurface CosmicTrajectoryBuilder::startingTSOS ( const TrajectorySeed seed) const
private

Definition at line 222 of file CosmicTrajectoryBuilder.cc.

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

223 {
224  PTrajectoryStateOnDet pState( seed.startingState());
225  const GeomDet* gdet = (&(*tracker))->idToDet(DetId(pState.detId()));
226  TSOS State= trajectoryStateTransform::transientState( pState, &(gdet->surface()),
227  &(*magfield));
228  return State;
229 
230 }
edm::ESHandle< MagneticField > magfield
Definition: DetId.h:18
PTrajectoryStateOnDet const & startingState() const
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
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.

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.