#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 edm::EventSetup &iSetup, 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 edm::EventSetup &es, 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 &&)=delete |
RectangularEtaPhiTrackingRegion & | operator= (RectangularEtaPhiTrackingRegion const &)=delete |
const Margin & | phiMargin () const |
std::string | print () const override |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false) | |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false) | |
RectangularEtaPhiTrackingRegion (const GlobalVector &dir, const GlobalPoint &vertexPos, Range invPtRange, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false, bool useMS=true) | |
RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion &&)=default | |
RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion const &rh) | |
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 (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 edm::EventSetup &iSetup, const DetLayer *outerlayer) const |
std::unique_ptr< MeasurementEstimator > | estimator (const BarrelDetLayer *layer, const edm::EventSetup &iSetup) const |
std::unique_ptr< MeasurementEstimator > | estimator (const ForwardDetLayer *layer, const edm::EventSetup &iSetup) const |
void | initEtaRange (const GlobalVector &dir, const Margin &margin) |
OuterHitPhiPrediction | phiWindow (const edm::EventSetup &iSetup) const |
HitRZConstraint | rzConstraint () const |
Private Attributes | |
cacheHits | cache |
Range | theEtaRange |
Range | theLambdaRange |
float | theMeanLambda |
const MeasurementTrackerEvent * | theMeasurementTracker = nullptr |
const UseMeasurementTracker | theMeasurementTrackerUsage = UseMeasurementTracker::kNever |
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 25 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 227 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 228 of file RectangularEtaPhiTrackingRegion.h.
typedef TkTrackingRegionsMargin<float> RectangularEtaPhiTrackingRegion::Margin |
Definition at line 60 of file RectangularEtaPhiTrackingRegion.h.
Enumerator | |
---|---|
kNever | |
kForSiStrips | |
kAlways |
Definition at line 27 of file RectangularEtaPhiTrackingRegion.h.
|
inline |
Definition at line 45 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
Definition at line 87 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 116 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 143 of file RectangularEtaPhiTrackingRegion.h.
References DeadROC_duringRun::dir, and initEtaRange().
|
inlineoverridevirtual |
utility to check eta/theta hit compatibility with region constraints and outer hit constraint
Implements TrackingRegion.
Definition at line 182 of file RectangularEtaPhiTrackingRegion.h.
References checkRZOld().
|
private |
Definition at line 103 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), GeomDetEnumerators::barrel, alignCSCRings::corr, SimpleLineRZ::cotLine(), f, PixelPluginsPhase0_cfi::isBarrel, DetLayer::location(), SiStripPI::max, 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 51 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), cms::cuda::assert(), generateTowerEtThresholdLUT::etaRange, mps_fire::i, proxim(), ptMin, HLT_2018_cff::track, and PDWG_EXOHSCP_cff::tracks.
|
inlineoverridevirtual |
Implements TrackingRegion.
Definition at line 193 of file RectangularEtaPhiTrackingRegion.h.
|
inlinestatic |
Definition at line 34 of file RectangularEtaPhiTrackingRegion.h.
References kAlways, kForSiStrips, and kNever.
|
private |
Definition at line 172 of file RectangularEtaPhiTrackingRegion.cc.
References funct::abs(), Surface::bounds(), PixelRecoRange< T >::empty(), f, reco::helper::VirtualJetProducerHelper::intersection(), PixelRecoRange< T >::intersection(), Bounds::length(), PixelRecoUtilities::longitudinalBendingCorrection(), PixelRecoRange< T >::max(), SiStripPI::max, PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), min(), trackingPOGFilters_cfi::phiWindow, GeometricSearchDet::position(), ptMin, CosmicsPD_Skims::radius, HitZCheck::range(), OuterHitPhiPrediction::setTolerance(), HitZCheck::setTolerance(), BarrelDetLayer::specificSurface(), sqr(), mathSSE::sqrt(), BarrelDetLayer::surface(), Bounds::thickness(), w2, PV3DBase< T, PVType, FrameType >::z(), and HLTMuonOfflineAnalyzer_cfi::z0.
|
private |
Definition at line 233 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(), trackingPOGFilters_cfi::phiWindow, 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 166 of file RectangularEtaPhiTrackingRegion.h.
References theEtaRange.
|
overridevirtual |
get hits from layer compatible with region constraints
Implements TrackingRegion.
Definition at line 315 of file RectangularEtaPhiTrackingRegion.cc.
References alongMomentum, GeomDetEnumerators::barrel, Plane::build(), utilities::cache(), watchdog::const, funct::cos(), SeedingLayerSetsHits::SeedingLayer::detLayer(), DeadROC_duringRun::dir, GeomDetEnumerators::endcap, f, edm::EventSetup::get(), get, hfClusterShapes_cfi::hits, SeedingLayerSetsHits::SeedingLayer::hits(), GeomDetEnumerators::isBarrel(), GeomDetEnumerators::isEndcap(), GeomDetEnumerators::isTrackerPixel(), GeomDetEnumerators::isTrackerStrip(), DetLayer::location(), LogDebug, eostools::move(), edm::ESHandle< T >::product(), mps_fire::result, makeMuonMisalignmentScenario::rot, funct::sin(), DetLayer::subDetector(), and badGlobalMuonTaggersAOD_cff::vtx.
|
private |
Definition at line 96 of file RectangularEtaPhiTrackingRegion.cc.
References DeadROC_duringRun::dir, PVValHelper::eta, and margin.
Referenced by RectangularEtaPhiTrackingRegion().
|
inlinestatic |
Definition at line 29 of file RectangularEtaPhiTrackingRegion.h.
References cms::cuda::assert().
Referenced by MuonTrackingRegionBuilder::build().
|
inline |
is precise error calculation switched on
Definition at line 174 of file RectangularEtaPhiTrackingRegion.h.
References thePrecise.
|
inlineoverridevirtual |
Reimplemented from TrackingRegion.
Definition at line 197 of file RectangularEtaPhiTrackingRegion.h.
Referenced by config.CFG::__str__(), and validation.Sample::digest().
|
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 171 of file RectangularEtaPhiTrackingRegion.h.
References thePhiMargin.
Referenced by SeedFromConsecutiveHitsCreator::makeSeed().
|
private |
Definition at line 288 of file RectangularEtaPhiTrackingRegion.cc.
References PixelRecoUtilities::curvature(), SiStripPI::max, and min().
|
overridevirtual |
Reimplemented from TrackingRegion.
Definition at line 428 of file RectangularEtaPhiTrackingRegion.cc.
References TrackingRegion::print(), and str.
|
private |
Definition at line 296 of file RectangularEtaPhiTrackingRegion.cc.
References photonAnalyzer_cfi::rMax, photonAnalyzer_cfi::rMin, photonAnalyzer_cfi::zMax, and photonAnalyzer_cfi::zMin.
|
static |
Definition at line 82 of file RectangularEtaPhiTrackingRegion.cc.
References Exception, Skims_PA_cff::name, AlCaHLTBitMon_QueryRunRegistry::string, createJobs::tmp, and HcalDetIdTransform::transform().
Referenced by AreaSeededTrackingRegionsBuilder::AreaSeededTrackingRegionsBuilder(), CandidatePointSeededTrackingRegionsProducer::CandidatePointSeededTrackingRegionsProducer(), CandidateSeededTrackingRegionsProducer::CandidateSeededTrackingRegionsProducer(), L3MumuTrackingRegion::L3MumuTrackingRegion(), PointSeededTrackingRegionsProducer::PointSeededTrackingRegionsProducer(), TauRegionalPixelSeedGenerator::TauRegionalPixelSeedGenerator(), and TrackingRegionsFromBeamSpotAndL2Tau::TrackingRegionsFromBeamSpotAndL2Tau().
|
inline |
Definition at line 167 of file RectangularEtaPhiTrackingRegion.h.
References theLambdaRange.
Referenced by SeedFromConsecutiveHitsCreator::makeSeed().
|
mutableprivate |
Definition at line 234 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 217 of file RectangularEtaPhiTrackingRegion.h.
Referenced by etaRange().
|
private |
Definition at line 218 of file RectangularEtaPhiTrackingRegion.h.
Referenced by tanLambdaRange().
|
private |
Definition at line 220 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 225 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 221 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 219 of file RectangularEtaPhiTrackingRegion.h.
Referenced by phiMargin().
|
private |
Definition at line 222 of file RectangularEtaPhiTrackingRegion.h.
Referenced by isPrecise().
|
private |
Definition at line 224 of file RectangularEtaPhiTrackingRegion.h.
|
private |
Definition at line 223 of file RectangularEtaPhiTrackingRegion.h.