47 cloner = (*builder).cloner();
51 cloner = (*builder).cloner();
58 if ( hits.
size() < 2)
return;
86 float zErr = vertexErr.czz();
87 float transverseErr = vertexErr.cxx();
90 C[1][1] = deltaEta*deltaEta*4;
91 C[2][2] = deltaPhi*deltaPhi*4;
92 C[3][3] = transverseErr;
93 C[4][4] = zErr*sin2Theta + transverseErr*(1-sin2Theta);
114 if (helix.isValid()) {
115 kine = helix.stateAtVertex();
117 GlobalVector initMomentum(tth2->globalPosition() - vertexPos);
118 initMomentum *= (100./initMomentum.perp());
144 float sin2th = sin2Theta;
149 C[3][3] = transverseErr;
150 C[4][4] = zErr*sin2th + transverseErr*(1.f-sin2th);
160 const Propagator* propagator = &(*propagatorHandle);
171 for (
unsigned int iHit = 0; iHit < hits.
size(); iHit++) {
172 hit = hits[iHit]->hit();
180 std::unique_ptr<BaseTrackerRecHit> newtth(
refitHit( tth, state));
182 if (!
checkHit(state,&*newtth))
return;
184 updatedState = updator.
update(state, *newtth);
185 if (!updatedState.
isValid())
return;
float originRBound() const
bounds the particle vertex in the transverse plane
virtual FreeTrajectoryState propagate(const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
GlobalPoint const & origin() const
const GlobalTrajectoryParameters & parameters() const
virtual void init(const TrackingRegion ®ion, const edm::EventSetup &es, const SeedComparitor *filter)
edm::ESHandle< Propagator > propagatorHandle
const Margin & phiMargin() const
void buildSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits, const FreeTrajectoryState &fts) const
virtual bool initialKinematic(GlobalTrajectoryParameters &kine, const SeedingHitSet &hits) const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
TrackCharge charge() const
CurvilinearTrajectoryError initialError(float sin2Theta) const
virtual bool compatible(const SeedingHitSet &hits, const TrackingRegion ®ion) const =0
uint32_t rawId() const
get the raw id
GlobalVector const & direction() const
the direction around which region is constructed
BaseTrackerRecHit const * ConstRecHitPointer
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
std::vector< TrajectorySeed > TrajectorySeedCollection
std::string thePropagatorLabel
SeedingHitSet::RecHitPointer refitHit(SeedingHitSet::ConstRecHitPointer hit, const TrajectoryStateOnSurface &state) const
const TrackingRegion * region
virtual ~SeedFromConsecutiveHitsCreator()
GlobalVector momentum() const
double theMinOneOverPtError
virtual void makeSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits)
GlobalVector momentum() const
bool forceKinematicWithRegionDirection_
float originZBound() const
bounds the particle vertex in the longitudinal plane
GlobalPoint position() const
Vector3DBase unit() const
double theOriginTransverseErrorMultiplier
T const * product() const
edm::ESHandle< TrackerGeometry > tracker
float ptMin() const
minimal pt of interest
Square< F >::type sqr(const F &f)
static int position[264][3]
unsigned int size() const
const MagneticField & magneticField() const
DetId geographicalId() const
TrackCharge charge() const
edm::ESHandle< MagneticField > bfield
const SeedComparitor * filter
bool checkHit(const TrajectoryStateOnSurface &tsos, SeedingHitSet::ConstRecHitPointer hit) const
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval