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 24 of file CosmicTrackingRegion.h.
CosmicTrackingRegion::CosmicTrackingRegion |
( |
const GlobalVector & |
dir, |
|
|
const GlobalPoint & |
vertexPos, |
|
|
float |
ptMin, |
|
|
float |
rVertex, |
|
|
float |
zVertex, |
|
|
float |
deltaEta, |
|
|
float |
deltaPhi, |
|
|
float |
dummy = 0. , |
|
|
const MeasurementTrackerEvent * |
measurementTracker = nullptr |
|
) |
| |
|
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
Definition at line 52 of file CosmicTrackingRegion.h.
Definition at line 59 of file CosmicTrackingRegion.cc.
64 const DetLayer* detLayer = layer.detLayer();
65 LogDebug(
"CosmicTrackingRegion") <<
"Looking at hits on subdet/layer " << layer.name();
76 LogDebug(
"CosmicTrackingRegion") <<
"The initial region characteristics are:"
78 <<
" Origin = " <<
origin() <<
"\n"
90 LogDebug(
"CosmicTrackingRegion") <<
"The state used to find measurement with the measurement tracker is:\n" << tsos;
103 LogDebug(
"CosmicTrackingRegion") <<
"The initial state propagates to the layer surface: \n"
109 LogDebug(
"CosmicTrackingRegion") <<
"The initial state does not propagate to the layer surface.";
114 vector<DetWithState> compatDets = detLayer->
compatibleDets(tsos, prop, est);
115 LogDebug(
"CosmicTrackingRegion") <<
"Compatible dets = " << compatDets.size();
122 vector<TrajectoryMeasurement> meas = lm.
measurements(*detLayer, tsos, prop, est);
123 LogDebug(
"CosmicTrackingRegion") <<
"Number of Trajectory measurements = " << meas.size()
124 <<
" but the last one is always an invalid hit, by construction.";
131 for (
auto const& im : meas) {
132 if (!im.recHit()->isValid())
136 cache.emplace_back(ptrHit);
137 result.emplace_back(ptrHit);
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(), edm::EventSetup::get(), get, TrajectoryStateOnSurface::globalPosition(), trackerHitRTTI::isUndef(), TrajectoryStateOnSurface::isValid(), LogDebug, LayerMeasurements::measurements(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), edm::ESHandle< T >::product(), mps_fire::result, makeMuonMisalignmentScenario::rot, funct::sin(), GeometricSearchDet::surface(), and extraflags_cff::vtx.