63 float a = 0,
b = 0, e4e1thresh = 0,
ethresh = 0;
84 float e4e1value =
e4e1(
id, rhs);
93 if (e4e1value < e4e1thresh)
102 float e6e2value =
e6e2(
id, rhs);
127 const std::vector<DetId>& neighs =
neighbours(
id);
128 for (
size_t i = 0;
i < neighs.size(); ++
i)
146 const std::vector<DetId>& neighs =
neighbours(
id);
149 for (
size_t i = 0;
i < neighs.size(); ++
i) {
150 float ene =
recHitE(neighs[
i], rhs,
false);
159 s4_1 =
e4e1(
id, rhs) *
e1;
160 s4_2 =
e4e1(maxid, rhs) * e2;
162 return (s4_1 + s4_2) / (
e1 + e2) - 1.;
175 float ene = (*it).energy();
195 std::vector<DetId>
ret;
225 for (rh = rhs.
begin(); rh != rhs.
end(); ++rh) {
const std::vector< DetId > neighbours(const DetId &id)
return the id of the 4 neighbours in the swiss cross
EcalCleaningAlgo(const edm::ParameterSet &p)
float tightenCrack_e4e1_single_
float recHitE(const DetId id, const EcalRecHitCollection &recHits, bool useTimingInfo)
ret
prodAgent to be discontinued
float ignoreOutOfTimeThresh_
ignore kOutOfTime above threshold when calculating e4e1
float e4e1Treshold_barrel_
std::vector< EcalRecHit >::const_iterator const_iterator
EcalRecHit::Flags checkTopology(const DetId &id, const EcalRecHitCollection &rhs)
float tightenCrack_e1_double_
float e4e1(const DetId &id, const EcalRecHitCollection &rhs)
yet another function to calculate swiss cross
static bool isNextToBoundary(EBDetId id)
EEDetId offsetBy(int nrStepsX, int nrStepsY) const
bool isNearCrack(const DetId &detid)
in EB, check if we are near a crack
static bool isNextToRingBoundary(EEDetId id)
float tightenCrack_e6e2_double_
const_iterator begin() const
float tightenCrack_e1_single_
std::vector< EcalRecHit >::iterator iterator
const_iterator end() const
EBDetId offsetBy(int nrStepsEta, int nrStepsPhi) const
void setFlags(EcalRecHitCollection &rhs)
float e4e1Treshold_endcap_
float e6e2(const DetId &id, const EcalRecHitCollection &rhs)