Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::global::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Types | |
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 |
Private Member Functions | |
void | CalcMetHLS (const std::vector< float > &pt, const std::vector< float > &phi, reco::Candidate::PolarLorentzVector &metVector) 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 int | dropBits_ = 2 |
const int | dropFactor_ = (1 << dropBits_) |
const phi_t | hwPi_ = round(M_PI / phiLSB_) |
const phi_t | hwPiOverTwo_ = round(M_PI / (2 * phiLSB_)) |
const int | invTableBits_ = 10 |
const int | invTableSize_ = (1 << invTableBits_) |
int | maxCands_ = 128 |
const float | maxPt_ = ((1 << pt_t::width) - 1) * ptLSB_ |
const float | phiLSB_ = M_PI / 720 |
const float | ptLSB_ = 0.25 |
Additional Inherited Members | |
Public Types inherited from edm::global::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::ProducerBase | |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
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 ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
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 () noexcept |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
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 17 of file L1METPFProducer.cc.
|
private |
Definition at line 44 of file L1METPFProducer.cc.
|
private |
Definition at line 32 of file L1METPFProducer.cc.
|
private |
Definition at line 38 of file L1METPFProducer.cc.
|
private |
Definition at line 31 of file L1METPFProducer.cc.
|
private |
Definition at line 37 of file L1METPFProducer.cc.
|
explicit |
Definition at line 60 of file L1METPFProducer.cc.
|
override |
Definition at line 236 of file L1METPFProducer.cc.
|
private |
Definition at line 90 of file L1METPFProducer.cc.
References mps_fire::i, maxPt_, min(), PhiFromXY(), phiLSB_, Project(), mathSSE::sqrt(), and parallelization::uint().
Referenced by produce().
|
static |
Definition at line 229 of file L1METPFProducer.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, and HLT_FULL_cff::InputTag.
|
private |
Definition at line 157 of file L1METPFProducer.cc.
References a, b, dropFactor_, hwPi_, hwPiOverTwo_, invTableSize_, LogDebug, M_PI, maxPt_, phi, phiLSB_, x, and y.
Referenced by CalcMetHLS().
|
overrideprivatevirtual |
Implements edm::global::EDProducerBase.
Definition at line 66 of file L1METPFProducer.cc.
References _l1PFToken, CalcMetHLS(), edm::Event::getByToken(), mps_fire::i, L1Analysis::kTotalHt, maxCands_, HLT_FULL_cff::metCollection, eostools::move(), phi, DiDispStaMuonMonitor_cfi::pt, and edm::Event::put().
|
private |
Definition at line 120 of file L1METPFProducer.cc.
References funct::cos(), Phase1L1TJetProducer_cfi::cosPhi, hwPi_, hwPiOverTwo_, M_PI, objects.METAnalyzer::pxy, funct::sin(), and Phase1L1TJetProducer_cfi::sinPhi.
Referenced by CalcMetHLS().
|
private |
Definition at line 26 of file L1METPFProducer.cc.
Referenced by produce().
|
private |
Definition at line 47 of file L1METPFProducer.cc.
|
private |
Definition at line 48 of file L1METPFProducer.cc.
Referenced by PhiFromXY().
Definition at line 41 of file L1METPFProducer.cc.
Referenced by PhiFromXY(), and Project().
Definition at line 42 of file L1METPFProducer.cc.
Referenced by PhiFromXY(), and Project().
|
private |
Definition at line 49 of file L1METPFProducer.cc.
|
private |
Definition at line 50 of file L1METPFProducer.cc.
Referenced by PhiFromXY().
|
private |
Definition at line 28 of file L1METPFProducer.cc.
Referenced by produce().
|
private |
Definition at line 40 of file L1METPFProducer.cc.
Referenced by CalcMetHLS(), and PhiFromXY().
|
private |
Definition at line 34 of file L1METPFProducer.cc.
Referenced by CalcMetHLS(), and PhiFromXY().
|
private |
Definition at line 33 of file L1METPFProducer.cc.