A concrete implementation of TrackingRegion. Apart of vertex constraint from TrackingRegion in this implementation the region of interest is further constrainted in phi and eta around the direction of the region
Definition at line 23 of file CosmicTrackingRegion.h.
constructor (symmetric eta and phi margins).
dir - the direction around which region is constructed
the initial direction of the momentum of the particle should be in the range
phi of dir +- deltaPhi
eta of dir +- deltaEta
vertexPos - the position of the vertex (origin) of the of the region.
It is a centre of cylinder constraind with rVertex, zVertex. The track of the particle should cross the cylinder
WARNING: in the current implementaion the vertexPos is supposed to be placed on the beam line, i.e. to be of the form (0,0,float)
ptMin - minimal pt of interest
rVertex - radius of the cylinder around beam line where the tracks of interest should point to.
zVertex - half height of the cylinder around the beam line where the tracks of interest should point to.
deltaEta - allowed deviation of the initial direction of particle in eta in respect to direction of the region
deltaPhi - allowed deviation of the initial direction of particle in phi in respect to direction of the region
Definition at line 51 of file CosmicTrackingRegion.h.
const MagneticField * theMagneticField_
PixelRecoRange< float > Range
float ptMin() const
minimal pt of interest
const MeasurementTrackerEvent * theMeasurementTracker_
TrackingRegion TrackingRegionBase
Definition at line 56 of file CosmicTrackingRegion.cc.
References alongMomentum, AnalyticalPropagator_cfi::AnalyticalPropagator, cms::cuda::assert(), Plane::build(), utilities::cache(), GeometricSearchDet::compatibleDets(), funct::cos(), DeadROC_duringRun::dir, PV3DBase< T, PVType, FrameType >::eta(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalPosition(), trackerHitRTTI::isUndef(), TrajectoryStateOnSurface::isValid(), LogDebug, LayerMeasurements::measurements(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), mps_fire::result, makeMuonMisalignmentScenario::rot, funct::sin(), GeometricSearchDet::surface(), and L1BJetProducer_cff::vtx.
62 LogDebug(
"CosmicTrackingRegion") <<
"Looking at hits on subdet/layer " <<
layer.name();
68 LogDebug(
"CosmicTrackingRegion") <<
"The initial region characteristics are:" 70 <<
" Origin = " <<
origin() <<
"\n" 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();
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
GlobalPoint const & origin() const
Geom::Phi< T > phi() const
Sin< T >::type sin(const T &t)
static PlanePointer build(Args &&... args)
GlobalPoint globalPosition() const
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
const MagneticField * theMagneticField_
Cos< T >::type cos(const T &t)
GlobalVector const & direction() const
the direction around which region is constructed
bool isUndef(TrackingRecHit const &hit)
const MeasurementTrackerEvent * theMeasurementTracker_
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const