CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
MuonTrackingRegionBuilder Class Reference

#include <MuonTrackingRegionBuilder.h>

Inheritance diagram for MuonTrackingRegionBuilder:
TrackingRegionProducer

Public Member Functions

 MuonTrackingRegionBuilder (const edm::ParameterSet &par, edm::ConsumesCollector &iC)
 Constructor. More...
 
 MuonTrackingRegionBuilder (const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
 
std::unique_ptr< RectangularEtaPhiTrackingRegionregion (const reco::TrackRef &) const
 Define tracking region. More...
 
std::unique_ptr< RectangularEtaPhiTrackingRegionregion (const reco::Track &t) const
 
std::unique_ptr< RectangularEtaPhiTrackingRegionregion (const reco::Track &, const edm::Event &) const
 
std::vector< std::unique_ptr< TrackingRegion > > regions (const edm::Event &, const edm::EventSetup &) const override
 Create Region of Interest. More...
 
virtual void setEvent (const edm::Event &)
 Pass the Event to the algo at each event. More...
 
 ~MuonTrackingRegionBuilder () override
 Destructor. More...
 
- Public Member Functions inherited from TrackingRegionProducer
virtual ~TrackingRegionProducer ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 Add Fill Descriptions. More...
 
static void fillDescriptionsHLT (edm::ParameterSetDescription &descriptions)
 
static void fillDescriptionsOffline (edm::ParameterSetDescription &descriptions)
 

Private Member Functions

void build (const edm::ParameterSet &, edm::ConsumesCollector &)
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotbeamSpotToken
 
edm::EDGetTokenT< reco::TrackCollectioninputCollectionToken
 
double theDeltaEta
 
double theDeltaPhi
 
double theDeltaR
 
double theEtaMin
 
double theEtaRegionPar1
 
double theEtaRegionPar2
 
const edm::EventtheEvent
 
double theHalfZ
 
int theMaxRegions
 
edm::EDGetTokenT< MeasurementTrackerEventtheMeasurementTrackerToken
 
double theNsigmaDz
 
double theNsigmaEta
 
double theNsigmaPhi
 
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
 
double thePhiMin
 
double thePhiRegionPar1
 
double thePhiRegionPar2
 
bool thePrecise
 
double thePtMin
 
bool useFixedEta
 
bool useFixedPhi
 
bool useFixedPt
 
bool useFixedZ
 
bool useVertex
 
edm::EDGetTokenT< reco::VertexCollectionvertexCollectionToken
 

Detailed Description

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 40 of file MuonTrackingRegionBuilder.h.

Constructor & Destructor Documentation

MuonTrackingRegionBuilder::MuonTrackingRegionBuilder ( const edm::ParameterSet par,
edm::ConsumesCollector iC 
)
inlineexplicit

Constructor.

Definition at line 45 of file MuonTrackingRegionBuilder.h.

45 { build(par, iC); }
void build(const edm::ParameterSet &, edm::ConsumesCollector &)
MuonTrackingRegionBuilder::MuonTrackingRegionBuilder ( const edm::ParameterSet par,
edm::ConsumesCollector &&  iC 
)
inlineexplicit

Definition at line 46 of file MuonTrackingRegionBuilder.h.

46 { build(par, iC); }
void build(const edm::ParameterSet &, edm::ConsumesCollector &)
MuonTrackingRegionBuilder::~MuonTrackingRegionBuilder ( )
inlineoverride

Destructor.

Definition at line 49 of file MuonTrackingRegionBuilder.h.

49 {}

Member Function Documentation

void MuonTrackingRegionBuilder::build ( const edm::ParameterSet par,
edm::ConsumesCollector iC 
)
private

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.

32  {
33 
34  // Adjust errors on Eta, Phi, Z
35  theNsigmaEta = par.getParameter<double>("Rescale_eta");
36  theNsigmaPhi = par.getParameter<double>("Rescale_phi");
37  theNsigmaDz = par.getParameter<double>("Rescale_Dz");
38 
39  // Upper limits parameters
40  theEtaRegionPar1 = par.getParameter<double>("EtaR_UpperLimit_Par1");
41  theEtaRegionPar2 = par.getParameter<double>("EtaR_UpperLimit_Par2");
42  thePhiRegionPar1 = par.getParameter<double>("PhiR_UpperLimit_Par1");
43  thePhiRegionPar2 = par.getParameter<double>("PhiR_UpperLimit_Par2");
44 
45  // Flag to switch to use Vertices instead of BeamSpot
46  useVertex = par.getParameter<bool>("UseVertex");
47 
48  // Flag to use fixed limits for Eta, Phi, Z, pT
49  useFixedZ = par.getParameter<bool>("Z_fixed");
50  useFixedPt = par.getParameter<bool>("Pt_fixed");
51  useFixedPhi = par.getParameter<bool>("Phi_fixed");
52  useFixedEta = par.getParameter<bool>("Eta_fixed");
53 
54  // Minimum value for pT
55  thePtMin = par.getParameter<double>("Pt_min");
56 
57  // Minimum value for Phi
58  thePhiMin = par.getParameter<double>("Phi_min");
59 
60  // Minimum value for Eta
61  theEtaMin = par.getParameter<double>("Eta_min");
62 
63  // The static region size along the Z direction
64  theHalfZ = par.getParameter<double>("DeltaZ");
65 
66  // The transverse distance of the region from the BS/PV
67  theDeltaR = par.getParameter<double>("DeltaR");
68 
69  // The static region size in Eta
70  theDeltaEta = par.getParameter<double>("DeltaEta");
71 
72  // The static region size in Phi
73  theDeltaPhi = par.getParameter<double>("DeltaPhi");
74 
75  // Maximum number of regions to build when looping over Muons
76  theMaxRegions = par.getParameter<int>("maxRegions");
77 
78  // Flag to use precise??
79  thePrecise = par.getParameter<bool>("precise");
80 
81  // perigee reference point ToDo: Check this
85  }
86 
87  // Vertex collection and Beam Spot
90 
91  // Input muon collection
93 }
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
Definition: TrackFwd.h:14
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
static UseMeasurementTracker intToUseMeasurementTracker(int value)
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
void MuonTrackingRegionBuilder::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Add Fill Descriptions.

