![]() |
![]() |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
![]() | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Types | |
typedef ap_fixed< 32, 16 > | input_t |
typedef ap_ufixed< pt_t::width, 0 > | inv_t |
typedef ap_int< 12 > | phi_t |
typedef ap_fixed< 2 *pt_t::width, 2 *pt_t::iwidth, AP_RND, AP_SAT > | pt2_t |
typedef ap_ufixed< 14, 12, AP_RND, AP_WRAP > | pt_t |
typedef ap_fixed< pt_t::width+1, pt_t::iwidth+1, AP_RND, AP_SAT > | pxy_t |
typedef ap_fixed< 32, 16 > | result_t |
Private Member Functions | |
void | CalcMetHLS (const std::vector< float > &pt, const std::vector< float > &phi, reco::Candidate::PolarLorentzVector &metVector) const |
void | CalcMlMet (const std::vector< float > &pt, const std::vector< float > &eta, const std::vector< float > &phi, const std::vector< float > &puppiWeight, const std::vector< int > &pdgId, const std::vector< int > &charge, reco::Candidate::PolarLorentzVector &metVector) const |
int | EncodePdgId (int pdgId) const |
void | PhiFromXY (pxy_t px, pxy_t py, phi_t &phi, bool debug=false) const |
void | produce (edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override |
void | Project (pt_t pt, phi_t phi, pxy_t &pxy, bool isX, bool debug=false) const |
Private Attributes | |
edm::EDGetTokenT< vector< l1t::PFCandidate > > | _l1PFToken |
const phi_t | hwPi_ = round(M_PI / phiLSB_) |
const phi_t | hwPiOverTwo_ = round(M_PI / (2 * phiLSB_)) |
int | maxCands_ = 128 |
std::shared_ptr< hls4mlEmulator::Model > | model |
std::string | modelVersion_ |
bool | useMlModel_ |
Static Private Attributes | |
static constexpr int | dropBits_ = 2 |
static constexpr int | dropFactor_ = (1 << dropBits_) |
static constexpr int | invTableBits_ = 10 |
static constexpr int | invTableSize_ = (1 << invTableBits_) |
static constexpr float | maxPt_ = ((1 << pt_t::width) - 1) * ptLSB_ |
static constexpr int | numCatInputs_ = 2 |
static constexpr int | numContInputs_ = 4 |
static constexpr int | numInputs_ = numContInputs_ + numPxPyInputs_ + numCatInputs_ |
static constexpr int | numPxPyInputs_ = 2 |
static constexpr float | phiLSB_ = M_PI / 720 |
static constexpr float | ptLSB_ = 0.25 |
Additional Inherited Members | |
![]() | |
typedef EDProducerBase | ModuleType |
![]() | |
template<typename T > | |
using | BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T > |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
![]() | |
typedef ProductLabels | Labels |
![]() | |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
declare what type of product will make and with which optional label More... | |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
ProducesCollector | producesCollector () |
![]() | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Definition at line 21 of file L1MetPfProducer.cc.
|
private |
Definition at line 59 of file L1MetPfProducer.cc.
|
private |
Definition at line 47 of file L1MetPfProducer.cc.
|
private |
Definition at line 35 of file L1MetPfProducer.cc.
|
private |
Definition at line 41 of file L1MetPfProducer.cc.
|
private |
Definition at line 34 of file L1MetPfProducer.cc.
|
private |
Definition at line 40 of file L1MetPfProducer.cc.
|
private |
Definition at line 60 of file L1MetPfProducer.cc.
|
explicit |
Definition at line 83 of file L1MetPfProducer.cc.
References web.browse_db::loader, model, modelVersion_, and useMlModel_.
|
override |
Definition at line 340 of file L1MetPfProducer.cc.
|
private |
Definition at line 199 of file L1MetPfProducer.cc.
References nano_mu_digi_cff::float, mps_fire::i, maxPt_, SiStripPI::min, phi, PhiFromXY(), phiLSB_, Project(), DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), and parallelization::uint.
Referenced by produce().
|
private |
Definition at line 156 of file L1MetPfProducer.cc.
References funct::abs(), ALCARECOTkAlJpsiMuMu_cff::charge, funct::cos(), EncodePdgId(), PVValHelper::eta, Matriplex::hypot(), mps_fire::i, input, maxCands_, model, numContInputs_, numInputs_, numPxPyInputs_, EgammaValidation_cff::pdgId, phi, DiDispStaMuonMonitor_cfi::pt, mps_fire::result, funct::sin(), and parallelization::uint.
Referenced by produce().
|
private |
Definition at line 139 of file L1MetPfProducer.cc.
References funct::abs(), and EgammaValidation_cff::pdgId.
Referenced by CalcMlMet().
|
static |
Definition at line 95 of file L1MetPfProducer.cc.
References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Definition at line 266 of file L1MetPfProducer.cc.
References a, b, debug, dropFactor_, nano_mu_digi_cff::float, hwPi_, hwPiOverTwo_, invTableSize_, M_PI, maxPt_, phi, phiLSB_, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, x, and y.
Referenced by CalcMetHLS().
|
overrideprivatevirtual |
Implements edm::global::EDProducerBase.
Definition at line 103 of file L1MetPfProducer.cc.
References _l1PFToken, CalcMetHLS(), CalcMlMet(), ALCARECOTkAlJpsiMuMu_cff::charge, PVValHelper::eta, mps_fire::i, iEvent, createfilelist::int, L1Analysis::kTotalHt, maxCands_, susyDQM_cfi::metCollection, eostools::move(), EgammaValidation_cff::pdgId, phi, DiDispStaMuonMonitor_cfi::pt, and useMlModel_.
|
private |
Definition at line 229 of file L1MetPfProducer.cc.
References funct::cos(), l1tPhase1JetProducer_cfi::cosPhi, hwPi_, hwPiOverTwo_, M_PI, phi, DiDispStaMuonMonitor_cfi::pt, objects.METAnalyzer::pxy, funct::sin(), and l1tPhase1JetProducer_cfi::sinPhi.
Referenced by CalcMetHLS().
|
private |
Definition at line 29 of file L1MetPfProducer.cc.
Referenced by produce().
|
staticprivate |
Definition at line 50 of file L1MetPfProducer.cc.
|
staticprivate |
Definition at line 51 of file L1MetPfProducer.cc.
Referenced by PhiFromXY().
Definition at line 44 of file L1MetPfProducer.cc.
Referenced by PhiFromXY(), and Project().
Definition at line 45 of file L1MetPfProducer.cc.
Referenced by PhiFromXY(), and Project().
|
staticprivate |
Definition at line 52 of file L1MetPfProducer.cc.
|
staticprivate |
Definition at line 53 of file L1MetPfProducer.cc.
Referenced by PhiFromXY().
|
private |
Definition at line 31 of file L1MetPfProducer.cc.
Referenced by CalcMlMet(), and produce().
|
staticprivate |
Definition at line 43 of file L1MetPfProducer.cc.
Referenced by CalcMetHLS(), and PhiFromXY().
|
private |
Definition at line 57 of file L1MetPfProducer.cc.
Referenced by CalcMlMet(), L1MetPfProducer(), and querying.connection::search_everything().
|
private |
Definition at line 58 of file L1MetPfProducer.cc.
Referenced by L1MetPfProducer().
|
staticprivate |
Definition at line 63 of file L1MetPfProducer.cc.
|
staticprivate |
Definition at line 61 of file L1MetPfProducer.cc.
Referenced by CalcMlMet().
|
staticprivate |
Definition at line 64 of file L1MetPfProducer.cc.
Referenced by CalcMlMet().
|
staticprivate |
Definition at line 62 of file L1MetPfProducer.cc.
Referenced by CalcMlMet().
|
staticprivate |
Definition at line 37 of file L1MetPfProducer.cc.
Referenced by CalcMetHLS(), and PhiFromXY().
|
staticprivate |
Definition at line 36 of file L1MetPfProducer.cc.
|
private |
Definition at line 56 of file L1MetPfProducer.cc.
Referenced by L1MetPfProducer(), and produce().