CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
HLTMuonL2PreFilter Class Reference

#include <HLTMuonL2PreFilter.h>

Inheritance diagram for HLTMuonL2PreFilter:
HLTFilter edm::global::EDFilter<> edm::global::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
 HLTMuonL2PreFilter (const edm::ParameterSet &)
 
 ~HLTMuonL2PreFilter ()
 
- Public Member Functions inherited from HLTFilter
 HLTFilter (const edm::ParameterSet &config)
 
int module (edm::Event const &) const
 
const std::string * moduleLabel () const
 
int path (edm::Event const &) const
 
const std::string * pathName (edm::Event const &) const
 
std::pair< int, int > pmid (edm::Event const &) const
 
bool saveTags () const
 
virtual ~HLTFilter ()
 
- Public Member Functions inherited from edm::global::EDFilter<>
 EDFilter ()=default
 
- Public Member Functions inherited from edm::global::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilterBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from HLTFilter
static void makeHLTFilterDescription (edm::ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::global::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Attributes

std::vector< double > absetaBins_
 
edm::InputTag beamSpotTag_
 input tag of the beam spot More...
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
edm::InputTag candTag_
 input tag of L2 muons More...
 
edm::EDGetTokenT
< reco::RecoChargedCandidateCollection
candToken_
 
bool cutOnChambers_
 choose whether to apply cut on number of chambers (DT+CSC) More...
 
double maxDr_
 cut on impact parameter wrt to the beam spot More...
 
double maxDz_
 cut on dz wrt to the beam spot More...
 
double maxEta_
 maxEta cut More...
 
double min_DxySig_
 dxy significance cut More...
 
double minDr_
 cut on impact parameter wrt to the beam spot More...
 
int minN_
 minimum number of muons to fire the trigger More...
 
std::vector< int > minNchambers_
 minimum number of valid chambers More...
 
std::vector< int > minNhits_
 minimum number of valid muon hits More...
 
std::vector< int > minNstations_
 minimum number of muon stations used More...
 
double minPt_
 pt threshold in GeV More...
 
double nSigmaPt_
 pt uncertainty margin (in number of sigmas) More...
 
edm::InputTag previousCandTag_
 input tag of the preceeding L1 filter in the path More...
 
edm::EDGetTokenT
< trigger::TriggerFilterObjectWithRefs
previousCandToken_
 
edm::InputTag seedMapTag_
 input tag of the map from the L2 seed to the sister L2 seeds of cleaned tracks More...
 
edm::EDGetTokenT< SeedMapseedMapToken_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDFilterBase
typedef EDFilterBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

This class is an HLTFilter (-> EDFilter) implementing a first filtering for HLT muons

Author
J. Alcaraz

See header file for documentation

Author
J. Alcaraz

Definition at line 23 of file HLTMuonL2PreFilter.h.

Constructor & Destructor Documentation

HLTMuonL2PreFilter::HLTMuonL2PreFilter ( const edm::ParameterSet iConfig)
explicit

Definition at line 27 of file HLTMuonL2PreFilter.cc.

References absetaBins_, beamSpotTag_, candTag_, cutOnChambers_, edm::InputTag::encode(), Exception, i, edm::isDebugEnabled(), j, LogDebug, maxDr_, maxDz_, maxEta_, min_DxySig_, minDr_, minN_, minNchambers_, minNhits_, minNstations_, minPt_, nSigmaPt_, previousCandTag_, HLTFilter::saveTags(), seedMapTag_, and contentValuesCheck::ss.

27  : HLTFilter(iConfig),
28  beamSpotTag_( iConfig.getParameter<edm::InputTag>("BeamSpotTag") ),
29  beamSpotToken_(consumes<reco::BeamSpot>(beamSpotTag_)),
30  candTag_( iConfig.getParameter<edm::InputTag >("CandTag") ),
31  candToken_(consumes<reco::RecoChargedCandidateCollection>(candTag_)),
32  previousCandTag_( iConfig.getParameter<edm::InputTag >("PreviousCandTag") ),
33  previousCandToken_(consumes<trigger::TriggerFilterObjectWithRefs>(previousCandTag_)),
34  seedMapTag_( iConfig.getParameter<edm::InputTag >("SeedMapTag") ),
35  seedMapToken_(consumes<SeedMap>(seedMapTag_)),
36  minN_( iConfig.getParameter<int>("MinN") ),
37  maxEta_( iConfig.getParameter<double>("MaxEta") ),
38  absetaBins_( iConfig.getParameter<std::vector<double> >("AbsEtaBins") ),
39  minNstations_( iConfig.getParameter<std::vector<int> >("MinNstations") ),
40  minNhits_( iConfig.getParameter<std::vector<int> >("MinNhits") ),
41  cutOnChambers_( iConfig.getParameter<bool>("CutOnChambers") ),
42  minNchambers_( iConfig.getParameter<std::vector<int> >("MinNchambers") ),
43  maxDr_( iConfig.getParameter<double>("MaxDr") ),
44  minDr_( iConfig.getParameter<double>("MinDr") ),
45  maxDz_( iConfig.getParameter<double>("MaxDz") ),
46  min_DxySig_(iConfig.getParameter<double> ("MinDxySig")),
47  minPt_( iConfig.getParameter<double>("MinPt") ),
48  nSigmaPt_( iConfig.getParameter<double>("NSigmaPt") )
49 {
50  using namespace std;
51 
52  // check that number of eta bins matches number of nStation cuts
53  if( minNstations_.size()!=absetaBins_.size() ||
54  minNhits_.size()!=absetaBins_.size() ||
55  ( cutOnChambers_ && minNchambers_.size()!=absetaBins_.size() ) ) {
56  throw cms::Exception("Configuration") << "Number of MinNstations, MinNhits, or MinNchambers cuts "
57  << "does not match number of eta bins." << endl;
58  }
59 
60  if(absetaBins_.size()>1) {
61  for(unsigned int i=0; i<absetaBins_.size()-1; ++i) {
62  if(absetaBins_[i+1]<=absetaBins_[i])
63  throw cms::Exception("Configuration") << "Absolute eta bins must be in increasing order." << endl;
64  }
65  }
66 
67  // dump parameters for debugging
68  if(edm::isDebugEnabled()){
69  ostringstream ss;
70  ss<<"Constructed with parameters:"<<endl;
71  ss<<" BeamSpotTag = "<<beamSpotTag_.encode()<<endl;
72  ss<<" CandTag = "<<candTag_.encode()<<endl;
73  ss<<" PreviousCandTag = "<<previousCandTag_.encode()<<endl;
74  ss<<" SeedMapTag = "<<seedMapTag_.encode()<<endl;
75  ss<<" MinN = "<<minN_<<endl;
76  ss<<" MaxEta = "<<maxEta_<<endl;
77  ss<<" MinNstations = ";
78  for(unsigned int j=0; j<absetaBins_.size(); ++j) {
79  ss<<minNstations_[j]<<" (|eta|<"<<absetaBins_[j]<<"), ";
80  }
81  ss<<endl;
82  ss<<" MinNhits = ";
83  for(unsigned int j=0; j<absetaBins_.size(); ++j) {
84  ss<<minNhits_[j]<<" (|eta|<"<<absetaBins_[j]<<"), ";
85  }
86  ss<<endl;
87  ss<<" CutOnChambers = " <<cutOnChambers_<<endl;
88  if ( cutOnChambers_ ) {
89  ss<<" MinNchambers = ";
90  for(unsigned int j=0; j<absetaBins_.size(); ++j) {
91  ss<<minNchambers_[j]<<" (|eta|<"<<absetaBins_[j]<<"), ";
92  }
93  }
94  ss<<endl;
95  ss<<" MaxDr = "<<maxDr_<<endl;
96  ss<<" MinDr = "<<minDr_<<endl;
97  ss<<" MaxDz = "<<maxDz_<<endl;
98  ss<<" MinDxySig = "<<min_DxySig_<<endl;
99  ss<<" MinPt = "<<minPt_<<endl;
100  ss<<" NSigmaPt = "<<nSigmaPt_<<endl;
101  ss<<" saveTags= "<<saveTags();
102  LogDebug("HLTMuonL2PreFilter")<<ss.str();
103  }
104 }
#define LogDebug(id)
std::vector< double > absetaBins_
T getParameter(std::string const &) const
bool isDebugEnabled()
int i
Definition: DBlmapReader.cc:9
std::vector< int > minNstations_
minimum number of muon stations used
double maxDz_
cut on dz wrt to the beam spot
double nSigmaPt_
pt uncertainty margin (in number of sigmas)
std::vector< int > minNchambers_
minimum number of valid chambers
edm::InputTag candTag_
input tag of L2 muons
std::string encode() const
Definition: InputTag.cc:164
edm::InputTag previousCandTag_
input tag of the preceeding L1 filter in the path
double min_DxySig_
dxy significance cut
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
edm::InputTag seedMapTag_
input tag of the map from the L2 seed to the sister L2 seeds of cleaned tracks
int minN_
minimum number of muons to fire the trigger
edm::EDGetTokenT< SeedMap > seedMapToken_
int j
Definition: DBlmapReader.cc:9
std::vector< int > minNhits_
minimum number of valid muon hits
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > previousCandToken_
edm::InputTag beamSpotTag_
input tag of the beam spot
bool saveTags() const
Definition: HLTFilter.h:45
bool cutOnChambers_
choose whether to apply cut on number of chambers (DT+CSC)
double minDr_
cut on impact parameter wrt to the beam spot
double minPt_
pt threshold in GeV
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > candToken_
double maxDr_
cut on impact parameter wrt to the beam spot
double maxEta_
maxEta cut
HLTMuonL2PreFilter::~HLTMuonL2PreFilter ( )

Definition at line 106 of file HLTMuonL2PreFilter.cc.

107 {
108 }

Member Function Documentation

void HLTMuonL2PreFilter::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 111 of file HLTMuonL2PreFilter.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLT_25ns14e33_v1_cff::InputTag, and HLTFilter::makeHLTFilterDescription().

111  {
114  desc.add<edm::InputTag>("BeamSpotTag",edm::InputTag("hltOfflineBeamSpot"));
115  desc.add<edm::InputTag>("CandTag",edm::InputTag("hltL2MuonCandidates"));
116  desc.add<edm::InputTag>("PreviousCandTag",edm::InputTag(""));
117  desc.add<edm::InputTag>("SeedMapTag",edm::InputTag("hltL2Muons"));
118  desc.add<int>("MinN",1);
119  desc.add<double>("MaxEta",2.5);
120  desc.add<std::vector<double> >("AbsEtaBins", std::vector<double>(1, 9999.));
121  desc.add<std::vector<int> >("MinNstations", std::vector<int>(1, 1));
122  desc.add<std::vector<int> >("MinNhits", std::vector<int>(1, 0));
123  desc.add<bool> ("CutOnChambers", 0);
124  desc.add<std::vector<int> >("MinNchambers", std::vector<int>(1, 0));
125  desc.add<double>("MaxDr",9999.0);
126  desc.add<double>("MinDr",-1.0);
127  desc.add<double>("MaxDz",9999.0);
128  desc.add<double>("MinDxySig",-1.0);
129  desc.add<double>("MinPt",0.0);
130  desc.add<double>("NSigmaPt",0.0);
131  descriptions.add("hltMuonL2PreFilter",desc);
132 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool HLTMuonL2PreFilter::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
overridevirtual

Implements HLTFilter.

Definition at line 139 of file HLTMuonL2PreFilter.cc.

References funct::abs(), absetaBins_, accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), allMuons_cfi::allMuons, SiPixelRawToDigiRegional_cfi::beamSpot, beamSpotToken_, candTag_, candToken_, cutOnChambers_, spr::find(), edm::Event::getByToken(), HLTMuonL2ToL1Map::getL1Keys(), trigger::TriggerRefsCollections::getObjects(), i, edm::isDebugEnabled(), HLTMuonL2ToL1Map::isTriggeredByL1(), LogDebug, maxDr_, maxDz_, maxEta_, min_DxySig_, minDr_, minN_, minNchambers_, minNhits_, minNstations_, minPt_, RPCpg::mu, trigger::TriggerRefsCollections::muonSize(), gen::n, nSigmaPt_, previousCandToken_, EnergyCorrector::pt, dt_dqm_sourceclient_common_cff::reco, HLTFilter::saveTags(), seedMapToken_, contentValuesCheck::ss, and trigger::TriggerMuon.

140 {
141  // All HLT filters must create and fill an HLT filter object,
142  // recording any reconstructed physics objects satisfying (or not)
143  // this HLT filter, and place it in the Event.
144 
145  using namespace std;
146  using namespace edm;
147  using namespace reco;
148  using namespace trigger;
149  using namespace l1extra;
150 
151  // save Tag
152  if (saveTags()) filterproduct.addCollectionTag(candTag_);
153 
154  // get hold of all muon candidates available at this level
156  iEvent.getByToken(candToken_, allMuons);
157 
158  // get hold of the beam spot
159  Handle<BeamSpot> beamSpotHandle;
160  iEvent.getByToken(beamSpotToken_, beamSpotHandle);
161  BeamSpot::Point beamSpot = beamSpotHandle->position();
162 
163  // get the L2 to L1 map object for this event
165 
166  // number of eta bins for cut on number of stations
167  const std::vector<double>::size_type nAbsetaBins = absetaBins_.size();
168 
169  // look at all allMuons, check cuts and add to filter object
170  int n = 0;
171  for(RecoChargedCandidateCollection::const_iterator cand=allMuons->begin(); cand!=allMuons->end(); cand++){
172  TrackRef mu = cand->get<TrackRef>();
173 
174  // check if this muon passed previous level
175  if(!mapL2ToL1.isTriggeredByL1(mu)) continue;
176 
177  // eta cut
178  if(std::abs(mu->eta()) > maxEta_) continue;
179 
180  // cut on number of stations
181  bool failNstations(false), failNhits(false), failNchambers(false);
182  for(unsigned int i=0; i<nAbsetaBins; ++i) {
183  if( std::abs(mu->eta())<absetaBins_[i] ) {
184  if(mu->hitPattern().muonStationsWithAnyHits() < minNstations_[i]) {
185  failNstations=true;
186  }
187  if(mu->numberOfValidHits() < minNhits_[i]) {
188  failNhits=true;
189  }
190  if( cutOnChambers_ &&
191  ( mu->hitPattern().dtStationsWithAnyHits() +
192  mu->hitPattern().cscStationsWithAnyHits() < minNchambers_[i]) ) {
193  failNchambers=true;
194  }
195  break;
196  }
197  }
198  if(failNstations || failNhits || failNchambers) continue;
199 
200  //dr cut
201  if(std::abs(mu->dxy(beamSpot)) > maxDr_) continue;
202 
203  //dr cut
204  if(std::abs(mu->dxy(beamSpot)) < minDr_) continue;
205 
206  //dz cut
207  if(std::abs(mu->dz(beamSpot)) > maxDz_) continue;
208 
209  // dxy significance cut (safeguard against bizarre values)
210  if (min_DxySig_ > 0 && (mu->dxyError() <= 0 || std::abs(mu->dxy(beamSpot)/mu->dxyError()) < min_DxySig_)) continue;
211 
212  // Pt threshold cut
213  double pt = mu->pt();
214  double abspar0 = std::abs(mu->parameter(0));
215  double ptLx = pt;
216  // convert 50% efficiency threshold to 90% efficiency threshold
217  if(abspar0 > 0) ptLx += nSigmaPt_*mu->error(0)/abspar0*pt;
218  if(ptLx < minPt_) continue;
219 
220  // add the good candidate to the filter object
222 
223  n++;
224  }
225 
226  // filter decision
227  const bool accept (n >= minN_);
228 
229  // dump event for debugging
230  if(edm::isDebugEnabled()){
231  ostringstream ss;
232  ss<<"L2mu#"
233  <<'\t'<<"q*pt"<<'\t' //scientific is too wide
234  <<'\t'<<"q*ptLx"<<'\t' //scientific is too wide
235  <<'\t'<<"eta"
236  <<'\t'<<"phi"
237  <<'\t'<<"nStations"
238  <<'\t'<<"nHits"
239  <<'\t'<<"dr"<<'\t' //scientific is too wide
240  <<'\t'<<"dz"<<'\t' //scientific is too wide
241  <<'\t'<<"L1seed#"
242  <<'\t'<<"isPrev"
243  <<'\t'<<"isFired"
244  <<endl;
245  ss<<"-----------------------------------------------------------------------------------------------------------------------"<<endl;
246  for (RecoChargedCandidateCollection::const_iterator cand = allMuons->begin(); cand != allMuons->end(); cand++) {
247  TrackRef mu = cand->get<TrackRef>();
248  ss<<setprecision(2)
249  <<cand-allMuons->begin()
250  <<'\t'<<scientific<<mu->charge()*mu->pt()
251  <<'\t'<<scientific<<mu->charge()*mu->pt()*(1. + ((mu->parameter(0) != 0) ? nSigmaPt_*mu->error(0)/std::abs(mu->parameter(0)) : 0.))
252  <<'\t'<<fixed<<mu->eta()
253  <<'\t'<<fixed<<mu->phi()
254  <<'\t'<<mu->hitPattern().muonStationsWithAnyHits()
255  <<'\t'<<mu->numberOfValidHits()
256  <<'\t'<<scientific<<mu->d0()
257  <<'\t'<<scientific<<mu->dz()
258  <<'\t'<<mapL2ToL1.getL1Keys(mu)
259  <<'\t'<<mapL2ToL1.isTriggeredByL1(mu);
260  vector<RecoChargedCandidateRef> firedMuons;
261  filterproduct.getObjects(TriggerMuon, firedMuons);
262  ss<<'\t'<<(find(firedMuons.begin(), firedMuons.end(), RecoChargedCandidateRef(Ref<RecoChargedCandidateCollection>(allMuons, cand-allMuons->begin()))) != firedMuons.end())
263  <<endl;
264  }
265  ss<<"-----------------------------------------------------------------------------------------------------------------------"<<endl;
266  ss<<"Decision of filter is "<<accept<<", number of muons passing = "<<filterproduct.muonSize();
267  LogDebug("HLTMuonL2PreFilter")<<ss.str();
268  }
269 
270  return accept;
271 }
#define LogDebug(id)
std::vector< double > absetaBins_
bool isDebugEnabled()
int i
Definition: DBlmapReader.cc:9
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
std::vector< int > minNstations_
minimum number of muon stations used
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
double maxDz_
cut on dz wrt to the beam spot
double nSigmaPt_
pt uncertainty margin (in number of sigmas)
edm::Ref< RecoChargedCandidateCollection > RecoChargedCandidateRef
reference to an object in a collection of RecoChargedCandidate objects
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:29
std::vector< int > minNchambers_
minimum number of valid chambers
edm::InputTag candTag_
input tag of L2 muons
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:24
uint16_t size_type
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref&lt;C&gt;)
double min_DxySig_
dxy significance cut
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
int minN_
minimum number of muons to fire the trigger
edm::EDGetTokenT< SeedMap > seedMapToken_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
tuple allMuons
Definition: allMuons_cfi.py:3
const int mu
Definition: Constants.h:22
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:244
std::vector< int > minNhits_
minimum number of valid muon hits
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > previousCandToken_
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
bool saveTags() const
Definition: HLTFilter.h:45
bool cutOnChambers_
choose whether to apply cut on number of chambers (DT+CSC)
double minDr_
cut on impact parameter wrt to the beam spot
double minPt_
pt threshold in GeV
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > candToken_
double maxDr_
cut on impact parameter wrt to the beam spot
double maxEta_
maxEta cut

