CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SeedFromConsecutiveHitsTripletOnlyCreator.cc
Go to the documentation of this file.
2 
10 
11 
13  const SeedingHitSet& hits,
14  const TrackingRegion & region,
15  const edm::EventSetup& es,
16  const SeedComparitor *filter,
17  bool &passesFilter) const
18 {
20 
21  const TransientTrackingRecHit::ConstRecHitPointer& tth1 = hits[0];
22  const TransientTrackingRecHit::ConstRecHitPointer& tth2 = hits[1];
23  const TransientTrackingRecHit::ConstRecHitPointer& tth3 = hits[2];
24 
25  FastHelix helix(tth3->globalPosition(), tth2->globalPosition(), tth1->globalPosition(), es, tth1->globalPosition());
26  kine = helix.stateAtVertex().parameters();
27 
29  es.get<IdealMagneticFieldRecord>().get(bfield);
30  bool isBOFF = ( std::abs(bfield->inTesla(GlobalPoint(0,0,0)).z()) < 1e-3 );
31  if (isBOFF && (theBOFFMomentum > 0)) {
32  kine = GlobalTrajectoryParameters(kine.position(),
33  kine.momentum().unit() * theBOFFMomentum,
34  kine.charge(),
35  &*bfield);
36  }
37  passesFilter = (filter ? filter->compatible(hits, kine, helix, region) : true);
38  return kine;
39 }
virtual GlobalTrajectoryParameters initialKinematic(const SeedingHitSet &hits, const TrackingRegion &region, const edm::EventSetup &es, const SeedComparitor *filter, bool &passesFilter) const
#define abs(x)
Definition: mlp_lapack.h:159
virtual bool compatible(const SeedingHitSet &hits, const TrackingRegion &region) const =0
const T & get() const
Definition: EventSetup.h:55