107 if (
positiveYOnly && (outrhit->globalPosition().y() < 0 || innrhit->globalPosition().y() < 0 ||
108 outrhit->globalPosition().y() < innrhit->globalPosition().y()))
110 if (
negativeYOnly && (outrhit->globalPosition().y() > 0 || innrhit->globalPosition().y() > 0 ||
111 outrhit->globalPosition().y() > innrhit->globalPosition().y()))
119 float ch = helix.stateAtVertex().charge();
120 float Mom =
sqrt(gv.x() * gv.x() + gv.y() * gv.y() + gv.z() * gv.z());
131 if ((outer.
y() - inner.
y()) > 0) {
135 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
138 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
146 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
156 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
159 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
167 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
184 LogDebug(
"CosmicSeedFinder") <<
"inner point of the seed " << inner <<
" outer point of the seed " <<
outer;
189 if (
positiveYOnly && (outrhit->globalPosition().y() < 0 || innrhit->globalPosition().y() < 0 ||
190 outrhit->globalPosition().y() < innrhit->globalPosition().y()))
192 if (
negativeYOnly && (outrhit->globalPosition().y() > 0 || innrhit->globalPosition().y() > 0 ||
193 outrhit->globalPosition().y() > innrhit->globalPosition().y()))
201 for (
int i = 0;
i < 2;
i++) {
203 int predsign = (2 *
i) - 1;
204 if ((outer.y() - inner.
y()) > 0) {
206 outer, (inner - outer) * (
seedpt / (inner - outer).
mag()), predsign, &(*
magfield));
210 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS " << CosmicSeed;
215 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
218 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
221 outerUpdated, (*(
HitPairs[is].
outer())).geographicalId().rawId());
226 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
232 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
234 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
238 outer, (outer - inner) * (
seedpt / (outer - inner).
mag()), predsign, &(*
magfield));
240 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS " << CosmicSeed;
245 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
248 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
251 outerUpdated, (*(
HitPairs[is].
outer())).geographicalId().rawId());
256 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
262 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
264 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
edm::ESHandle< TrackerGeometry > tracker
int nominalValue() const
The nominal field value for this map in kGauss.
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
const Plane & surface() const
The nominal surface of the GeomDet.
PropagatorWithMaterial * thePropagatorOp
OrderedHitTriplets HitTriplets
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const override
BaseTrackerRecHit const * ConstRecHitPointer
PropagatorWithMaterial * thePropagatorAl
unsigned int size() const override
unsigned int size() const override
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
const TrackerGeomDet * idToDet(DetId) const override
edm::ESHandle< MagneticField > magfield