Member Data Documentation

std::vector<double> HLTMuonL2PreFilter::absetaBins_
private

|eta| bins for minNstations cut (#bins must match #minNstations cuts and #minNhits cuts)

Definition at line 56 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

edm::InputTag HLTMuonL2PreFilter::beamSpotTag_
private

input tag of the beam spot

Definition at line 33 of file HLTMuonL2PreFilter.h.

Referenced by HLTMuonL2PreFilter().

edm::EDGetTokenT<reco::BeamSpot> HLTMuonL2PreFilter::beamSpotToken_
private

Definition at line 34 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter().

edm::InputTag HLTMuonL2PreFilter::candTag_
private

input tag of L2 muons

Definition at line 37 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

edm::EDGetTokenT<reco::RecoChargedCandidateCollection> HLTMuonL2PreFilter::candToken_
private

Definition at line 38 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter().

bool HLTMuonL2PreFilter::cutOnChambers_
private

choose whether to apply cut on number of chambers (DT+CSC)

Definition at line 65 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::maxDr_
private

cut on impact parameter wrt to the beam spot

Definition at line 71 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::maxDz_
private

cut on dz wrt to the beam spot

Definition at line 77 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::maxEta_
private

maxEta cut

Definition at line 52 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::min_DxySig_
private

dxy significance cut

Definition at line 80 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::minDr_
private

cut on impact parameter wrt to the beam spot

Definition at line 74 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

int HLTMuonL2PreFilter::minN_
private

minimum number of muons to fire the trigger

Definition at line 49 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

std::vector<int> HLTMuonL2PreFilter::minNchambers_
private

minimum number of valid chambers

Definition at line 68 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

std::vector<int> HLTMuonL2PreFilter::minNhits_
private

minimum number of valid muon hits

Definition at line 62 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

std::vector<int> HLTMuonL2PreFilter::minNstations_
private

minimum number of muon stations used

Definition at line 59 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::minPt_
private

pt threshold in GeV

Definition at line 83 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

double HLTMuonL2PreFilter::nSigmaPt_
private

pt uncertainty margin (in number of sigmas)

Definition at line 86 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter(), and HLTMuonL2PreFilter().

edm::InputTag HLTMuonL2PreFilter::previousCandTag_
private

input tag of the preceeding L1 filter in the path

Definition at line 41 of file HLTMuonL2PreFilter.h.

Referenced by HLTMuonL2PreFilter().

edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTMuonL2PreFilter::previousCandToken_
private

Definition at line 42 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter().

edm::InputTag HLTMuonL2PreFilter::seedMapTag_
private

input tag of the map from the L2 seed to the sister L2 seeds of cleaned tracks

Definition at line 45 of file HLTMuonL2PreFilter.h.

Referenced by HLTMuonL2PreFilter().

edm::EDGetTokenT<SeedMap> HLTMuonL2PreFilter::seedMapToken_
private

Definition at line 46 of file HLTMuonL2PreFilter.h.

Referenced by hltFilter().