|
|
Go to the documentation of this file.
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);
237 template <
typename Object>
289 template <
typename Object>
291 : select_(
cfg.getParameter<
std::
string>(
"select")), jetIDSelect_(nullptr) {
294 cfg.exists(
"min") ?
min_ =
cfg.getParameter<
int>(
"min") :
min_ = -1;
295 cfg.exists(
"max") ?
max_ =
cfg.getParameter<
int>(
"max") :
max_ = -1;
303 if (
cfg.exists(
"jetCorrector")) {
319 template <
typename Object>
328 if (!electronId_.isUninitialized()) {
337 if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
339 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
350 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
351 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
355 template <
typename Object>
367 if (!electronId_.isUninitialized()) {
376 if (dynamic_cast<const reco::PFCandidate*>(&*
obj)) {
385 if (electronId_.isUninitialized()) {
387 }
else if (((
double)(*
electronId)[
obj->gsfElectronRef()] >= eidCutValue_)) {
396 else if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
398 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
410 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
411 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
414 template <
typename Object>
423 if (!electronId_.isUninitialized()) {
434 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
435 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
439 template <
typename Object>
453 if (!btagLabel_.isUninitialized()) {
454 if (!
event.getByToken(src_, bjets))
456 if (!
event.getByToken(btagLabel_, btagger))
458 if (!
event.getByToken(pvs_, pvertex))
465 if (!
event.getByToken(jetIDLabel_, jetID))
471 if (!jetCorrector_.empty()) {
473 if (
setup.find(edm::eventsetup::EventSetupRecordKey::makeKey<JetCorrectionsRecord>())) {
477 <<
"---------------------------------------------------------------\n"
478 <<
" No JetCorrectionsRecord available from EventSetup:\n"
479 <<
" - Jets will not be corrected.\n"
480 <<
" - If you want to change this add the following lines to your "
483 <<
" ## load jet corrections\n"
484 <<
" process.load(\""
485 "JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff"
487 <<
" process.prefer(\"ak5CaloL2L3\")\n"
488 <<
"---------------------------------------------------------------"
498 if (btagLabel_.isUninitialized() ?
true : (*btagger)[bjets->refAt(
idx)] > btagWorkingPoint_) {
499 bool passedJetID =
true;
501 if (jetIDSelect_ && dynamic_cast<const reco::CaloJet*>(
src->refAt(
idx).get())) {
502 passedJetID = (*jetIDSelect_)((*jetID)[
src->refAt(
idx)]);
513 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
514 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
Calculate_miniAOD(int maxNJets, double wMass)
default constructor
double tmassTopQuark(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate top quark transverse mass estimate
Base class for all types of Jets.
double massBTopQuark_
cache of b-tagged top quark mass estimate
Calculate(int maxNJets, double wMass)
default constructor
int maxNJets_
max. number of jets to be considered
Analysis-level muon class.
electronId
when omitted electron plots will be filled w/o cut on electronId
Helper class for the calculation of a top and a W boson mass estime.
std::string jetCorrector_
jet corrector as extra selection type
~Calculate_miniAOD()
default destructor
bool failed_
indicate failed associations
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Analysis-level calorimeter jet class.
reco::MuonRef muonRef() const
~Calculate()
default destructor
edm::EDGetTokenT< edm::View< Object > > src_
input collection
void operator()(const std::vector< pat::Jet > &jets)
void operator()(const std::vector< reco::Jet > &jets)
double wMass_
paramater of the w boson mass
edm::EDGetTokenT< reco::JetTagCollection > btagLabel_
choice for b-tag as extra selection type
void operator2(const std::vector< pat::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
void operator2(const std::vector< reco::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
double massTopQuark_
cache of top quark mass estimate
int min_
min/max for object multiplicity
bool selectVertex(const edm::Event &event)
int maxNJets_
max. number of jets to be considered
~SelectionStep()
default destructor
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
double massWBoson_
cache of w boson mass estimate
double massWBoson(const std::vector< pat::Jet > &jets)
calculate W boson mass estimate
bool isNonnull() const
Checks for non-null.
Analysis-level MET class.
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing
double massWBoson_
cache of w boson mass estimate
double tmassWBoson_
cache of W boson transverse mass estimate
static const std::string triggerPaths
double tmassTopQuark_
cache of top quark transverse mass estimate
double massBTopQuark_
cache of b-tagged top quark mass estimate
double tmassTopQuark_
cache of top quark transverse mass estimate
bool select(const edm::Event &event)
apply selection
double massTopQuark(const std::vector< reco::Jet > &jets)
calculate t-quark mass estimate
double massTopQuark(const std::vector< pat::Jet > &jets)
calculate t-quark mass estimate
double tmassWBoson(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate W boson transverse mass estimate
double tmassTopQuark(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate top quark transverse mass estimate
double btagWorkingPoint_
choice of b-tag working point as extra selection type
double tmassWBoson_
cache of W boson transverse mass estimate
double massBTopQuark(const std::vector< reco::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
Log< level::Info, true > LogVerbatim
SelectionStep(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
default constructor
double massWBoson(const std::vector< reco::Jet > &jets)
calculate W boson mass estimate
double wMass_
paramater of the w boson mass
Templated helper class to allow a selection on a certain object collection.
T getParameter(std::string const &) const
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
bool accept() const
Has at least one path accepted the event?
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Particle reconstructed by the particle flow algorithm.
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.
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
bool failed_
indicate failed associations
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
double massTopQuark_
cache of top quark mass estimate
StringCutObjectSelector< Object > select_
string cut selector
double tmassWBoson(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate W boson transverse mass estimate