16 std::vector<double> blank;
19 std::vector<double> EnergyDefault;
20 EnergyDefault.clear();
21 EnergyDefault.push_back(50);
26 for (
int i=29;
i<=41;++
i)
35 for (
int i=29;
i<=41;++
i)
48 const std::vector<double>& short_Energy,
49 const std::vector<double>& short_ET,
50 const std::vector<double>& long_optimumSlope,
51 const std::vector<double>& long_Energy,
52 const std::vector<double>& long_ET,
53 int HcalAcceptSeverityLevel,
97 double ET = energy/fabs(cosh(fEta));
100 double ETthresh=0, Energythresh=0;
111 if (energy<Energythresh || ET < ETthresh)
122 if (neigh!=rec.
end())
134 for (
int d=1;d<=2;++d)
136 for (
int i=ieta-1;
i<=ieta+1;++
i)
141 if (
abs(ieta)==39 &&
abs(
i)>39 && testphi%4==1)
143 while (testphi<0) testphi+=72;
145 if (d==depth ||
isS8S1_==
true)
continue;
151 if (neigh!=rec.
end())
157 S9S1+=neigh->energy();
165 if (
abs(ieta)>39) phiseg=4;
166 for (
int d=1;d<=2;++d)
168 for (
int i=iphi-phiseg;
i<=iphi+phiseg;
i+=phiseg)
170 if (
i==iphi)
continue;
173 while (testphi<0) testphi+=72;
174 while (testphi>72) testphi-=72;
178 if (neigh!=rec.
end())
184 S9S1+=neigh->energy();
191 for (
int d=1;d<=2;++d)
195 if (neigh!=rec.
end())
201 S9S1+=neigh->energy();
214 double intercept = 0;
221 if (intercept>0 && energy>0)
222 S9S1cut=-1.*slope*
log(intercept) + slope*
log(energy);
247 threshold+=params[
i]*
pow(static_cast<double>(abs_ieta), (
int)
i);
265 threshold+=params[
i]*
pow(abs_energy, (
int)
i);
std::vector< double > LongSlopes
void HFSetFlagFromS9S1(HFRecHit &hf, HFRecHitCollection &rec, const HcalChannelQuality *myqual, const HcalSeverityLevelComputer *mySeverity)
static const double slope[3]
void setFlagField(uint32_t value, int base, int width=1)
int HcalAcceptSeverityLevel_
std::vector< HFRecHit >::const_iterator const_iterator
std::vector< double > LongEnergyThreshold
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::vector< double > LongETThreshold
int depth() const
get the tower depth
std::vector< double > ShortSlopes
double CalcSlope(int abs_ieta, const std::vector< double > ¶ms)
int ieta() const
get the cell ieta
Abs< T >::type abs(const T &t)
const_iterator end() const
int iphi() const
get the cell iphi
static const double theHFEtaBounds[]
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
iterator find(key_type k)
std::vector< double > ShortETThreshold
std::vector< double > ShortEnergyThreshold
uint32_t getValue() const
Power< A, B >::type pow(const A &a, const B &b)
double CalcEnergyThreshold(double abs_energy, const std::vector< double > ¶ms)