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 76 of file CosmicTrajectoryBuilder.h.

Definition at line 75 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 33 of file CosmicTrajectoryBuilder.cc.

33 {}

Member Function Documentation

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

Definition at line 194 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, Trajectory::push(), Trajectory::seed(), PbPb_ZMuSkimMuonDPG_cff::tracker, TrajectoryStateOnSurface::update(), TrajectoryMeasurement::updatedState(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

194  {
195  unsigned int icosm2;
196  unsigned int ibestdet;
197  float chi2min;
198  for (unsigned int icosmhit = 0; icosmhit < Hits.size(); icosmhit++) {
199  GlobalPoint gphit = RHBuilder->build(Hits[icosmhit])->globalPosition();
200  unsigned int iraw = Hits[icosmhit]->geographicalId().rawId();
201  LogDebug("CosmicTrackFinder") << " HIT POSITION " << gphit;
202  //RC TransientTrackingRecHit* tmphit=RHBuilder->build(Hits[icosmhit]);
203  TransientTrackingRecHit::RecHitPointer tmphit = RHBuilder->build(Hits[icosmhit]);
205  tracker->idToDet(Hits[icosmhit]->geographicalId())->surface());
206 
207  //After propagating the trajectory to a detector,
208  //find the most compatible hit in the det
209  chi2min = 20000000;
210  ibestdet = 1000;
211  if (prSt.isValid()) {
212  LocalPoint prLoc = prSt.localPosition();
213  LogDebug("CosmicTrackFinder") << "STATE PROPAGATED AT DET " << iraw << " " << prSt;
214  for (icosm2 = icosmhit; icosm2 < Hits.size(); icosm2++) {
215  if (iraw == Hits[icosm2]->geographicalId().rawId()) {
217  float contr = theEstimator->estimate(prSt, *tmphit).second;
218  if (contr < chi2min) {
219  chi2min = contr;
220  ibestdet = icosm2;
221  }
222  if (icosm2 != icosmhit)
223  icosmhit++;
224 
225  } else
226  icosm2 = Hits.size();
227  }
228 
229  if (chi2min < chi2cut)
230  LogDebug("CosmicTrackFinder") << "Chi2 contribution for hit at "
231  << RHBuilder->build(Hits[ibestdet])->globalPosition() << " is " << chi2min;
232 
233  if (traj.foundHits() < 3 && (chi2min < chi2cut)) {
234  //check on the first hit after the seed
235  GlobalVector ck = RHBuilder->build(Hits[ibestdet])->globalPosition() -
237  if ((abs(ck.x() / ck.y()) > 2) || (abs(ck.z() / ck.y()) > 2))
238  chi2min = 300;
239  }
240  if (chi2min < chi2cut) {
241  if (abs(prLoc.x()) < 25 && abs(prLoc.y()) < 25) {
242  TransientTrackingRecHit::RecHitPointer tmphitbestdet = RHBuilder->build(Hits[ibestdet]);
243  TSOS UpdatedState = theUpdator->update(prSt, *tmphitbestdet);
244  if (UpdatedState.isValid()) {
245  traj.push(TM(prSt, UpdatedState, RHBuilder->build(Hits[ibestdet]), chi2min));
246  LogDebug("CosmicTrackFinder") << "STATE UPDATED WITH HIT AT POSITION " << tmphitbestdet->globalPosition()
247  << UpdatedState << " " << traj.chiSquared();
248 
249  hits.push_back(tmphitbestdet);
250  }
251  } else
252  LogDebug("CosmicTrackFinder") << " Hits outside module surface " << prLoc;
253  } else
254  LogDebug("CosmicTrackFinder") << " State can not be updated with hit at position " << gphit;
255  } else
256  LogDebug("CosmicTrackFinder") << " State can not be propagated at det " << iraw;
257  }
258 
259  if (qualityFilter(traj)) {
260  const TrajectorySeed &tmpseed = traj.seed();
261  if (thePropagatorOp
262  ->propagate(traj.lastMeasurement().updatedState(),
263  tracker->idToDet((*hits.begin())->geographicalId())->surface())
264  .isValid()) {
265  TSOS startingState = thePropagatorOp->propagate(traj.lastMeasurement().updatedState(),
266  tracker->idToDet((*hits.begin())->geographicalId())->surface());
267 
268  trajFit = theFitter->fit(tmpseed, hits, startingState);
269  }
270  }
271 }
#define LogDebug(id)
KFTrajectoryFitter * theFitter
int foundHits() const
Definition: Trajectory.h:206
TrajectorySeed const & seed() const
Access to the seed used to reconstruct the Trajectory.
Definition: Trajectory.h:263
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
T y() const
Definition: PV3DBase.h:60
GlobalPoint globalPosition() const
std::vector< Trajectory > trajFit
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
const TransientTrackingRecHitBuilder * RHBuilder
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const override
Definition: KFUpdator.cc:177
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:150
T z() const
Definition: PV3DBase.h:61
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:166
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
PropagatorWithMaterial * thePropagator
float chiSquared() const
Definition: Trajectory.h:241
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:59
void push(const TrajectoryMeasurement &tm)
Definition: Trajectory.cc:50
Trajectory CosmicTrajectoryBuilder::createStartingTrajectory ( const TrajectorySeed seed) const

