Build a TrackingRegion around a standalone muon
Options: Beamspot : Origin is defined by primary vertex Vertex : Origin is defined by primary vertex (first valid vertex in the VertexCollection) if no vertex is found the beamspot is used instead DynamicZError DynamicEtaError DynamicphiError
- Author
- N. Neumeister Purdue University
-
A. Everett Purdue University
Definition at line 43 of file MuonTrackingRegionBuilder.h.
Class: MuonTrackingRegionBuilder
Build a TrackingRegion around a standalone muon
- Author
- N. Neumeister Purdue University
-
A. Everett Purdue University
Definition at line 32 of file MuonTrackingRegionBuilder.cc.
References beamSpotToken, edm::ConsumesCollector::consumes(), edm::ParameterSet::getParameter(), inputCollectionToken, RectangularEtaPhiTrackingRegion::intToUseMeasurementTracker(), RectangularEtaPhiTrackingRegion::kNever, theDeltaEta, theDeltaPhi, theDeltaR, theEtaMin, theEtaRegionPar1, theEtaRegionPar2, theHalfZ, theMaxRegions, theMeasurementTrackerToken, theNsigmaDz, theNsigmaEta, theNsigmaPhi, theOnDemand, thePhiMin, thePhiRegionPar1, thePhiRegionPar2, thePrecise, thePtMin, useFixedEta, useFixedPhi, useFixedPt, useFixedZ, useVertex, and vertexCollectionToken.
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
std::vector< Track > TrackCollection
collection of Tracks
std::vector< Vertex > VertexCollection
collection of Vertex objects
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
static UseMeasurementTracker intToUseMeasurementTracker(int value)
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
Definition at line 129 of file MuonTrackingRegionBuilder.cc.
References funct::abs(), beamSpotToken, PbPb_ZMuSkimMuonDPG_cff::deltaR, PVValHelper::eta, reco::TrackBase::etaError(), edm::Event::getByToken(), reco::Track::innerMomentum(), edm::EDGetTokenT< T >::isUninitialized(), edm::HandleBase::isValid(), LogDebug, SiStripPI::max, HLTSiStripMonitoring_cff::measurementTracker, min(), beam_dqm_sourceclient-live_cfg::minPt, reco::TrackBase::momentum(), reco::TrackBase::p(), phi, reco::TrackBase::phiError(), edm::Handle< T >::product(), DiDispStaMuonMonitor_cfi::pt, reco::TrackBase::pt(), region(), reco::BeamSpot::sigmaZ(), theDeltaEta, theDeltaPhi, theDeltaR, theEtaMin, theEtaRegionPar1, theEtaRegionPar2, theHalfZ, theMeasurementTrackerToken, theNsigmaDz, theNsigmaEta, theNsigmaPhi, theOnDemand, thePhiMin, thePhiRegionPar1, thePhiRegionPar2, thePrecise, thePtMin, useFixedEta, useFixedPhi, useFixedPt, useFixedZ, useVertex, spclusmultinvestigator_cfi::vertexCollection, vertexCollectionToken, badGlobalMuonTaggersAOD_cff::vtx, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().
134 double pt = staTrack.
pt();
138 GlobalVector forSmallMomentum(innerMomentum.x(), innerMomentum.y(), innerMomentum.z());
139 if (staTrack.
p() <= 1.5) {
140 pt =
std::abs(forSmallMomentum.perp());
161 if (vtxHandleFlag && !vertexCollection->empty()) {
163 reco::VertexCollection::const_iterator
vtx = vertexCollection->begin();
164 if (!vtx->isFake() && vtx->isValid()) {
165 vertexPos =
GlobalPoint(vtx->x(), vtx->y(), vtx->z());
180 double region_dEta = 0;
181 double region_dPhi = 0;
195 if (pt > 10. && pt < 100.) {
209 double region_dPhi1 =
std::min(phi, dphi);
210 double region_dEta1 =
std::min(eta, deta);
223 measurementTracker = hmte.
product();
226 auto region = std::make_unique<RectangularEtaPhiTrackingRegion>(
229 LogDebug(
"MuonTrackingRegionBuilder") <<
"the region parameters are:\n" 230 <<
"\n dirVector: " << dirVector <<
"\n vertexPos: " << vertexPos
231 <<
"\n minPt: " << minPt <<
"\n deltaR:" << deltaR <<
"\n deltaZ:" << deltaZ
232 <<
"\n region_dEta:" << region_dEta <<
"\n region_dPhi:" << region_dPhi
233 <<
"\n on demand parameter: " <<
static_cast<int>(
theOnDemand);
double p() const
momentum vector magnitude
double z0() const
z coordinate
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
Global3DPoint GlobalPoint
double etaError() const
error on eta
const Vector & momentum() const
track momentum vector
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
double pt() const
track transverse momentum
double phiError() const
error on phi
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
Abs< T >::type abs(const T &t)
T const * product() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double sigmaZ() const
sigma z
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
double y0() const
y coordinate
bool isUninitialized() const
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
double x0() const
x coordinate