38 std::vector<l1t::CaloRegion> subRegions;
57 std::vector<SimpleRegion> regionEtVect;
58 std::vector<SimpleRegion> regionHtVect;
61 bool regionOverflowEt(
false);
62 bool regionOverflowHt(
false);
64 if(region.hwEta() >= etSumEtaMinEt && region.hwEta() <= etSumEtaMaxEt)
66 if(region.hwPt() >= 1023)
68 regionOverflowEt =
true;
71 if ( region.hwEta() >= etSumEtaMinHt && region.hwEta() <= etSumEtaMaxHt)
73 if(region.hwPt() >= 1023)
75 regionOverflowHt =
true;
84 for (
auto& region : subRegions) {
85 if ( region.hwEta() >= etSumEtaMinEt && region.hwEta() <= etSumEtaMaxEt)
87 if(region.hwPt() >= etSumEtThresholdEt)
90 r.ieta = region.hwEta();
91 r.iphi = region.hwPhi();
93 regionEtVect.push_back(r);
96 if ( region.hwEta() >= etSumEtaMinHt && region.hwEta() <= etSumEtaMaxHt)
98 if(region.hwPt() >= etSumEtThresholdHt)
101 r.ieta = region.hwEta();
102 r.iphi = region.hwPhi();
103 r.et = region.hwPt();
104 regionHtVect.push_back(r);
109 int sumET,
MET, iPhiET;
112 int sumHT,
MHT, iPhiHT;
120 if(MET > 0xfff || regionOverflowEt)
122 if(MHT > 0x7f || regionOverflowHt)
124 if(sumET > 0xfff || regionOverflowEt)
126 if(sumHT > 0xfff || regionOverflowHt)
135 const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > etLorentz(0,0,0,0);
141 std::vector<l1t::EtSum> preGtEtSums = {etMiss, htMiss, etTot, htTot};
std::tuple< int, int, int > doSumAndMET(const std::vector< SimpleRegion > ®ionEt, ETSumType sumType)
double etSumEtThreshold(unsigned isum) const
int etSumEtaMax(unsigned isum) const
int DiJetPhi(const std::vector< l1t::Jet > *jets) const
CaloParamsHelper const *const params_
void RegionCorrection(const std::vector< l1t::CaloRegion > ®ions, std::vector< l1t::CaloRegion > *subRegions, CaloParamsHelper const *params)
------— New region correction (PUsub, no response correction at the moment) --------— ...
int etSumEtaMin(unsigned isum) const
void EtSumToGtScales(CaloParamsHelper const *params, const std::vector< l1t::EtSum > *input, std::vector< l1t::EtSum > *output)
uint16_t MHToverHT(uint16_t, uint16_t) const