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 std::vector<double> short_Energy,
49 std::vector<double> short_ET,
50 std::vector<double> long_optimumSlope,
51 std::vector<double> long_Energy,
52 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
double CalcSlope(int abs_ieta, std::vector< double > params)
static const double slope[3]
void setFlagField(uint32_t value, int base, int width=1)
int HcalAcceptSeverityLevel_
std::vector< T >::const_iterator const_iterator
std::vector< double > LongEnergyThreshold
std::vector< double > LongETThreshold
int depth() const
get the tower depth
std::vector< double > ShortSlopes
int ieta() const
get the cell ieta
const_iterator end() const
int iphi() const
get the cell iphi
void HFSetFlagFromS9S1(HFRecHit &hf, HFRecHitCollection &rec, HcalChannelQuality *myqual, const HcalSeverityLevelComputer *mySeverity)
static const double theHFEtaBounds[]
double CalcEnergyThreshold(double abs_energy, std::vector< double > params)
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
iterator find(key_type k)
std::vector< double > ShortETThreshold
HcalDetId id() const
get the id
std::vector< double > ShortEnergyThreshold
uint32_t getValue() const
const Item * getValues(DetId fId) const
Power< A, B >::type pow(const A &a, const B &b)