|
|
Go to the documentation of this file.
84 double massBTopQuark(
const std::vector<pat::Jet>&
jets, std::vector<double> VbtagWP,
double btagWP_);
102 void operator2(
const std::vector<pat::Jet>&, std::vector<double>,
double);
141 double massBTopQuark(
const std::vector<reco::Jet>&
jets, std::vector<double> VbtagWP,
double btagWP_);
154 void operator2(
const std::vector<reco::Jet>&, std::vector<double>,
double);
236 template <
typename Object>
288 template <
typename Object>
290 : select_(
cfg.getParameter<
std::
string>(
"select")), jetIDSelect_(nullptr) {
293 cfg.exists(
"min") ?
min_ =
cfg.getParameter<
int>(
"min") :
min_ = -1;
294 cfg.exists(
"max") ?
max_ =
cfg.getParameter<
int>(
"max") :
max_ = -1;
302 if (
cfg.exists(
"jetCorrector")) {
318 template <
typename Object>
327 if (!electronId_.isUninitialized()) {
336 if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
338 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
349 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
350 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
354 template <
typename Object>
366 if (!electronId_.isUninitialized()) {
375 if (dynamic_cast<const reco::PFCandidate*>(&*
obj)) {
384 if (electronId_.isUninitialized()) {
386 }
else if (((
double)(*
electronId)[
obj->gsfElectronRef()] >= eidCutValue_)) {
395 else if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
397 if (electronId_.isUninitialized() ?
true : ((double)(*
electronId)[
src->refAt(
idx)] >= eidCutValue_)) {
409 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
410 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
413 template <
typename Object>
422 if (!electronId_.isUninitialized()) {
433 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
434 return (min_ < 0 && max_ < 0) ? (
n > 0) :
accept;
438 template <
typename Object>
452 if (!btagLabel_.isUninitialized()) {
453 if (!
event.getByToken(src_, bjets))
455 if (!
event.getByToken(btagLabel_, btagger))
457 if (!
event.getByToken(pvs_, pvertex))
464 if (!
event.getByToken(jetIDLabel_, jetID))
470 if (!jetCorrector_.empty()) {
472 if (
setup.find(edm::eventsetup::EventSetupRecordKey::makeKey<JetCorrectionsRecord>())) {
476 <<
"---------------------------------------------------------------\n"
477 <<
" No JetCorrectionsRecord available from EventSetup:\n"
478 <<
" - Jets will not be corrected.\n"
479 <<
" - If you want to change this add the following lines to your "
482 <<
" ## load jet corrections\n"
483 <<
" process.load(\""
484 "JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff"
486 <<
" process.prefer(\"ak5CaloL2L3\")\n"
487 <<
"---------------------------------------------------------------"
497 if (btagLabel_.isUninitialized() ?
true : (*btagger)[bjets->refAt(
idx)] > btagWorkingPoint_) {
498 bool passedJetID =
true;
500 if (jetIDSelect_ && dynamic_cast<const reco::CaloJet*>(
src->refAt(
idx).get())) {
501 passedJetID = (*jetIDSelect_)((*jetID)[
src->refAt(
idx)]);
512 bool accept = (min_ >= 0 ?
n >= min_ :
true) && (max_ >= 0 ?
n <= max_ :
true);
513 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
T getParameter(std::string const &) const
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
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.
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