#include <RectangularEtaPhiTrackingRegion.h>
Public Types | |
typedef TkTrackingRegionsMargin< float > | Margin |
enum | UseMeasurementTracker { UseMeasurementTracker::kNever = -1, UseMeasurementTracker::kForSiStrips = 0, UseMeasurementTracker::kAlways = 1 } |
Public Types inherited from TrackingRegion | |
typedef SeedingLayerSetsHits::ConstRecHitPointer | Hit |
typedef SeedingLayerSetsHits::Hits | Hits |
typedef PixelRecoRange< float > | Range |
Public Member Functions | |
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 |
const Range & | etaRange () const |
allowed eta range [eta_min, eta_max] interval More... | |
TrackingRegion::Hits | hits (const SeedingLayerSetsHits::SeedingLayer &layer) const override |
get hits from layer compatible with region constraints More... | |
bool | isPrecise () const |
is precise error calculation switched on More... | |
std::string | name () const override |
RectangularEtaPhiTrackingRegion & | operator= (RectangularEtaPhiTrackingRegion const &)=delete |
RectangularEtaPhiTrackingRegion & | operator= (RectangularEtaPhiTrackingRegion &&)=delete |
const Margin & | phiMargin () const |
std::string | print () const override |
RectangularEtaPhiTrackingRegion () | |
RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion const &rh) | |
RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion &&)=default | |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false) | |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false) | |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, Range invPtRange, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false, bool useMS=true) | |
const Range & | tanLambdaRange () const |
Public Member Functions inherited from TrackingRegion | |
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 |
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 () |
Static Public Member Functions | |
static UseMeasurementTracker | doubleToUseMeasurementTracker (double value) |
static UseMeasurementTracker | intToUseMeasurementTracker (int value) |
static UseMeasurementTracker | stringToUseMeasurementTracker (const std::string &name) |
Private Types | |
using | cacheHitPointer = mayown_ptr< BaseTrackerRecHit > |
using | cacheHits = std::vector< cacheHitPointer > |
Private Member Functions | |
std::unique_ptr < HitRZCompatibility > | checkRZOld (const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer) const |
std::unique_ptr < MeasurementEstimator > | estimator (const BarrelDetLayer *layer) const |
std::unique_ptr < MeasurementEstimator > | estimator (const ForwardDetLayer *layer) const |
void | initEtaRange (const GlobalVector &dir, const Margin &margin) |
OuterHitPhiPrediction | phiWindow (const MagneticField &field) const |
HitRZConstraint | rzConstraint () const |
Private Attributes | |
cacheHits | cache |
Range | theEtaRange |
const MagneticField * | theField = nullptr |
Range | theLambdaRange |
float | theMeanLambda |
const MeasurementTrackerEvent * | theMeasurementTracker = nullptr |
const UseMeasurementTracker | theMeasurementTrackerUsage = UseMeasurementTracker::kNever |
const MultipleScatteringParametrisationMaker * | theMSMaker = nullptr |
Margin | thePhiMargin |
bool | thePrecise = false |
bool | theUseEtaPhi = false |
bool | theUseMS = false |
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 26 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 242 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 243 of file RectangularEtaPhiTrackingRegion.h.
typedef TkTrackingRegionsMargin<float> RectangularEtaPhiTrackingRegion::Margin |
Definition at line 64 of file RectangularEtaPhiTrackingRegion.h.
Enumerator | |
---|---|
kNever | |
kForSiStrips | |
kAlways |
Definition at line 28 of file RectangularEtaPhiTrackingRegion.h.
|
inline |
Definition at line 46 of file RectangularEtaPhiTrackingRegion.h.
|
inline |
Definition at line 48 of file RectangularEtaPhiTrackingRegion.h.
|
default |
|
inline |
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 whereToUseMeasurementTracker: 1=everywhere, 0=outside pixles, -1=nowhere msmaker - Needed if either precise or useMS is true
Definition at line 92 of file RectangularEtaPhiTrackingRegion.h.
|
inline |
constructor (asymmetrinc eta and phi margins).
non equal left-right eta and phi bounds around direction are possible. The ranges are defined using Margin
. the meaning of other arguments is the same as in the case of symmetring bounds to direction of the region.
Definition at line 125 of file RectangularEtaPhiTrackingRegion.h.
|
inline |
constructor (explicit pt range, asymmetrinc eta and phi margins).
the meaning of other arguments is the same as in the case of symmetring bounds to direction of the region.
Definition at line 156 of file RectangularEtaPhiTrackingRegion.h.
References initEtaRange().
|
inlineoverridevirtual |
utility to check eta/theta hit compatibility with region constraints and outer hit constraint
Implements TrackingRegion.
Definition at line 199 of file RectangularEtaPhiTrackingRegion.h.
References checkRZOld().
|
private |
Definition at line 100 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), GeomDetEnumerators::barrel, alignCSCRings::corr, SimpleLineRZ::cotLine(), validate-o2o-wbm::f, PixelPluginsPhase0_cfi::isBarrel, DetLayer::location(), SiStripPI::max, SiStripPI::min, SurfaceOrientation::outer, ptMin, DetLayer::seqNum(), sqr(), mathSSE::sqrt(), vtxMean(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), PixelRecoPointRZ::z(), PV3DBase< T, PVType, FrameType >::z(), and PixelRecoLineRZ::zAtR().
Referenced by checkRZ().
|
overridevirtual |
Set the elements of the mask corresponding to the tracks that are compatable with the region. Does not reset the elements corresponding to the tracks that are not compatible.
Implements TrackingRegion.
Definition at line 48 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), cms::cuda::assert(), generateTowerEtThresholdLUT::etaRange, mps_fire::i, proxim(), ptMin, and HLT_FULL_cff::track.
|
inlineoverridevirtual |
Implements TrackingRegion.
Definition at line 209 of file RectangularEtaPhiTrackingRegion.h.
|
inlinestatic |
Definition at line 35 of file RectangularEtaPhiTrackingRegion.h.
References kAlways, kForSiStrips, and kNever.
|
private |
Definition at line 168 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), Surface::bounds(), PixelRecoRange< T >::empty(), validate-o2o-wbm::f, reco::helper::VirtualJetProducerHelper::intersection(), PixelRecoRange< T >::intersection(), Bounds::length(), PixelRecoUtilities::longitudinalBendingCorrection(), PixelRecoRange< T >::max(), SiStripPI::max, PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), SiStripPI::min, GeometricSearchDet::position(), ptMin, CosmicsPD_Skims::radius, HitZCheck::range(), OuterHitPhiPrediction::setTolerance(), HitZCheck::setTolerance(), BarrelDetLayer::specificSurface(), sqr(), mathSSE::sqrt(), BarrelDetLayer::surface(), Bounds::thickness(), w2, and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 227 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), Surface::bounds(), PixelRecoRange< T >::empty(), reco::helper::VirtualJetProducerHelper::intersection(), PixelRecoRange< T >::intersection(), PixelRecoUtilities::longitudinalBendingCorrection(), PixelRecoRange< T >::max(), PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), GeometricSearchDet::position(), ptMin, OuterHitPhiPrediction::setTolerance(), ForwardDetLayer::specificSurface(), sqr(), mathSSE::sqrt(), ForwardDetLayer::surface(), Bounds::thickness(), w2, and PV3DBase< T, PVType, FrameType >::z().
|
inline |
allowed eta range [eta_min, eta_max] interval
Definition at line 183 of file RectangularEtaPhiTrackingRegion.h.
References theEtaRange.
Referenced by FastTSGFromL2Muon::clean(), FastTSGFromIOHit::clean(), and TrackerSeedCleaner::clean().
|
overridevirtual |
get hits from layer compatible with region constraints
Implements TrackingRegion.
Definition at line 307 of file RectangularEtaPhiTrackingRegion.cc.
References alongMomentum, GeomDetEnumerators::barrel, Plane::build(), utilities::cache(), runTheMatrix::const, funct::cos(), SeedingLayerSetsHits::SeedingLayer::detLayer(), DeadROC_duringRun::dir, GeomDetEnumerators::endcap, validate-o2o-wbm::f, h, SeedingLayerSetsHits::SeedingLayer::hits(), GeomDetEnumerators::isBarrel(), GeomDetEnumerators::isEndcap(), GeomDetEnumerators::isTrackerPixel(), GeomDetEnumerators::isTrackerStrip(), DetLayer::location(), LogDebug, LayerMeasurements::recHits(), mps_fire::result, makeMuonMisalignmentScenario::rot, funct::sin(), and DetLayer::subDetector().
|
private |
Definition at line 93 of file RectangularEtaPhiTrackingRegion.cc.
References PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), TkTrackingRegionsMargin< T >::left(), and TkTrackingRegionsMargin< T >::right().
Referenced by RectangularEtaPhiTrackingRegion().
|
inlinestatic |
Definition at line 30 of file RectangularEtaPhiTrackingRegion.h.
References cms::cuda::assert(), and relativeConstraints::value.
Referenced by MuonTrackingRegionByPtBuilder::build(), and MuonTrackingRegionBuilder::build().
|
inline |
is precise error calculation switched on
Definition at line 191 of file RectangularEtaPhiTrackingRegion.h.
References thePrecise.
|
inlineoverridevirtual |
Reimplemented from TrackingRegion.
Definition at line 213 of file RectangularEtaPhiTrackingRegion.h.
Referenced by config.CFG::__str__(), geometryComparison.GeometryComparison::createScript(), validation.Sample::digest(), primaryVertexResolution.PrimaryVertexResolution::getRepMap(), primaryVertexValidation.PrimaryVertexValidation::getRepMap(), and zMuMuValidation.ZMuMuValidation::getRepMap().
|
delete |
|
delete |
|
inline |
defined phi range around phi0, margin is [phi_left,phi_right]. region is defined in a range: [phi0-phi_left, phi0+phi_right]
Definition at line 188 of file RectangularEtaPhiTrackingRegion.h.
References thePhiMargin.
Referenced by FastTSGFromL2Muon::clean(), FastTSGFromIOHit::clean(), TrackerSeedCleaner::clean(), and SeedFromConsecutiveHitsCreator::makeSeed().
|
private |
Definition at line 280 of file RectangularEtaPhiTrackingRegion.cc.
References PixelRecoUtilities::curvature(), SiStripPI::max, and SiStripPI::min.
|
overridevirtual |
Reimplemented from TrackingRegion.
Definition at line 415 of file RectangularEtaPhiTrackingRegion.cc.
References TrackingRegion::print(), and str.
|
private |
Definition at line 288 of file RectangularEtaPhiTrackingRegion.cc.
References PixelRecoPointRZ::z().
|
static |
Definition at line 79 of file RectangularEtaPhiTrackingRegion.cc.
References Exception, mergeVDriftHistosByStation::name, AlCaHLTBitMon_QueryRunRegistry::string, createJobs::tmp, and HcalDetIdTransform::transform().
Referenced by AreaSeededTrackingRegionsBuilder::AreaSeededTrackingRegionsBuilder(), CandidatePointSeededTrackingRegionsProducer::CandidatePointSeededTrackingRegionsProducer(), CandidateSeededTrackingRegionsProducer::CandidateSeededTrackingRegionsProducer(), L1MuonSeededTrackingRegionsProducer::L1MuonSeededTrackingRegionsProducer(), L3MumuTrackingRegion::L3MumuTrackingRegion(), PointSeededTrackingRegionsProducer::PointSeededTrackingRegionsProducer(), TauRegionalPixelSeedGenerator::TauRegionalPixelSeedGenerator(), and TrackingRegionsFromBeamSpotAndL2Tau::TrackingRegionsFromBeamSpotAndL2Tau().
|
inline |
Definition at line 184 of file RectangularEtaPhiTrackingRegion.h.
References theLambdaRange.
Referenced by SeedFromConsecutiveHitsCreator::makeSeed().
|
mutableprivate |
Definition at line 249 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 230 of file RectangularEtaPhiTrackingRegion.h.
Referenced by etaRange().
|
private |
Definition at line 239 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 231 of file RectangularEtaPhiTrackingRegion.h.
Referenced by tanLambdaRange().
|
private |
Definition at line 233 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 238 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 234 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 240 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 232 of file RectangularEtaPhiTrackingRegion.h.
Referenced by phiMargin().
|
private |
Definition at line 235 of file RectangularEtaPhiTrackingRegion.h.
Referenced by isPrecise().
|
private |
Definition at line 237 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 236 of file RectangularEtaPhiTrackingRegion.h.