PhysicsTools
FWLite
interface
WSelector.h
Go to the documentation of this file.
1
#ifndef PhysicsTools_FWLite_WSelector_h
2
#define PhysicsTools_FWLite_WSelector_h
3
#include "
DataFormats/PatCandidates/interface/MET.h
"
4
#include "
DataFormats/PatCandidates/interface/Muon.h
"
5
#include "
PhysicsTools/SelectorUtils/interface/EventSelector.h
"
6
16
class
WSelector
:
public
EventSelector
{
17
public
:
19
WSelector
(
edm::ParameterSet
const
&
params
)
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
}
35
~WSelector
()
override
{}
37
pat::Muon
const
&
wMuon
()
const
{
return
*
wMuon_
; }
39
pat::MET
const
&
met
()
const
{
return
*
met_
; }
40
42
bool
operator()
(
edm::EventBase
const
&
event
,
pat::strbitset
&
ret
)
override
{
43
ret
.set(
false
);
44
// Handle to the muon collection
45
edm::Handle<std::vector<pat::Muon>
>
muons
;
46
// Handle to the MET collection
47
edm::Handle<std::vector<pat::MET>
>
met
;
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
}
72
73
protected
:
75
edm::InputTag
muonSrc_
;
77
edm::InputTag
metSrc_
;
79
pat::Muon
const
*
wMuon_
;
81
pat::MET
const
*
met_
;
82
};
83
#endif // PhysicsTools_FWLite_WSelector_h
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition:
runTheMatrix.py:543
PDWG_BPHSkim_cff.muons
muons
Definition:
PDWG_BPHSkim_cff.py:47
WSelector::met_
pat::MET const * met_
MET from W boson.
Definition:
WSelector.h:81
WSelector
Example class of an EventSelector to apply a simple W Boson selection.
Definition:
WSelector.h:16
CalibrationSummaryClient_cfi.params
params
Definition:
CalibrationSummaryClient_cfi.py:14
edm
HLT enums.
Definition:
AlignableModifier.h:19
Muon.h
WSelector::metSrc_
edm::InputTag metSrc_
met input
Definition:
WSelector.h:77
HLT_FULL_cff.InputTag
InputTag
Definition:
HLT_FULL_cff.py:89301
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition:
LeafCandidate.h:146
WSelector::operator()
bool operator()(edm::EventBase const &event, pat::strbitset &ret) override
here is where the selection occurs
Definition:
WSelector.h:42
pat::Muon
Analysis-level muon class.
Definition:
Muon.h:51
edm::Handle
Definition:
AssociativeIterator.h:50
WSelector::wMuon
pat::Muon const & wMuon() const
return muon candidate of W boson
Definition:
WSelector.h:37
WSelector::WSelector
WSelector(edm::ParameterSet const ¶ms)
constructor
Definition:
WSelector.h:19
mhtProducer_cfi.muonPtMin
muonPtMin
Definition:
mhtProducer_cfi.py:20
WSelector::wMuon_
pat::Muon const * wMuon_
muon candidate from W boson
Definition:
WSelector.h:79
EventSelector.h
WSelector::~WSelector
~WSelector() override
destructor
Definition:
WSelector.h:35
edm::ParameterSet
Definition:
ParameterSet.h:47
wplusjetsAnalysis_cfi.metMin
metMin
Definition:
wplusjetsAnalysis_cfi.py:89
pat::MET
Analysis-level MET class.
Definition:
MET.h:40
WSelector::met
pat::MET const & met() const
return MET of W boson
Definition:
WSelector.h:39
MET.h
WSelector::muonSrc_
edm::InputTag muonSrc_
muon input
Definition:
WSelector.h:75
pat::strbitset
Definition:
strbitset.h:23
PA_MinBiasSkim_cff.cut
cut
Definition:
PA_MinBiasSkim_cff.py:13
edm::EventBase
Definition:
EventBase.h:46
EventSelector
A selector of events.
Definition:
EventSelector.h:16
event
Definition:
event.py:1
edm::InputTag
Definition:
InputTag.h:15
Generated for CMSSW Reference Manual by
1.8.16