85 double massBTopQuark(
const std::vector<pat::Jet>&
jets, std::vector<double> VbtagWP,
double btagWP_);
103 void operator2(
const std::vector<pat::Jet>&, std::vector<double>,
double);
142 double massBTopQuark(
const std::vector<reco::Jet>&
jets, std::vector<double> VbtagWP,
double btagWP_);
155 void operator2(
const std::vector<reco::Jet>&, std::vector<double>,
double);
239 template <
typename Object>
291 template <
typename Object>
293 : select_(
cfg.getParameter<
std::
string>(
"select")), jetIDSelect_(nullptr) {
296 cfg.exists(
"min") ?
min_ =
cfg.getParameter<
int>(
"min") :
min_ = -1;
297 cfg.exists(
"max") ?
max_ =
cfg.getParameter<
int>(
"max") :
max_ = -1;
305 if (
cfg.exists(
"jetCorrector")) {
321 template <
typename Object>
330 if (!electronId_.isUninitialized()) {
339 if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
341 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
352 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
353 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
357 template <
typename Object>
369 if (!electronId_.isUninitialized()) {
378 if (dynamic_cast<const reco::PFCandidate*>(&*
obj)) {
387 if (electronId_.isUninitialized()) {
389 }
else if (((
double)(*
electronId)[
obj->gsfElectronRef()] >= eidCutValue_)) {
398 else if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
400 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
412 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
413 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
416 template <
typename Object>
425 if (!electronId_.isUninitialized()) {
436 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
437 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
441 template <
typename Object>
455 if (!btagLabel_.isUninitialized()) {
456 if (!
event.getByToken(src_, bjets))
458 if (!
event.getByToken(btagLabel_, btagger))
460 if (!
event.getByToken(pvs_, pvertex))
467 if (!
event.getByToken(jetIDLabel_, jetID))
473 if (!jetCorrector_.isUninitialized()) {
476 if (correctorHandle.
isValid()) {
480 <<
"---------------------------------------------------------------\n" 481 <<
" No reco::JetCorrrector available from Event:\n" 482 <<
" - Jets will not be corrected.\n" 483 <<
"---------------------------------------------------------------" 493 if (btagLabel_.isUninitialized() ?
true : (*btagger)[bjets->refAt(
idx)] > btagWorkingPoint_) {
494 bool passedJetID =
true;
496 if (jetIDSelect_ && dynamic_cast<const reco::CaloJet*>(
src->refAt(
idx).get())) {
497 passedJetID = (*jetIDSelect_)((*jetID)[
src->refAt(
idx)]);
508 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
509 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
~Calculate_miniAOD()
default destructor
bool accept() const
Has at least one path accepted the event?
double massWBoson_
cache of w boson mass estimate
Log< level::Info, true > LogVerbatim
Analysis-level MET class.
double massBTopQuark_
cache of b-tagged top quark mass estimate
T getParameter(std::string const &) const
double massBTopQuark(const std::vector< reco::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
bool select(const edm::Event &event)
apply selection
~Calculate()
default destructor
double tmassWBoson(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate W boson transverse mass estimate
SelectionStep(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
default constructor
double massTopQuark_
cache of top quark mass estimate
double massTopQuark_
cache of top quark mass estimate
double tmassTopQuark_
cache of top quark transverse mass estimate
Base class for all types of Jets.
bool selectVertex(const edm::Event &event)
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
T const * product() const
double massTopQuark(const std::vector< reco::Jet > &jets)
calculate t-quark mass estimate
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
bool failed_
indicate failed associations
bool isNonnull() const
Checks for non-null.
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
double massWBoson(const std::vector< pat::Jet > &jets)
calculate W boson mass estimate
double massWBoson_
cache of w boson mass estimate
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
double massWBoson(const std::vector< reco::Jet > &jets)
calculate W boson mass estimate
~SelectionStep()
default destructor
electronId
when omitted electron plots will be filled w/o cut on electronId
void operator2(const std::vector< reco::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
Helper class for the calculation of a top and a W boson mass estime.
int min_
min/max for object multiplicity
double tmassWBoson_
cache of W boson transverse mass estimate
int maxNJets_
max. number of jets to be considered
edm::EDGetTokenT< reco::JetTagCollection > btagLabel_
choice for b-tag as extra selection type
void operator()(const std::vector< pat::Jet > &jets)
int maxNJets_
max. number of jets to be considered
double wMass_
paramater of the w boson mass
double wMass_
paramater of the w boson mass
double tmassTopQuark(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate top quark transverse mass estimate
double massTopQuark(const std::vector< pat::Jet > &jets)
calculate t-quark mass estimate
reco::MuonRef muonRef() const
double tmassTopQuark(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate top quark transverse mass estimate
void operator2(const std::vector< pat::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
double tmassWBoson(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate W boson transverse mass estimate
double massBTopQuark(const std::vector< pat::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
Analysis-level electron class.
Analysis-level calorimeter jet class.
double btagWorkingPoint_
choice of b-tag working point as extra selection type
edm::EDGetTokenT< reco::JetCorrector > jetCorrector_
jet corrector as extra selection type
Templated helper class to allow a selection on a certain object collection.
void operator()(const std::vector< reco::Jet > &jets)
Particle reconstructed by the particle flow algorithm.
bool failed_
indicate failed associations
Calculate_miniAOD(int maxNJets, double wMass)
default constructor
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
double tmassTopQuark_
cache of top quark transverse mass estimate
edm::EDGetTokenT< edm::View< Object > > src_
input collection
Calculate(int maxNJets, double wMass)
default constructor
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
static std::string const triggerPaths
Analysis-level muon class.
StringCutObjectSelector< Object > select_
string cut selector
double tmassWBoson_
cache of W boson transverse mass estimate
double massBTopQuark_
cache of b-tagged top quark mass estimate
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type