|
|
Go to the documentation of this file.
31 desc.add<
std::string>(
"propagator",
"PropagatorWithMaterialParabolicMf");
32 desc.add<
double>(
"SeedMomentumForBOFF", 5.0);
33 desc.add<
double>(
"OriginTransverseErrorMultiplier", 1.0);
34 desc.add<
double>(
"MinOneOverPtError", 1.0);
37 desc.add<
bool>(
"forceKinematicWithRegionDirection",
false);
59 cloner = (*builder).cloner();
89 constexpr
float minC00 = 0.4f;
93 auto twiceDeltaLambda =
96 C[1][1] = twiceDeltaLambda * twiceDeltaLambda;
97 C[2][2] = twiceDeltaPhi * twiceDeltaPhi;
98 C[3][3] = transverseErr;
99 C[4][4] = zErr * sin2Theta + transverseErr * (1.f - sin2Theta);
115 if (helix.isValid()) {
116 kine = helix.stateAtVertex();
118 GlobalVector initMomentum(tth2->globalPosition() - vertexPos);
119 initMomentum *= (100.f / initMomentum.perp());
140 auto sin2th = sin2Theta;
145 C[1][1] =
C[2][2] = 1.;
146 C[3][3] = transverseErr;
147 C[4][4] = zErr * sin2th + transverseErr * (1.f - sin2th);
166 for (
unsigned int iHit = 0; iHit <
hits.size(); iHit++) {
171 if (!
state.isValid())
176 std::unique_ptr<BaseTrackerRecHit> newtth(
refitHit(tth,
state));
GlobalPoint const & origin() const
const TrackerGeomDet * idToDet(DetId) const override
T const * product() const
GlobalVector momentum() const
std::vector< TrajectorySeed > TrajectorySeedCollection
GlobalPoint position() const
void init(const TrackingRegion ®ion, const edm::EventSetup &es, const SeedComparitor *filter) final
BaseTrackerRecHit const * ConstRecHitPointer
TrackCharge charge() const
TrackCharge charge() const
const SeedComparitor * filter
const Margin & phiMargin() const
virtual bool compatible(const SeedingHitSet &hits) const =0
std::string thePropagatorLabel
edm::ESHandle< TrackerGeometry > tracker
Vector3DBase unit() const
void makeSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits) final
int nominalValue() const
The nominal field value for this map in kGauss.
edm::ESHandle< MagneticField > bfield
void buildSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits, const FreeTrajectoryState &fts) const
float ptMin() const
minimal pt of interest
float originRBound() const
bounds the particle vertex in the transverse plane
GlobalVector momentum() const
bool checkHit(const TrajectoryStateOnSurface &tsos, SeedingHitSet::ConstRecHitPointer hit) const
~SeedFromConsecutiveHitsCreator() override
static void fillDescriptions(edm::ParameterSetDescription &desc)
float originZBound() const
bounds the particle vertex in the longitudinal plane
static int position[264][3]
GlobalVector const & direction() const
the direction around which region is constructed
const GlobalTrajectoryParameters & parameters() const
float theOriginTransverseErrorMultiplier
const TrackingRegion * region
const Range & tanLambdaRange() const
float theMinOneOverPtError
SeedingHitSet::RecHitPointer refitHit(SeedingHitSet::ConstRecHitPointer hit, const TrajectoryStateOnSurface &state) const
bool forceKinematicWithRegionDirection_
CurvilinearTrajectoryError initialError(float sin2Theta) const
const MagneticField & magneticField() const
virtual bool initialKinematic(GlobalTrajectoryParameters &kine, const SeedingHitSet &hits) const
const AlgebraicSymMatrix55 & matrix() const
edm::ESHandle< Propagator > propagatorHandle