Definition at line 112 of file CosmicTrajectoryBuilder.cc.

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

112  {
113  Trajectory result(seed, seed.direction());
114  std::vector<TM> &&seedMeas = seedMeasurements(seed);
115  for (auto &i : seedMeas)
116  result.push(std::move(i));
117  return result;
118 }
PropagationDirection direction() const
std::vector< TrajectoryMeasurement > seedMeasurements(const TrajectorySeed &seed) const
def move(src, dest)
Definition: eostools.py:511
const TransientTrackingRecHitBuilder* CosmicTrajectoryBuilder::hitBuilder ( ) const
inline

Definition at line 96 of file CosmicTrajectoryBuilder.h.

References SurveyInfoScenario_cff::seed.

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

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

Definition at line 35 of file CosmicTrajectoryBuilder.cc.

References alongMomentum, trackAssociatorByChi2_cfi::chi2cut, Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, edm::EventSetup::get(), volumeBasedMagneticField_1103l_cfi::magfield, oppositeToMomentum, edm::ESHandle< T >::product(), and PbPb_ZMuSkimMuonDPG_cff::tracker.

35  {
36  // FIXME: this is a memory leak generator
37 
38  //services
41 
42  if (seedplus) {
43  seed_plus = true;
46  } else {
47  seed_plus = false;
50  }
51 
52  theUpdator = new KFUpdator();
54 
56  es.get<TransientRecHitRecord>().get(theBuilderName, theBuilder);
57 
58  RHBuilder = theBuilder.product();
59  hitCloner = static_cast<TkTransientTrackingRecHitBuilder const *>(RHBuilder)->cloner();
60 
61  theFitter = new KFTrajectoryFitter(*thePropagator, *theUpdator, *theEstimator);
62  theFitter->setHitCloner(&hitCloner);
63 
66 }
KFTrajectoryFitter * theFitter
KFTrajectorySmoother * theSmoother
edm::ESHandle< MagneticField > magfield
edm::ESHandle< TrackerGeometry > tracker
PropagatorWithMaterial * thePropagatorOp
const TransientTrackingRecHitBuilder * RHBuilder
PropagatorWithMaterial * thePropagator
Chi2MeasurementEstimator * theEstimator
T get() const
Definition: EventSetup.h:73
void setHitCloner(TkCloner const *hc) override
T const * product() const
Definition: ESHandle.h:86
bool CosmicTrajectoryBuilder::qualityFilter ( const Trajectory traj)
private

Definition at line 273 of file CosmicTrajectoryBuilder.cc.

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

273  {
274  int ngoodhits = 0;
275  if (geometry == "MTCC") {
276  auto hits = traj.recHits();
277  for (auto hit = hits.begin(); hit != hits.end(); hit++) {
278  unsigned int iid = (*hit)->hit()->geographicalId().rawId();
279  //CHECK FOR 3 hits r-phi
280  if (((iid >> 0) & 0x3) != 1)
281  ngoodhits++;
282  }
283  } else
284  ngoodhits = traj.foundHits();
285 
286  if (ngoodhits >= theMinHits) {
287  return true;
288  } else {
289  return false;
290  }
291 }
int foundHits() const
Definition: Trajectory.h:206
ConstRecHitContainer recHits() const
Definition: Trajectory.h:186
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 68 of file CosmicTrajectoryBuilder.cc.

References alongMomentum, hfClusterShapes_cfi::hits, init, and iseed.

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

75  {
76  std::vector<Trajectory> trajSmooth;
77  std::vector<Trajectory>::iterator trajIter;
78 
79  TrajectorySeedCollection::const_iterator iseed;
80  unsigned int IS = 0;
81  for (iseed = collseed.begin(); iseed != collseed.end(); iseed++) {
82  bool seedplus = ((*iseed).direction() == alongMomentum);
83  init(es, seedplus);
84  hits.clear();
85  trajFit.clear();
86  trajSmooth.clear();
87  //order all the hits
88  vector<const TrackingRecHit *> allHits = SortHits(collstereo, collrphi, collmatched, collpixel, *iseed);
89  Trajectory startingTraj = createStartingTrajectory(*iseed);
90  AddHit(startingTraj, allHits);
91  for (trajIter = trajFit.begin(); trajIter != trajFit.end(); trajIter++) {
92  trajSmooth = theSmoother->trajectories((*trajIter));
93  }
94  for (trajIter = trajSmooth.begin(); trajIter != trajSmooth.end(); trajIter++) {
95  if ((*trajIter).isValid()) {
96  trajoutput.push_back((*trajIter));
97  }
98  }
99  delete theUpdator;
100  delete theEstimator;
101  delete thePropagator;
102  delete thePropagatorOp;
103  delete theFitter;
104  delete theSmoother;
105  //Only the first 30 seeds are considered
106  if (IS > 30)
107  return;
108  IS++;
109  }
110 }
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:134
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 120 of file CosmicTrajectoryBuilder.cc.

References rpcPointValidation_cfi::recHit, TrajectorySeed::recHits(), mps_fire::result, GeomDet::surface(), and TrackInfoProducer_cfi::updatedState.

120  {
121  std::vector<TrajectoryMeasurement> result;
122  TrajectorySeed::range hitRange = seed.recHits();
123  for (TrajectorySeed::const_iterator ihit = hitRange.first; ihit != hitRange.second; ihit++) {
124  //RC TransientTrackingRecHit* recHit = RHBuilder->build(&(*ihit));
126  const GeomDet *hitGeomDet = (&(*tracker))->idToDet(ihit->geographicalId());
127  TSOS invalidState(new BasicSingleTrajectoryState(hitGeomDet->surface()));
128 
129  if (ihit == hitRange.second - 1) {
131  result.emplace_back(invalidState, updatedState, recHit);
132  } else {
133  result.emplace_back(invalidState, recHit);
134  }
135  }
136 
137  return result;
138 }
std::pair< const_iterator, const_iterator > range
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
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 140 of file CosmicTrajectoryBuilder.cc.

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