Definition at line 255 of file MuonTrackingRegionBuilder.cc.

References edm::ConfigurationDescriptions::add(), fillDescriptionsHLT(), fillDescriptionsOffline(), and edm::ConfigurationDescriptions::setComment().

255  {
256  {
259  descriptions.add("MuonTrackingRegionBuilder",desc);
260  }
261  {
263  fillDescriptionsHLT(desc);
264  descriptions.add("MuonTrackingRegionBuilderHLT",desc);
265  }
266  descriptions.setComment("Build a TrackingRegion around a standalone muon. Options to define region around beamspot or primary vertex and dynamic regions are included.");
267 }
void setComment(std::string const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptionsOffline(edm::ParameterSetDescription &descriptions)
static void fillDescriptionsHLT(edm::ParameterSetDescription &descriptions)
void MuonTrackingRegionBuilder::fillDescriptionsHLT ( edm::ParameterSetDescription descriptions)
static

Definition at line 268 of file MuonTrackingRegionBuilder.cc.

References edm::ParameterSetDescription::add().

Referenced by L3MuonTrajectoryBuilder::fillDescriptions(), and fillDescriptions().

268  {
269  desc.add<double>("EtaR_UpperLimit_Par1",0.25);
270  desc.add<double>("DeltaR",0.2);
271  desc.add<edm::InputTag>("beamSpot",edm::InputTag("hltOnlineBeamSpot"));
272  desc.add<int>("OnDemand",-1);
273  desc.add<edm::InputTag>("vertexCollection",edm::InputTag("pixelVertices"));
274  desc.add<double>("Rescale_phi",3.0);
275  desc.add<bool>("Eta_fixed",false);
276  desc.add<double>("Rescale_eta",3.0);
277  desc.add<double>("PhiR_UpperLimit_Par2",0.2);
278  desc.add<double>("Eta_min",0.05);
279  desc.add<bool>("Phi_fixed",false);
280  desc.add<double>("Phi_min",0.05);
281  desc.add<double>("PhiR_UpperLimit_Par1",0.6);
282  desc.add<double>("EtaR_UpperLimit_Par2",0.15);
283  desc.add<edm::InputTag>("MeasurementTrackerName",edm::InputTag("hltESPMeasurementTracker"));
284  desc.add<bool>("UseVertex",false);
285  desc.add<double>("Rescale_Dz",3.0);
286  desc.add<bool>("Pt_fixed",false);
287  desc.add<bool>("Z_fixed",true);
288  desc.add<double>("Pt_min",1.5);
289  desc.add<double>("DeltaZ",15.9);
290  desc.add<double>("DeltaEta",0.2);
291  desc.add<double>("DeltaPhi",0.2);
292  desc.add<int>("maxRegions",1);
293  desc.add<bool>("precise",true);
294  desc.add<edm::InputTag>("input",edm::InputTag("hltL2Muons","UpdatedAtVtx"));
295 }
void MuonTrackingRegionBuilder::fillDescriptionsOffline ( edm::ParameterSetDescription descriptions)
static

Definition at line 297 of file MuonTrackingRegionBuilder.cc.

References edm::ParameterSetDescription::add().

Referenced by HIMuonTrackingRegionProducer::fillDescriptions(), and fillDescriptions().

297  {
298  desc.add<double>("EtaR_UpperLimit_Par1",0.25);
299  desc.add<double>("DeltaR",0.2);
300  desc.add<edm::InputTag>("beamSpot",edm::InputTag(""));
301  desc.add<int>("OnDemand",-1);
302  desc.add<edm::InputTag>("vertexCollection",edm::InputTag(""));
303  desc.add<double>("Rescale_phi",3.0);
304  desc.add<bool>("Eta_fixed",false);
305  desc.add<double>("Rescale_eta",3.0);
306  desc.add<double>("PhiR_UpperLimit_Par2",0.2);
307  desc.add<double>("Eta_min",0.05);
308  desc.add<bool>("Phi_fixed",false);
309  desc.add<double>("Phi_min",0.05);
310  desc.add<double>("PhiR_UpperLimit_Par1",0.6);
311  desc.add<double>("EtaR_UpperLimit_Par2",0.15);
312  desc.add<edm::InputTag>("MeasurementTrackerName",edm::InputTag(""));
313  desc.add<bool>("UseVertex",false);
314  desc.add<double>("Rescale_Dz",3.0);
315  desc.add<bool>("Pt_fixed",false);
316  desc.add<bool>("Z_fixed",true);
317  desc.add<double>("Pt_min",1.5);
318  desc.add<double>("DeltaZ",15.9);
319  desc.add<double>("DeltaEta",0.2);
320  desc.add<double>("DeltaPhi",0.2);
321  desc.add<int>("maxRegions",1);
322  desc.add<bool>("precise",true);
323  desc.add<edm::InputTag>("input",edm::InputTag(""));
324 
325 }
std::unique_ptr< RectangularEtaPhiTrackingRegion > MuonTrackingRegionBuilder::region ( const reco::TrackRef track) const

Define tracking region.

Definition at line 120 of file MuonTrackingRegionBuilder.cc.

Referenced by GlobalTrajectoryBuilderBase::defineRegionOfInterest(), TSGFromL2Muon::produce(), FastTSGFromL2Muon::produce(), region(), regions(), and HIMuonTrackingRegionProducer::regions().

120  {
121  return region(*track);
122 }
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
std::unique_ptr<RectangularEtaPhiTrackingRegion> MuonTrackingRegionBuilder::region ( const reco::Track t) const
inline

Definition at line 56 of file MuonTrackingRegionBuilder.h.

References fillDescriptions(), and region().

Referenced by region().

56 { return region(t,*theEvent); }
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
std::unique_ptr< RectangularEtaPhiTrackingRegion > MuonTrackingRegionBuilder::region ( const reco::Track staTrack,
const edm::Event ev 
) const

Definition at line 136 of file MuonTrackingRegionBuilder.cc.

References funct::abs(), beamSpotToken, deltaR(), PVValHelper::eta, reco::TrackBase::etaError(), edm::Event::getByToken(), reco::Track::innerMomentum(), edm::EDGetTokenT< T >::isUninitialized(), edm::HandleBase::isValid(), LogDebug, SiStripPI::max, min(), lostTracks_cfi::minPt, reco::TrackBase::momentum(), reco::TrackBase::p(), phi, reco::TrackBase::phiError(), edm::Handle< T >::product(), EnergyCorrector::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, particleFlowSuperClusterECAL_cfi::vertexCollection, vertexCollectionToken, badGlobalMuonTaggersAOD_cff::vtx, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

136  {
137 
138  // get track momentum/direction at vertex
139  const math::XYZVector& mom = staTrack.momentum();
140  GlobalVector dirVector(mom.x(),mom.y(),mom.z());
141  double pt = staTrack.pt();
142 
143  // Fix for StandAlone tracks with low momentum
144  const math::XYZVector& innerMomentum = staTrack.innerMomentum();
145  GlobalVector forSmallMomentum(innerMomentum.x(),innerMomentum.y(),innerMomentum.z());
146  if ( staTrack.p() <= 1.5 ) {
147  pt = std::abs(forSmallMomentum.perp());
148  }
149 
150  // initial vertex position - in the following it is replaced with beamspot/vertexing
151  GlobalPoint vertexPos(0.0,0.0,0.0);
152  // standard 15.9, if useVertex than use error from vertex
153  double deltaZ = theHalfZ;
154 
155  // retrieve beam spot information
157  bool bsHandleFlag = ev.getByToken(beamSpotToken, bs);
158 
159  // check the validity, otherwise vertexing
160  if ( bsHandleFlag && bs.isValid() && !useVertex ) {
161  vertexPos = GlobalPoint(bs->x0(), bs->y0(), bs->z0());
162  deltaZ = useFixedZ ? theHalfZ : bs->sigmaZ() * theNsigmaDz;
163  } else {
164  // get originZPos from list of reconstructed vertices (first or all)
166  bool vtxHandleFlag = ev.getByToken(vertexCollectionToken, vertexCollection);
167  // check if there exists at least one reconstructed vertex
168  if ( vtxHandleFlag && !vertexCollection->empty() ) {
169  // use the first vertex in the collection and assume it is the primary event vertex
170  reco::VertexCollection::const_iterator vtx = vertexCollection->begin();
171  if (!vtx->isFake() && vtx->isValid() ) {
172  vertexPos = GlobalPoint(vtx->x(),vtx->y(),vtx->z());
173  deltaZ = useFixedZ ? theHalfZ : vtx->zError() * theNsigmaDz;
174  }
175  }
176  }
177 
178  // inizialize to the maximum possible value
179  double deta = 0.4;
180  double dphi = 0.6;
181 
182  // evaluate the dynamical region if possible
183  deta = theNsigmaEta*(staTrack.etaError());
184  dphi = theNsigmaPhi*(staTrack.phiError());
185 
186  // Region_Parametrizations to take into account possible L2 error matrix inconsistencies
187  double region_dEta = 0;
188  double region_dPhi = 0;
189  double eta = 0;
190  double phi = 0;
191 
192  // eta, pt parametrization from MC study (circa 2009?)
193  if ( pt <= 10. ) {
194  // angular coefficients
195  float acoeff_Phi = (thePhiRegionPar2 - thePhiRegionPar1)/5;
196  float acoeff_Eta = (theEtaRegionPar2 - theEtaRegionPar1)/5;
197 
198  eta = theEtaRegionPar1 + (acoeff_Eta)*(pt-5.);
199  phi = thePhiRegionPar1 + (acoeff_Phi)*(pt-5.) ;
200  }
201  // parametrization 2nd bin in pt from MC study
202  if ( pt > 10. && pt < 100. ) {
203  eta = theEtaRegionPar2;
204  phi = thePhiRegionPar2;
205  }
206  // parametrization 3rd bin in pt from MC study
207  if ( pt >= 100. ) {
208  // angular coefficients
209  float acoeff_Phi = (thePhiRegionPar1 - thePhiRegionPar2)/900;
210  float acoeff_Eta = (theEtaRegionPar1 - theEtaRegionPar2)/900;
211 
212  eta = theEtaRegionPar2 + (acoeff_Eta)*(pt-100.);
213  phi = thePhiRegionPar2 + (acoeff_Phi)*(pt-100.);
214  }
215 
216  double region_dPhi1 = std::min(phi,dphi);
217  double region_dEta1 = std::min(eta,deta);
218 
219  // decide to use either a parametrization or a dynamical region
220  region_dPhi = useFixedPhi ? theDeltaPhi : std::max(thePhiMin,region_dPhi1);
221  region_dEta = useFixedEta ? theDeltaEta : std::max(theEtaMin,region_dEta1);
222 
223  float deltaR = theDeltaR;
224  double minPt = useFixedPt ? thePtMin : std::max(thePtMin,pt*0.6);
225 
226 
227  const MeasurementTrackerEvent* measurementTracker = nullptr;
231  measurementTracker = hmte.product();
232  }
233 
234  auto region = std::make_unique<RectangularEtaPhiTrackingRegion>(dirVector, vertexPos,
235  minPt, deltaR,
236  deltaZ, region_dEta, region_dPhi,
237  theOnDemand,
238  thePrecise,
239  measurementTracker);
240 
241  LogDebug("MuonTrackingRegionBuilder")<<"the region parameters are:\n"
242  <<"\n dirVector: "<<dirVector
243  <<"\n vertexPos: "<<vertexPos
244  <<"\n minPt: "<<minPt
245  <<"\n deltaR:"<<deltaR
246  <<"\n deltaZ:"<<deltaZ
247  <<"\n region_dEta:"<<region_dEta
248  <<"\n region_dPhi:"<<region_dPhi
249  <<"\n on demand parameter: "<<static_cast<int>(theOnDemand);
250 
251  return region;
252 
253 }
#define LogDebug(id)
double p() const
momentum vector magnitude
Definition: TrackBase.h:615
double z0() const
z coordinate
Definition: BeamSpot.h:68
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
double etaError() const
error on eta
Definition: TrackBase.h:784
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:675
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
double pt() const
track transverse momentum
Definition: TrackBase.h:621
double phiError() const
error on phi
Definition: TrackBase.h:790
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
T min(T a, T b)
Definition: MathUtil.h:58
bool isValid() const
Definition: HandleBase.h:74
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
T const * product() const
Definition: Handle.h:81
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
Definition: Track.h:60
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
double y0() const
y coordinate
Definition: BeamSpot.h:66
bool isUninitialized() const
Definition: EDGetToken.h:73
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
double x0() const
x coordinate
Definition: BeamSpot.h:64
std::vector< std::unique_ptr< TrackingRegion > > MuonTrackingRegionBuilder::regions ( const edm::Event ev,
const edm::EventSetup es 
) const
overridevirtual

