50 for (
unsigned int j = 0; j < triggerPaths.size(); ++j) {
51 if (
accept(event, triggerTable, triggerPaths[j])) {
87 std::vector<double> VbtagWP,
double btagWP_);
108 void operator()(
const std::vector<pat::Jet>& jets);
110 void operator2(
const std::vector<pat::Jet>&, std::vector<double>,
double);
149 double massTopQuark(
const std::vector<reco::Jet>& jets);
154 std::vector<double> VbtagWP,
double btagWP_);
167 void operator()(
const std::vector<reco::Jet>& jets);
169 void operator2(
const std::vector<reco::Jet>&, std::vector<double>,
double);
252 template <
typename Object>
304 template <
typename Object>
324 if (cfg.
exists(
"jetCorrector")) {
344 template <
typename Object>
360 obj != src->end(); ++
obj) {
362 if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
363 unsigned int idx =
obj - src->begin();
366 : ((double)(*electronId)[src->refAt(idx)] >=
eidCutValue_)) {
377 return (
min_ < 0 &&
max_ < 0) ? (n > 0) : accept;
381 template <
typename Object>
400 obj != src->end(); ++
obj) {
403 if (dynamic_cast<const reco::PFCandidate*>(&*
obj)) {
414 }
else if (((
double)(*electronId)[
obj->gsfElectronRef()] >=
424 else if (dynamic_cast<const reco::GsfElectron*>(&*
obj)) {
425 unsigned int idx =
obj - src->begin();
428 : ((double)(*electronId)[src->refAt(idx)] >=
eidCutValue_)) {
440 return (
min_ < 0 &&
max_ < 0) ? (n > 0) : accept;
443 template <
typename Object>
458 obj != src->end(); ++
obj) {
464 return (
min_ < 0 &&
max_ < 0) ? (n > 0) : accept;
468 template <
typename Object>
504 <<
"---------------------------------------------------------------\n" 505 <<
" No JetCorrectionsRecord available from EventSetup:\n" 506 <<
" - Jets will not be corrected.\n" 507 <<
" - If you want to change this add the following lines to your " 510 <<
" ## load jet corrections\n" 511 <<
" process.load(\"" 512 "JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff" 514 <<
" process.prefer(\"ak5CaloL2L3\")\n" 515 <<
"---------------------------------------------------------------" 522 obj != src->end(); ++
obj) {
525 unsigned int idx =
obj - src->begin();
528 bool passedJetID =
true;
531 dynamic_cast<const reco::CaloJet*>(src->refAt(idx).get())) {
532 passedJetID = (*jetIDSelect_)((*jetID)[src->refAt(idx)]);
537 jet.scaleEnergy(corrector ? corrector->
correction(*
obj) : 1.);
544 return (
min_ < 0 &&
max_ < 0) ? (n > 0) : accept;
~Calculate_miniAOD()
default destructor
double massWBoson_
cache of w boson mass estimate
std::optional< eventsetup::EventSetupRecordGeneric > find(const eventsetup::EventSetupRecordKey &iKey) const
Analysis-level MET class.
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
double massBTopQuark_
cache of b-tagged top quark mass estimate
bool isNonnull() const
Checks for non-null.
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
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
bool getByToken(EDGetToken token, Handle< PROD > &result) const
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)
bool accept() const
Has at least one path accepted the event?
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
bool exists(std::string const ¶meterName) const
checks if a parameter exists
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
def setup(process, global_tag, zero_tesla=False)
bool failed_
indicate failed associations
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_
Strings const & triggerNames() const
~SelectionStep()
default destructor
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
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
double wMass_
paramater of the w boson mass
double wMass_
paramater of the w boson mass
double massTopQuark(const std::vector< pat::Jet > &jets)
calculate t-quark mass estimate
virtual double correction(const LorentzVector &fJet) const =0
get correction using Jet information only
double tmassTopQuark(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate top quark transverse mass estimate
maxNJets
maximum number of jets taken into account per event for each hypothesis (this parameter is used in th...
reco::MuonRef muonRef() const
void operator2(const std::vector< pat::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
double massBTopQuark(const std::vector< pat::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing ...
Analysis-level electron class.
Analysis-level calorimeter jet class.
double btagWorkingPoint_
choice of b-tag working point as extra selection type
Templated helper class to allow a selection on a certain object collection.
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
static EventSetupRecordKey makeKey()
double tmassTopQuark_
cache of top quark transverse mass estimate
bool isUninitialized() const
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
static std::string const triggerPaths
std::string jetCorrector_
jet corrector as extra selection type
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