|
std::unique_ptr< HitRZCompatibility > | checkRZ (const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer=nullptr, float lr=0, float gz=0, float dr=0, float dz=0) const override |
|
void | checkTracks (reco::TrackCollection const &tracks, std::vector< bool > &mask) const override |
|
std::unique_ptr< TrackingRegion > | clone () const override |
|
| CosmicTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const MagneticField &magField, float dummy=0., const MeasurementTrackerEvent *measurementTracker=nullptr) |
|
| CosmicTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const MagneticField &magField, const MeasurementTrackerEvent *measurementTracker=nullptr) |
|
| CosmicTrackingRegion (CosmicTrackingRegion const &rh) |
|
TrackingRegion::Hits | hits (const SeedingLayerSetsHits::SeedingLayer &layer) const override |
| get hits from layer compatible with region constraints More...
|
|
std::string | name () const override |
|
| ~CosmicTrackingRegion () override |
|
std::vector< bool > | checkTracks (reco::TrackCollection const &tracks) const |
| return a boolean mask over the TrackCollection reflecting the compatibility of each track with the region constraints More...
|
|
GlobalVector const & | direction () const |
| the direction around which region is constructed More...
|
|
Range | invPtRange () const |
| inverse pt range More...
|
|
GlobalPoint const & | origin () const |
|
float | originRBound () const |
| bounds the particle vertex in the transverse plane More...
|
|
float | originZBound () const |
| bounds the particle vertex in the longitudinal plane More...
|
|
float | phiDirection () const |
|
virtual std::string | print () const |
|
float | ptMin () const |
| minimal pt of interest More...
|
|
std::unique_ptr< TrackingRegion > | restrictedRegion (const GlobalPoint &originPos, const float &originRBound, const float &originZBound) const |
| clone region with new vertex position More...
|
|
| TrackingRegion () |
|
| TrackingRegion (const GlobalVector &direction, const GlobalPoint &originPos, const Range &invPtRange, const float &originRBound, const float &originZBound) |
|
GlobalVector const & | unitDirection () const |
|
virtual | ~TrackingRegion () |
|
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 extraflags_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)
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
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