- Author
- Kevin Klapoetke (Minnesota)
$Id:version 1.2
- Author
- K. Klapoetke – Minnesota
Definition at line 22 of file HFClusterAlgo.h.
Analyze the hits
Definition at line 89 of file HFClusterAlgo.cc.
94 std::vector<HFCompleteHit> protoseeds,
seeds;
96 std::vector<HFCompleteHit>::iterator
i;
97 std::vector<HFCompleteHit>::iterator
k;
103 bool doCluster =
false;
105 for (
j =
hf.begin();
j !=
hf.end();
j++) {
106 const int aieta =
j->id().ietaAbs();
107 int iz = (aieta - 29);
109 if (
j->id().depth() != 1)
111 if (aieta == 40 || aieta == 41 || aieta == 29)
114 if (iz < 0 || iz > 12) {
122 auto ccg =
geom->getGeometry(
j->id());
124 for (
size_t sc = 0; sc < CellCorners.
size(); sc++) {
125 if (fabs(CellCorners[sc].
z()) < 1200) {
136 double eshort = (j2 ==
hf.end()) ? (0) : (j2->energy());
139 if (((elong - eshort) / (elong + eshort)) >
m_maximumSL)
150 ahit.et = ahit.energy / cosh(
eta);
151 protoseeds.push_back(ahit);
155 if (!protoseeds.empty()) {
157 for (
i = protoseeds.begin();
i != protoseeds.end();
i++) {
161 if ((
i == protoseeds.begin()) && (isok)) {
167 for (dE = -2; dE <= 2; dE++)
168 for (dP = -4; dP <= 4; dP += 2) {
169 PWrap =
k->id.iphi() + dP;
175 if ((
i->id.iphi() == PWrap) && (
i->id.ieta() ==
k->id.ieta() + dE))
188 clusterShapes.push_back(clusShp);
189 SuperClusters.push_back(Sclus);
References HFClusterAlgo::HFCompleteHit::energy, HFClusterAlgo::HFCompleteHit::et, PVValHelper::eta, relativeConstraints::geom, HcalForward, photonIsolationHIProducer_cfi::hf, mps_fire::i, HFClusterAlgo::HFCompleteHit::id, indexByEta(), dqmiolumiharvest::j, dqmdumpme::k, InitialStep_cff::seeds, and EZArrayFL< T >::size().
Referenced by HFEMClusterProducer::produce().
Definition at line 196 of file HFClusterAlgo.cc.
220 std::vector<double> coreCanid;
221 std::vector<double>::const_iterator ci;
223 std::vector<DetId> usedHits;
229 bool clusterOk =
true;
233 bool edge_type1 = seedid.
ietaAbs() == 39 && (seedid.
iphi() % 4) == 3;
237 for (de = -2; de <= 2; de++)
238 for (
dp = -4;
dp <= 4;
dp += 2) {
239 phiWrap = seedid.
iphi() +
dp;
246 if (edge_type1 && de == seedid.
zside()) {
251 }
else if (
dp == -4) {
263 double e_short = 0.0;
272 double eRatio = (e_long - e_short) /
std::max(1.0, (e_long + e_short));
276 if (
dp == 0 && de == 0)
282 if (
dp == 0 && de == 0)
289 usedHits.push_back(idl.rawId());
293 if ((de > -2) && (de < 2) && (
dp > -4) && (
dp < 4)) {
297 if ((
dp == 0) && (de == 0)) {
302 if ((de > -2) && (de < 2) && (
dp > -4) && (dp < 4) && (e_long > (.5 * e_seed))) {
303 coreCanid.push_back(e_long);
309 double d_p =
p.phi() - sp.
phi();
314 double d_e =
p.eta() - sp.
eta();
324 w_x += (
p.x()) * wgt;
325 w_y += (
p.y()) * wgt;
326 w_z += (
p.z()) * wgt;
330 if (
dp == 0 && de == 0)
336 usedHits.push_back(ids.rawId());
340 if ((de > -2) && (de < 2) && (
dp > -4) && (
dp < 4)) {
344 if ((
dp == 0) && (de == 0)) {
354 std::sort(coreCanid.begin(), coreCanid.end(),
CompareHFCore());
355 for (ci = coreCanid.begin(); ci != coreCanid.end(); ci++) {
356 if (ci == coreCanid.begin()) {
358 }
else if (*ci > .5 * l_1e) {
368 double eta = xyzclus.eta();
370 double phi = xyzclus.phi();
378 int idx = fabs(seedid.
ieta()) - 29;
379 int ipx = seedid.
iphi();
384 HFEMClusterShape myClusShp(l_1, s_1, l_3, s_3, l_5, s_5, l_1e, Ceta, Cphi, seedid);
References funct::abs(), Calorimetry_cff::dp, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), relativeConstraints::geom, HcalForward, photonIsolationHIProducer_cfi::hf, heavyIonCSV_trainingSettings::idx, HcalDetId::ieta(), HcalDetId::ietaAbs(), indexByEta(), HcalDetId::iphi(), dqm-mbProfile::log, M_PI, SiStripPI::max, AlCaHLTBitMon_ParallelJobs::p, PV3DBase< T, PVType, FrameType >::phi(), w, and HcalDetId::zside().