CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
WSelector Class Reference

Example class of an EventSelector to apply a simple W Boson selection. More...

#include "PhysicsTools/FWLite/interface/WSelector.h"

Inheritance diagram for WSelector:
EventSelector EventSelector

Public Member Functions

pat::MET const & met () const
 return MET of W boson More...
 
pat::MET const & met () const
 return MET of W boson More...
 
virtual bool operator() (edm::EventBase const &event, pat::strbitset &ret)
 here is where the selection occurs More...
 
bool operator() (edm::EventBase const &event, pat::strbitset &ret) override
 here is where the selection occurs More...
 
pat::Muon const & wMuon () const
 return muon candidate of W boson More...
 
pat::Muon const & wMuon () const
 return muon candidate of W boson More...
 
 WSelector (edm::ParameterSet const &params)
 constructor More...
 
 WSelector (edm::ParameterSet const &params)
 constructor More...
 
virtual ~WSelector ()
 destructor More...
 
 ~WSelector () override
 destructor More...
 
- Public Member Functions inherited from EventSelector
const std::vector< std::string > & description ()
 
 EventSelector ()
 
 EventSelector (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 
 EventSelector (const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
 
const std::string & name () const
 name of the module (from configuration) More...
 
virtual bool select (const edm::Event &) const =0
 decision of the selector module More...
 
virtual ~EventSelector ()
 

Protected Attributes

pat::MET const * met_
 MET from W boson. More...
 
index_type metIndex_
 index for MET cut More...
 
edm::InputTag metSrc_
 met input More...
 
index_type muonPtIndex_
 index for muon Pt cut More...
 
edm::InputTag muonSrc_
 muon input More...
 
pat::Muon const * wMuon_
 muon candidate from W boson More...
 
- Protected Attributes inherited from EventSelector
std::vector< std::string > description_
 
std::string name_
 

Detailed Description

Example class of an EventSelector to apply a simple W Boson selection.

Example class for of an EventSelector as defined in the SelectorUtils package. EventSelectors may be used to facilitate cutflows and to implement selections independent from the event loop in FWLite or full framework.

Definition at line 16 of file WSelector.h.

Constructor & Destructor Documentation

◆ WSelector() [1/2]

WSelector::WSelector ( edm::ParameterSet const &  params)
inline

constructor

Definition at line 19 of file WSelector.h.

20  : muonSrc_(params.getParameter<edm::InputTag>("muonSrc")), metSrc_(params.getParameter<edm::InputTag>("metSrc")) {
21  double muonPtMin = params.getParameter<double>("muonPtMin");
22  double metMin = params.getParameter<double>("metMin");
23  push_back("Muon Pt", muonPtMin);
24  push_back("MET", metMin);
25  set("Muon Pt");
26  set("MET");
27  wMuon_ = nullptr;
28  met_ = nullptr;
29  if (params.exists("cutsToIgnore")) {
30  setIgnoredCuts(params.getParameter<std::vector<std::string> >("cutsToIgnore"));
31  }
32  retInternal_ = getBitTemplate();
33  }

References met_, wplusjetsAnalysis_cfi::metMin, mhtProducer_cfi::muonPtMin, CalibrationSummaryClient_cfi::params, and wMuon_.

◆ ~WSelector() [1/2]

WSelector::~WSelector ( )
inlineoverride

destructor

Definition at line 35 of file WSelector.h.

35 {}

◆ WSelector() [2/2]

WSelector::WSelector ( edm::ParameterSet const &  params)
inline

constructor

Definition at line 21 of file WSelectorFast.h.

21  :
22  muonSrc_(params.getParameter<edm::InputTag>("muonSrc")),
23  metSrc_ (params.getParameter<edm::InputTag>("metSrc"))
24  {
25  double muonPtMin = params.getParameter<double>("muonPtMin");
26  double metMin = params.getParameter<double>("metMin");
27  push_back("Muon Pt", muonPtMin );
28  push_back("MET" , metMin );
29  set("Muon Pt"); set("MET");
30  wMuon_ = 0; met_ = 0;
31  if ( params.exists("cutsToIgnore") ){
32  setIgnoredCuts( params.getParameter<std::vector<std::string> >("cutsToIgnore") );
33  }
34  retInternal_ = getBitTemplate();
35  }

References met_, wplusjetsAnalysis_cfi::metMin, mhtProducer_cfi::muonPtMin, CalibrationSummaryClient_cfi::params, and wMuon_.

◆ ~WSelector() [2/2]

virtual WSelector::~WSelector ( )
inlinevirtual

destructor

Definition at line 37 of file WSelectorFast.h.

37 {}

Member Function Documentation

◆ met() [1/2]

pat::MET const& WSelector::met ( ) const
inline

return MET of W boson

Definition at line 39 of file WSelector.h.

39 { return *met_; }

References met_.

Referenced by objects.METAnalyzer.METAnalyzer::applyDeltaMet(), and operator()().

◆ met() [2/2]

pat::MET const& WSelector::met ( ) const
inline

return MET of W boson

Definition at line 41 of file WSelectorFast.h.

41 { return *met_; }

References met_.

Referenced by objects.METAnalyzer.METAnalyzer::applyDeltaMet().

◆ operator()() [1/2]

virtual bool WSelector::operator() ( edm::EventBase const &  event,
pat::strbitset ret 
)
inlinevirtual

here is where the selection occurs

Definition at line 44 of file WSelectorFast.h.

44  {
45  ret.set(false);
46  // Handle to the muon collection
48  // Handle to the MET collection
50  // get the objects from the event
51  bool gotMuons = event.getByLabel(muonSrc_, muons);
52  bool gotMET = event.getByLabel(metSrc_, met );
53  // get the MET, require to be > minimum
54  if( gotMET ){
55  met_ = &met->at(0);
56  if( met_->pt() > cut(metIndex_, double()) || ignoreCut(metIndex_) )
57  passCut(ret, metIndex_);
58  }
59  // get the highest pt muon, require to have pt > minimum
60  if( gotMuons ){
61  if( !ignoreCut(muonPtIndex_) ){
62  if( muons->size() > 0 ){
63  wMuon_ = &muons->at(0);
64  if ( wMuon_->pt() > cut(muonPtIndex_, double()) || ignoreCut(muonPtIndex_) )
65  passCut(ret, muonPtIndex_);
66  }
67  }
68  else{
69  passCut( ret, muonPtIndex_);
70  }
71  }
72  setIgnored(ret);
73  return (bool)ret;
74  }

References TkAlMuonSelectors_cfi::cut, met(), met_, metIndex_, metSrc_, muonPtIndex_, PDWG_BPHSkim_cff::muons, muonSrc_, reco::LeafCandidate::pt(), runTheMatrix::ret, and wMuon_.

◆ operator()() [2/2]

bool WSelector::operator() ( edm::EventBase const &  event,
pat::strbitset ret 
)
inlineoverride

here is where the selection occurs

Definition at line 42 of file WSelector.h.

42  {
43  ret.set(false);
44  // Handle to the muon collection
46  // Handle to the MET collection
48  // get the objects from the event
49  bool gotMuons = event.getByLabel(muonSrc_, muons);
50  bool gotMET = event.getByLabel(metSrc_, met);
51  // get the MET, require to be > minimum
52  if (gotMET) {
53  met_ = &met->at(0);
54  if (met_->pt() > cut("MET", double()) || ignoreCut("MET"))
55  passCut(ret, "MET");
56  }
57  // get the highest pt muon, require to have pt > minimum
58  if (gotMuons) {
59  if (!ignoreCut("Muon Pt")) {
60  if (!muons->empty()) {
61  wMuon_ = &muons->at(0);
62  if (wMuon_->pt() > cut("Muon Pt", double()) || ignoreCut("Muon Pt"))
63  passCut(ret, "Muon Pt");
64  }
65  } else {
66  passCut(ret, "Muon Pt");
67  }
68  }
69  setIgnored(ret);
70  return (bool)ret;
71  }

References TkAlMuonSelectors_cfi::cut, met(), met_, metSrc_, PDWG_BPHSkim_cff::muons, muonSrc_, reco::LeafCandidate::pt(), runTheMatrix::ret, and wMuon_.

◆ wMuon() [1/2]

pat::Muon const& WSelector::wMuon ( ) const
inline

return muon candidate of W boson

Definition at line 37 of file WSelector.h.

37 { return *wMuon_; }

References wMuon_.

◆ wMuon() [2/2]

pat::Muon const& WSelector::wMuon ( ) const
inline

return muon candidate of W boson

Definition at line 39 of file WSelectorFast.h.

39 { return *wMuon_;}

References wMuon_.

Member Data Documentation

◆ met_

pat::MET const * WSelector::met_
protected

MET from W boson.

Definition at line 81 of file WSelector.h.

Referenced by met(), operator()(), and WSelector().

◆ metIndex_

index_type WSelector::metIndex_
protected

index for MET cut

Definition at line 88 of file WSelectorFast.h.

Referenced by operator()().

◆ metSrc_

edm::InputTag WSelector::metSrc_
protected

met input

Definition at line 77 of file WSelector.h.

Referenced by operator()().

◆ muonPtIndex_

index_type WSelector::muonPtIndex_
protected

index for muon Pt cut

Definition at line 86 of file WSelectorFast.h.

Referenced by operator()().

◆ muonSrc_

edm::InputTag WSelector::muonSrc_
protected

muon input

Definition at line 75 of file WSelector.h.

Referenced by operator()().

◆ wMuon_

pat::Muon const * WSelector::wMuon_
protected

muon candidate from W boson

Definition at line 79 of file WSelector.h.

Referenced by operator()(), wMuon(), and WSelector().

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
TkAlMuonSelectors_cfi.cut
cut
Definition: TkAlMuonSelectors_cfi.py:5
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
WSelector::metSrc_
edm::InputTag metSrc_
met input
Definition: WSelector.h:77
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
edm::Handle
Definition: AssociativeIterator.h:50
WSelector::met_
pat::MET const * met_
MET from W boson.
Definition: WSelector.h:81
mhtProducer_cfi.muonPtMin
muonPtMin
Definition: mhtProducer_cfi.py:20
WSelector::wMuon_
pat::Muon const * wMuon_
muon candidate from W boson
Definition: WSelector.h:79
wplusjetsAnalysis_cfi.metMin
metMin
Definition: wplusjetsAnalysis_cfi.py:89
WSelector::met
pat::MET const & met() const
return MET of W boson
Definition: WSelector.h:39
WSelector::muonSrc_
edm::InputTag muonSrc_
muon input
Definition: WSelector.h:75
WSelector::metIndex_
index_type metIndex_
index for MET cut
Definition: WSelectorFast.h:88
edm::InputTag
Definition: InputTag.h:15
WSelector::muonPtIndex_
index_type muonPtIndex_
index for muon Pt cut
Definition: WSelectorFast.h:86