26 const math::XYZPoint regOrigin(origin().
x(), origin().y(), origin().z());
62 LogDebug(
"CosmicTrackingRegion") <<
"Looking at hits on subdet/layer " <<
layer.name();
68 LogDebug(
"CosmicTrackingRegion") <<
"The initial region characteristics are:" 70 <<
" Origin = " << origin() <<
"\n" 71 <<
" Direction = " << direction() <<
"\n" 72 <<
" Eta = " << origin().eta() <<
"\n" 73 <<
" Phi = " << origin().phi();
76 float phi =
dir.phi();
82 LogDebug(
"CosmicTrackingRegion") <<
"The state used to find measurement with the measurement tracker is:\n" << tsos;
95 LogDebug(
"CosmicTrackingRegion") <<
"The initial state propagates to the layer surface: \n" 101 LogDebug(
"CosmicTrackingRegion") <<
"The initial state does not propagate to the layer surface.";
106 vector<DetWithState> compatDets = detLayer->
compatibleDets(tsos, prop, est);
107 LogDebug(
"CosmicTrackingRegion") <<
"Compatible dets = " << compatDets.size();
113 LayerMeasurements lm(theMeasurementTracker_->measurementTracker(), *theMeasurementTracker_);
114 vector<TrajectoryMeasurement> meas = lm.
measurements(*detLayer, tsos, prop, est);
115 LogDebug(
"CosmicTrackingRegion") <<
"Number of Trajectory measurements = " << meas.size()
116 <<
" but the last one is always an invalid hit, by construction.";
123 for (
auto const& im : meas) {
124 if (!im.recHit()->isValid())
128 cache.emplace_back(ptrHit);
129 result.emplace_back(ptrHit);
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
virtual std::vector< DetWithState > compatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Geom::Phi< T > phi() const
Sin< T >::type sin(const T &t)
std::vector< Track > TrackCollection
collection of Tracks
constexpr std::array< uint8_t, layerIndexSize > layer
static PlanePointer build(Args &&... args)
GlobalPoint globalPosition() const
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const override
auto const & tracks
cannot be loose
SeedingLayerSetsHits::Hits Hits
XYZPointD XYZPoint
point in space with cartesian internal representation
Square< F >::type sqr(const F &f)
FreeTrajectoryState const * freeState(bool withErrors=true) const
bool isUndef(TrackingRecHit const &hit)
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
TrackingRegion::Hits hits(const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
void hits_(const T &layer, TrackingRegion::Hits &result) const