Create Region of Interest.

Implements TrackingRegionProducer.

Definition at line 99 of file MuonTrackingRegionBuilder.cc.

References edm::Event::getByToken(), inputCollectionToken, region(), mps_fire::result, theMaxRegions, and l1t::tracks.

99  {
100 
101  std::vector<std::unique_ptr<TrackingRegion>> result;
102 
104  ev.getByToken(inputCollectionToken, tracks);
105 
106  int nRegions = 0;
107  for (auto it = tracks->cbegin(), ed = tracks->cend(); it != ed && nRegions < theMaxRegions; ++it) {
108  result.push_back(region(*it,ev));
109  nRegions++;
110  }
111 
112  return result;
113 
114 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
void MuonTrackingRegionBuilder::setEvent ( const edm::Event event)
virtual

Pass the Event to the algo at each event.

Definition at line 128 of file MuonTrackingRegionBuilder.cc.

References event(), and theEvent.

Referenced by TSGFromL2Muon::produce(), FastTSGFromL2Muon::produce(), HIMuonTrackingRegionProducer::regions(), and GlobalTrajectoryBuilderBase::setEvent().

128  {
129  theEvent = &event;
130 }
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

Member Data Documentation

edm::EDGetTokenT<reco::BeamSpot> MuonTrackingRegionBuilder::beamSpotToken
private

Definition at line 101 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

edm::EDGetTokenT<reco::TrackCollection> MuonTrackingRegionBuilder::inputCollectionToken
private

Definition at line 103 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and regions().

double MuonTrackingRegionBuilder::theDeltaEta
private

Definition at line 97 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theDeltaPhi
private

Definition at line 96 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theDeltaR
private

Definition at line 94 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theEtaMin
private

Definition at line 93 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theEtaRegionPar1
private

Definition at line 86 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theEtaRegionPar2
private

Definition at line 87 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

const edm::Event* MuonTrackingRegionBuilder::theEvent
private

Definition at line 71 of file MuonTrackingRegionBuilder.h.

Referenced by setEvent().

double MuonTrackingRegionBuilder::theHalfZ
private

Definition at line 95 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

int MuonTrackingRegionBuilder::theMaxRegions
private

Definition at line 80 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and regions().

edm::EDGetTokenT<MeasurementTrackerEvent> MuonTrackingRegionBuilder::theMeasurementTrackerToken
private

Definition at line 100 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theNsigmaDz
private

Definition at line 84 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theNsigmaEta
private

Definition at line 82 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::theNsigmaPhi
private

Definition at line 83 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

RectangularEtaPhiTrackingRegion::UseMeasurementTracker MuonTrackingRegionBuilder::theOnDemand
private

Definition at line 99 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::thePhiMin
private

Definition at line 92 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::thePhiRegionPar1
private

Definition at line 88 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::thePhiRegionPar2
private

Definition at line 89 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::thePrecise
private

Definition at line 78 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

double MuonTrackingRegionBuilder::thePtMin
private

Definition at line 91 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::useFixedEta
private

Definition at line 77 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::useFixedPhi
private

Definition at line 76 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::useFixedPt
private

Definition at line 75 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::useFixedZ
private

Definition at line 74 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

bool MuonTrackingRegionBuilder::useVertex
private

Definition at line 73 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().

edm::EDGetTokenT<reco::VertexCollection> MuonTrackingRegionBuilder::vertexCollectionToken
private

Definition at line 102 of file MuonTrackingRegionBuilder.h.

Referenced by build(), and region().