19 std::vector<l1t::CaloRegion> *subRegions,
27 for (std::vector<CaloRegion>::const_iterator
region = regions.begin();
region != regions.end();
region++) {
33 puLevelHI[
i] = (puLevelHI[
i] + 9) * 455 / (1 << 13);
36 for (std::vector<CaloRegion>::const_iterator
region = regions.begin();
region != regions.end();
region++) {
38 int subEta =
region->hwEta();
39 int subPhi =
region->hwPhi();
41 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
44 *&ldummy, 0, 0, subPt, subEta, subPhi,
region->hwQual(),
region->hwEtEm(),
region->hwEtHad());
45 subRegions->push_back(newSubRegion);
50 for (std::vector<CaloRegion>::const_iterator
region = regions.begin();
region != regions.end();
region++) {
51 int subEta =
region->hwEta();
52 int subPhi =
region->hwPhi();
53 int subPt =
region->hwPt();
55 if (subPt != (2 << 10) - 1)
56 subPt = subPt - (10 + subEta);
59 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
62 *&ldummy, 0, 0, subPt, subEta, subPhi,
region->hwQual(),
region->hwEtEm(),
region->hwEtHad());
63 subRegions->push_back(newSubRegion);
70 std::vector<l1t::CaloRegion> *subRegions,
74 if (regionPUSType ==
"None") {
75 for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
76 notCorrectedRegion != regions.end();
77 notCorrectedRegion++) {
79 subRegions->push_back(newSubRegion);
83 if (regionPUSType ==
"HICaloRingSub") {
87 if (regionPUSType ==
"PUM0") {
91 for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
92 notCorrectedRegion != regions.end();
93 notCorrectedRegion++) {
94 int regionET = notCorrectedRegion->hwPt();
99 int pumbin = (int)puMult / 22;
103 for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
104 notCorrectedRegion != regions.end();
105 notCorrectedRegion++) {
106 int regionET = notCorrectedRegion->hwPt();
107 int regionEta = notCorrectedRegion->hwEta();
108 int regionPhi = notCorrectedRegion->hwPhi();
117 int regionEtCorr =
std::max(0, regionET - puSub);
118 if (regionET == 1023)
120 if ((regionET == 255) && (regionEta < 4 || regionEta > 17))
123 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > lorentz(0, 0, 0, 0);
130 notCorrectedRegion->hwQual(),
131 notCorrectedRegion->hwEtEm(),
132 notCorrectedRegion->hwEtHad());
133 subRegions->push_back(newSubRegion);
std::string const & regionPUSType() const
static const unsigned N_ETA
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 regionPUSValue(int PUM0, int eta) const
void simpleHWSubtraction(const std::vector< l1t::CaloRegion > ®ions, std::vector< l1t::CaloRegion > *subRegions)
void HICaloRingSubtraction(const std::vector< l1t::CaloRegion > ®ions, std::vector< l1t::CaloRegion > *subRegions, CaloParamsHelper const *params)
------------— For heavy ion ----------------------------------—