217 std::vector<double> coreCanid;
218 std::vector<double>::const_iterator ci;
220 std::vector<DetId> usedHits;
226 bool clusterOk =
true;
230 bool edge_type1 = seedid.
ietaAbs() == 39 && (seedid.
iphi() % 4) == 3;
234 for (de = -2; de <= 2; de++)
235 for (dp = -4; dp <= 4; dp += 2) {
236 phiWrap = seedid.
iphi() + dp;
243 if (edge_type1 && de == seedid.
zside()) {
248 }
else if (dp == -4) {
260 double e_short = 0.0;
269 double eRatio = (e_long - e_short) /
std::max(1.0, (e_long + e_short));
273 if (dp == 0 && de == 0)
279 if (dp == 0 && de == 0)
286 usedHits.push_back(idl.rawId());
290 if ((de > -2) && (de < 2) && (dp > -4) && (dp < 4)) {
294 if ((dp == 0) && (de == 0)) {
299 if ((de > -2) && (de < 2) && (dp > -4) && (dp < 4) && (e_long > (.5 * e_seed))) {
300 coreCanid.push_back(e_long);
306 double d_p = p.
phi() - sp.
phi();
311 double d_e = p.
eta() - sp.
eta();
321 w_x += (p.
x()) * wgt;
322 w_y += (p.
y()) * wgt;
323 w_z += (p.
z()) * wgt;
327 if (dp == 0 && de == 0)
333 usedHits.push_back(ids.rawId());
337 if ((de > -2) && (de < 2) && (dp > -4) && (dp < 4)) {
341 if ((dp == 0) && (de == 0)) {
351 std::sort(coreCanid.begin(), coreCanid.end(),
CompareHFCore());
352 for (ci = coreCanid.begin(); ci != coreCanid.end(); ci++) {
353 if (ci == coreCanid.begin()) {
355 }
else if (*ci > .5 * l_1e) {
365 double eta = xyzclus.eta();
367 double phi = xyzclus.phi();
375 int idx = fabs(seedid.
ieta()) - 29;
376 int ipx = seedid.
iphi();
381 HFEMClusterShape myClusShp(l_1, s_1, l_3, s_3, l_5, s_5, l_1e, Ceta, Cphi, seedid);
static std::vector< std::string > checklist log
constexpr int ietaAbs() const
get the absolute value of the cell ieta
constexpr int zside() const
get the z-side of the cell (1/-1)
std::vector< double > m_correctionByEta
Geom::Phi< T > phi() const
std::vector< T >::const_iterator const_iterator
std::vector< double > m_seedmnEta
friend class CompareHFCore
std::vector< double > m_seedMXeta
constexpr int iphi() const
get the cell iphi
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Abs< T >::type abs(const T &t)
constexpr int ieta() const
get the cell ieta
std::vector< double > m_seedmnPhi
const_iterator end() const
static int indexByEta(HcalDetId id)
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< double > m_seedMXphi
iterator find(key_type k)
bool isPMTHit(const HFRecHit &hfr)