|
|
Go to the documentation of this file.
100 std::vector<std::unique_ptr<TrackingRegion>>
result;
134 double pt = staTrack.
pt();
138 GlobalVector forSmallMomentum(innerMomentum.x(), innerMomentum.y(), innerMomentum.z());
139 if (staTrack.
p() <= 1.5) {
164 if (!
vtx->isFake() &&
vtx->isValid()) {
180 double region_dEta = 0;
181 double region_dPhi = 0;
195 if (
pt > 10. &&
pt < 100.) {
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);
242 descriptions.
add(
"MuonTrackingRegionBuilder", desc);
247 descriptions.
add(
"MuonTrackingRegionBuilderHLT", desc);
250 "Build a TrackingRegion around a standalone muon. Options to define region around beamspot or primary vertex and "
251 "dynamic regions are included.");
254 desc.
add<
double>(
"EtaR_UpperLimit_Par1", 0.25);
255 desc.
add<
double>(
"DeltaR", 0.2);
257 desc.
add<
int>(
"OnDemand", -1);
259 desc.
add<
double>(
"Rescale_phi", 3.0);
260 desc.
add<
bool>(
"Eta_fixed",
false);
261 desc.
add<
double>(
"Rescale_eta", 3.0);
262 desc.
add<
double>(
"PhiR_UpperLimit_Par2", 0.2);
263 desc.
add<
double>(
"Eta_min", 0.05);
264 desc.
add<
bool>(
"Phi_fixed",
false);
265 desc.
add<
double>(
"Phi_min", 0.05);
266 desc.
add<
double>(
"PhiR_UpperLimit_Par1", 0.6);
267 desc.
add<
double>(
"EtaR_UpperLimit_Par2", 0.15);
269 desc.
add<
bool>(
"UseVertex",
false);
270 desc.
add<
double>(
"Rescale_Dz", 3.0);
271 desc.
add<
bool>(
"Pt_fixed",
false);
272 desc.
add<
bool>(
"Z_fixed",
true);
273 desc.
add<
double>(
"Pt_min", 1.5);
274 desc.
add<
double>(
"DeltaZ", 15.9);
275 desc.
add<
double>(
"DeltaEta", 0.2);
276 desc.
add<
double>(
"DeltaPhi", 0.2);
277 desc.
add<
int>(
"maxRegions", 1);
278 desc.
add<
bool>(
"precise",
true);
283 desc.
add<
double>(
"EtaR_UpperLimit_Par1", 0.25);
284 desc.
add<
double>(
"DeltaR", 0.2);
286 desc.
add<
int>(
"OnDemand", -1);
288 desc.
add<
double>(
"Rescale_phi", 3.0);
289 desc.
add<
bool>(
"Eta_fixed",
false);
290 desc.
add<
double>(
"Rescale_eta", 3.0);
291 desc.
add<
double>(
"PhiR_UpperLimit_Par2", 0.2);
292 desc.
add<
double>(
"Eta_min", 0.05);
293 desc.
add<
bool>(
"Phi_fixed",
false);
294 desc.
add<
double>(
"Phi_min", 0.05);
295 desc.
add<
double>(
"PhiR_UpperLimit_Par1", 0.6);
296 desc.
add<
double>(
"EtaR_UpperLimit_Par2", 0.15);
298 desc.
add<
bool>(
"UseVertex",
false);
299 desc.
add<
double>(
"Rescale_Dz", 3.0);
300 desc.
add<
bool>(
"Pt_fixed",
false);
301 desc.
add<
bool>(
"Z_fixed",
true);
302 desc.
add<
double>(
"Pt_min", 1.5);
303 desc.
add<
double>(
"DeltaZ", 15.9);
304 desc.
add<
double>(
"DeltaEta", 0.2);
305 desc.
add<
double>(
"DeltaPhi", 0.2);
306 desc.
add<
int>(
"maxRegions", 1);
307 desc.
add<
bool>(
"precise",
true);
void build(const edm::ParameterSet &, edm::ConsumesCollector &)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptionsHLT(edm::ParameterSetDescription &descriptions)
T const * product() const
double etaError() const
error on eta
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
double p() const
momentum vector magnitude
std::vector< Vertex > VertexCollection
collection of Vertex objects
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
double pt() const
track transverse momentum
virtual void setEvent(const edm::Event &)
Pass the Event to the algo at each event.
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
static UseMeasurementTracker intToUseMeasurementTracker(int value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool isUninitialized() const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
Global3DPoint GlobalPoint
void setComment(std::string const &value)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &, const edm::EventSetup &) const override
Create Region of Interest.
T getParameter(std::string const &) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Add Fill Descriptions.
double phiError() const
error on phi
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
Abs< T >::type abs(const T &t)
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
const Vector & momentum() const
track momentum vector
static void fillDescriptionsOffline(edm::ParameterSetDescription &descriptions)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of "!*" before the partial wildcard feature was incorporated). The per-event "cost" of each negative criterion with multiple relevant triggers is about the same as ! *was in the past
const edm::Event * theEvent
std::vector< Track > TrackCollection
collection of Tracks