15 std::vector<double> blank;
18 std::vector<double> EnergyDefault;
19 EnergyDefault.clear();
20 EnergyDefault.push_back(50);
25 for (
int i = 29;
i <= 41; ++
i) {
33 for (
int i = 29;
i <= 41; ++
i) {
44 const std::vector<double>& short_Energy,
45 const std::vector<double>& short_ET,
46 const std::vector<double>& long_optimumSlope,
47 const std::vector<double>& long_Energy,
48 const std::vector<double>& long_ET,
91 double eta1 = etas.first;
92 double eta2 = etas.second;
93 double fEta = 0.5 * (eta1 +
eta2);
95 double ET = energy / fabs(cosh(fEta));
98 double ETthresh = 0, Energythresh = 0;
103 }
else if (depth == 2)
108 if (energy < Energythresh || ET < ETthresh)
113 if (depth == 2 &&
abs(ieta) > 29 &&
isS8S1_) {
118 if (neigh != rec.
end())
119 EL = neigh->energy();
130 for (
int d = 1;
d <= 2; ++
d)
132 for (
int i = ieta - 1;
i <= ieta + 1; ++
i)
137 if (
abs(ieta) == 39 &&
abs(
i) > 39 && testphi % 4 == 1)
149 if (neigh != rec.
end()) {
153 S9S1 += neigh->energy();
163 for (
int d = 1;
d <= 2; ++
d) {
164 for (
int i = iphi - phiseg;
i <= iphi + phiseg;
i += phiseg) {
176 if (neigh != rec.
end()) {
180 S9S1 += neigh->energy();
187 for (
int d = 1;
d <= 2; ++
d)
191 if (neigh != rec.
end()) {
195 S9S1 += neigh->energy();
209 double intercept = 0;
218 if (intercept > 0 && energy > 0)
219 S9S1cut = -1. * slope *
log(intercept) + slope *
log(energy);
220 if (S9S1 < S9S1cut) {
239 threshold += params[
i] *
pow(static_cast<double>(abs_ieta), (
int)
i);
252 threshold += params[
i] *
pow(abs_energy, (
int)
i);
constexpr float energy() const
std::vector< double > LongSlopes
void HFSetFlagFromS9S1(HFRecHit &hf, HFRecHitCollection &rec, const HcalChannelQuality *myqual, const HcalSeverityLevelComputer *mySeverity)
static std::vector< std::string > checklist log
tuple HcalAcceptSeverityLevel
static const double slope[3]
int HcalAcceptSeverityLevel_
std::vector< T >::const_iterator const_iterator
std::vector< double > LongEnergyThreshold
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::vector< double > LongETThreshold
constexpr void setFlagField(uint32_t value, int base, int width=1)
constexpr int iphi() const
get the cell iphi
std::vector< double > ShortSlopes
double CalcSlope(int abs_ieta, const std::vector< double > ¶ms)
Abs< T >::type abs(const T &t)
constexpr int ieta() const
get the cell ieta
const_iterator end() const
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
std::pair< double, double > etaRange(HcalSubdetector subdet, int ieta) const
iterator find(key_type k)
std::vector< double > ShortETThreshold
constexpr HcalDetId id() const
constexpr int depth() const
get the tower depth
std::vector< double > ShortEnergyThreshold
uint32_t getValue() const
Power< A, B >::type pow(const A &a, const B &b)
const HcalTopology * topo() const
double CalcEnergyThreshold(double abs_energy, const std::vector< double > ¶ms)