#include <L1EGPuppiIsoAlgo.h>
Definition at line 45 of file L1EGPuppiIsoAlgo.h.
◆ L1EGPuppiIsoAlgo() [1/2]
◆ L1EGPuppiIsoAlgo() [2/2]
Definition at line 5 of file L1EGPuppiIsoAlgo.cc.
T getParameter(std::string const &) const
const L1EGPuppiIsoAlgoConfig config_
◆ ~L1EGPuppiIsoAlgo()
virtual l1ct::L1EGPuppiIsoAlgo::~L1EGPuppiIsoAlgo |
( |
| ) |
|
|
virtualdefault |
◆ calcIso()
Definition at line 98 of file L1EGPuppiIsoAlgo.cc.
References config_, l1ct::dr2_int(), l1ct::L1EGPuppiIsoAlgoConfig::dRMin2_, PVValHelper::dz, l1ct::L1EGPuppiIsoAlgoConfig::dZMax_, l1trig_cff::hwPt, triggerObjects_cff::l1EG, l1ct::L1EGPuppiIsoAlgoConfig::pfCandReuse_, l1ct::L1EGPuppiIsoAlgoConfig::ptMin_, and TtFullHadEvtBuilder_cfi::sumPt.
Referenced by run().
101 auto pfIt = workPFCands.cbegin();
102 while (pfIt != workPFCands.cend()) {
104 const auto workPFCand = *pfIt;
106 if (workPFCand->hwId.charged()) {
107 pfCandZ0 = workPFCand->hwZ0();
111 ap_int<z0_t::width + 1>
dz =
z0 - pfCandZ0;
116 if (workPFCand->intCharge() == 0 || (workPFCand->intCharge() != 0 &&
dz <
config_.
dZMax_)) {
117 const auto dR2 =
dr2_int(
l1EG.hwEta,
l1EG.hwPhi, workPFCand->hwEta, workPFCand->hwPhi);
119 sumPt += workPFCand->hwPt;
123 pfIt = workPFCands.erase(pfIt);
int dr2_int(eta_t eta1, phi_t phi1, eta_t eta2, phi_t phi2)
const L1EGPuppiIsoAlgoConfig config_
ap_ufixed< 11, 9, AP_TRN, AP_SAT > iso_t
ap_int< z0_t::width+1 > dZMax_
◆ run() [1/3]
Definition at line 13 of file L1EGPuppiIsoAlgo.cc.
References calcIso(), config_, l1ct::L1EGPuppiIsoAlgoConfig::kPFIso, triggerObjects_cff::l1EG, and l1ct::L1EGPuppiIsoAlgoConfig::pfIsoType_.
Referenced by L1TCtL2EgProducer::produce().
17 outL1EGs.reserve(l1EGs.size());
21 std::list<const PuppiObj*> workPFCands;
22 std::list<const PuppiObj*> workPFCandsPV;
23 for (
const auto& l1PFCand : l1PFCands) {
24 workPFCands.emplace_back(&l1PFCand);
25 workPFCandsPV.emplace_back(&l1PFCand);
28 for (
const auto&
l1EG : l1EGs) {
32 if (!workPFCands.empty()) {
38 outL1EG.setHwIso(EGIsoObjEmu::IsoType::PfIso, iso);
39 outL1EG.setHwIso(EGIsoObjEmu::IsoType::PfIsoPV, isoPV);
41 outL1EG.setHwIso(EGIsoObjEmu::IsoType::PuppiIso, iso);
42 outL1EG.setHwIso(EGIsoObjEmu::IsoType::PuppiIsoPV, isoPV);
44 outL1EGs.emplace_back(outL1EG);
const L1EGPuppiIsoAlgoConfig config_
ap_ufixed< 11, 9, AP_TRN, AP_SAT > iso_t
iso_t calcIso(const EGIsoObj &l1EG, std::list< const PuppiObj *> &workPFCands, z0_t z0=0) const
◆ run() [2/3]
Definition at line 48 of file L1EGPuppiIsoAlgo.cc.
References calcIso(), config_, l1ct::L1EGPuppiIsoAlgoConfig::kPFIso, triggerObjects_cff::l1EG, and l1ct::L1EGPuppiIsoAlgoConfig::pfIsoType_.
51 std::list<const PuppiObj*> workPFCands;
52 std::list<const PuppiObj*> workPFCandsPV;
53 for (
const auto& l1PFCand : l1PFCands) {
54 workPFCands.emplace_back(&l1PFCand);
55 workPFCandsPV.emplace_back(&l1PFCand);
58 for (
auto&
l1EG : l1EGs) {
61 if (!workPFCands.empty()) {
67 l1EG.setHwIso(EGIsoObjEmu::IsoType::PfIso, iso);
68 l1EG.setHwIso(EGIsoObjEmu::IsoType::PfIsoPV, isoPV);
70 l1EG.setHwIso(EGIsoObjEmu::IsoType::PuppiIso, iso);
71 l1EG.setHwIso(EGIsoObjEmu::IsoType::PuppiIsoPV, isoPV);
const L1EGPuppiIsoAlgoConfig config_
ap_ufixed< 11, 9, AP_TRN, AP_SAT > iso_t
iso_t calcIso(const EGIsoObj &l1EG, std::list< const PuppiObj *> &workPFCands, z0_t z0=0) const
◆ run() [3/3]
Definition at line 76 of file L1EGPuppiIsoAlgo.cc.
References calcIso(), config_, l1ct::L1EGPuppiIsoAlgoConfig::kPFIso, and l1ct::L1EGPuppiIsoAlgoConfig::pfIsoType_.
79 std::list<const PuppiObj*> workPFCands;
80 for (
const auto& l1PFCand : l1PFCands) {
81 workPFCands.emplace_back(&l1PFCand);
84 for (
auto& l1Ele : l1Eles) {
86 if (!workPFCands.empty()) {
87 iso =
calcIso(l1Ele, workPFCands);
91 l1Ele.setHwIso(EGIsoEleObjEmu::IsoType::PfIso, iso);
93 l1Ele.setHwIso(EGIsoEleObjEmu::IsoType::PuppiIso, iso);
const L1EGPuppiIsoAlgoConfig config_
ap_ufixed< 11, 9, AP_TRN, AP_SAT > iso_t
iso_t calcIso(const EGIsoObj &l1EG, std::list< const PuppiObj *> &workPFCands, z0_t z0=0) const
◆ config_