144  {
145  //The Hits with global y more than the seed are discarded
146  //The Hits correspondign to the seed are discarded
147  //At the end all the hits are sorted in y
148  vector<const TrackingRecHit *> allHits;
149 
151  TrajectorySeed::range hRange = seed.recHits();
153  float yref = 0.;
154  for (ihit = hRange.first; ihit != hRange.second; ihit++) {
155  yref = RHBuilder->build(&(*ihit))->globalPosition().y();
156  hits.push_back((RHBuilder->build(&(*ihit))));
157  LogDebug("CosmicTrackFinder") << "SEED HITS" << RHBuilder->build(&(*ihit))->globalPosition();
158  }
159 
161  for (ipix = collpixel.data().begin(); ipix != collpixel.data().end(); ipix++) {
162  float ych = RHBuilder->build(&(*ipix))->globalPosition().y();
163  if ((seed_plus && (ych < yref)) || (!(seed_plus) && (ych > yref)))
164  allHits.push_back(&(*ipix));
165  }
166 
167  for (istrip = collrphi.data().begin(); istrip != collrphi.data().end(); istrip++) {
168  float ych = RHBuilder->build(&(*istrip))->globalPosition().y();
169  if ((seed_plus && (ych < yref)) || (!(seed_plus) && (ych > yref)))
170  allHits.push_back(&(*istrip));
171  }
172 
173  for (istrip = collstereo.data().begin(); istrip != collstereo.data().end(); istrip++) {
174  float ych = RHBuilder->build(&(*istrip))->globalPosition().y();
175  if ((seed_plus && (ych < yref)) || (!(seed_plus) && (ych > yref)))
176  allHits.push_back(&(*istrip));
177  }
178 
179  if (seed_plus)
180  stable_sort(allHits.begin(), allHits.end(), CompareHitY_plus(*tracker));
181  else
182  stable_sort(allHits.begin(), allHits.end(), CompareHitY(*tracker));
183 
184  return allHits;
185 }
#define LogDebug(id)
std::pair< const_iterator, const_iterator > range
edm::ESHandle< TrackerGeometry > tracker
const TransientTrackingRecHitBuilder * RHBuilder
recHitContainer::const_iterator const_iterator
data_type const * data(size_t cell) const
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
range recHits() const
TransientTrackingRecHit::RecHitContainer hits
TrajectoryStateOnSurface CosmicTrajectoryBuilder::startingTSOS ( const TrajectorySeed seed) const
private

Definition at line 187 of file CosmicTrajectoryBuilder.cc.

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

187  {
188  PTrajectoryStateOnDet pState(seed.startingState());
189  const GeomDet *gdet = (&(*tracker))->idToDet(DetId(pState.detId()));
190  TSOS State = trajectoryStateTransform::transientState(pState, &(gdet->surface()), &(*magfield));
191  return State;
192 }
edm::ESHandle< MagneticField > magfield
Definition: DetId.h:17
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 128 of file CosmicTrajectoryBuilder.h.

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

Definition at line 123 of file CosmicTrajectoryBuilder.h.

TransientTrackingRecHit::RecHitContainer CosmicTrajectoryBuilder::hits
private

Definition at line 131 of file CosmicTrajectoryBuilder.h.

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

Definition at line 115 of file CosmicTrajectoryBuilder.h.

const TransientTrackingRecHitBuilder* CosmicTrajectoryBuilder::RHBuilder
private

Definition at line 122 of file CosmicTrajectoryBuilder.h.

bool CosmicTrajectoryBuilder::seed_plus
private

Definition at line 132 of file CosmicTrajectoryBuilder.h.

std::string CosmicTrajectoryBuilder::theBuilderName
private

Definition at line 134 of file CosmicTrajectoryBuilder.h.

Chi2MeasurementEstimator* CosmicTrajectoryBuilder::theEstimator
private

Definition at line 121 of file CosmicTrajectoryBuilder.h.

KFTrajectoryFitter* CosmicTrajectoryBuilder::theFitter
private

Definition at line 125 of file CosmicTrajectoryBuilder.h.

int CosmicTrajectoryBuilder::theMinHits
private

Definition at line 127 of file CosmicTrajectoryBuilder.h.

PropagatorWithMaterial* CosmicTrajectoryBuilder::thePropagator
private

Definition at line 118 of file CosmicTrajectoryBuilder.h.

PropagatorWithMaterial* CosmicTrajectoryBuilder::thePropagatorOp
private

Definition at line 119 of file CosmicTrajectoryBuilder.h.

KFTrajectorySmoother* CosmicTrajectoryBuilder::theSmoother
private

Definition at line 124 of file CosmicTrajectoryBuilder.h.

KFUpdator* CosmicTrajectoryBuilder::theUpdator
private

Definition at line 120 of file CosmicTrajectoryBuilder.h.

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

Definition at line 116 of file CosmicTrajectoryBuilder.h.

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

Definition at line 129 of file CosmicTrajectoryBuilder.h.