23 template <
class T> T
sqr( T
t) {
return t*
t;}
27 using namespace ctfseeding;
43 LogDebug(
"CosmicTrackingRegion") <<
"Looking at hits on subdet/layer " << layer->
name();
54 LogDebug(
"CosmicTrackingRegion") <<
"The initial region characteristics are:" <<
"\n"
55 <<
" Origin = " << origin() <<
"\n"
56 <<
" Direction = " << direction() <<
"\n"
57 <<
" Eta = " << origin().eta() <<
"\n"
58 <<
" Phi = " << origin().phi();
70 <<
"The state used to find measurement with the measurement tracker is:\n" << tsos;
84 LogDebug(
"CosmicTrackingRegion") <<
"The initial state propagates to the layer surface: \n" << stateOnLayer
91 LogDebug(
"CosmicTrackingRegion") <<
"The initial state does not propagate to the layer surface.";
96 vector<DetWithState> compatDets = detLayer->
compatibleDets(tsos, prop, est);
97 LogDebug(
"CosmicTrackingRegion") <<
"Compatible dets = " << compatDets.size();
107 measurementTracker->update(ev);
109 vector<TrajectoryMeasurement> meas = lm.
measurements(*detLayer, tsos, prop, est);
110 LogDebug(
"CosmicTrackingRegion") <<
"Number of Trajectory measurements = " << meas.size()
111 <<
" but the last one is always an invalid hit, by construction.";
114 typedef vector<TrajectoryMeasurement>::const_iterator IM;
116 for (IM im = meas.begin(); im != meas.end(); im++) {
119 if (ptrHit->isValid()) {
120 LogDebug(
"CosmicTrackingRegion") <<
"Hit found in the region at position: "<<ptrHit->globalPosition();
121 result.push_back( ptrHit );
124 else LogDebug(
"CosmicTrackingRegion") <<
"No valid hit";
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Plane &plane) const
propagation to plane
virtual TrackingRegion::Hits hits(const edm::Event &ev, const edm::EventSetup &es, const ctfseeding::SeedingLayer *layer) const
allowed eta range [eta_min, eta_max] interval
const DetLayer * detLayer() const
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
GlobalPoint globalPosition() const
static PlanePointer build(const PositionType &pos, const RotationType &rot, MediumProperties *mp=0)
virtual std::vector< DetWithState > compatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
FreeTrajectoryState * freeState(bool withErrors=true) const
Cos< T >::type cos(const T &t)
T const * product() const
Square< F >::type sqr(const F &f)
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState