36 #define TWOPI 6.283185308
72 edm::LogError(
"AlCaPi0RecHitsProducerError") <<
"Size of eta/phi for simple clustering should be odd numbers";
221 hMinvPi0EB_ = ibooker.
book1D(
"Pi0InvmassEB",
"Pi0 Invariant Mass in EB", 100, 0., 0.5);
224 hMinvPi0EE_ = ibooker.
book1D(
"Pi0InvmassEE",
"Pi0 Invariant Mass in EE", 100, 0., 0.5);
227 hMinvEtaEB_ = ibooker.
book1D(
"EtaInvmassEB",
"Eta Invariant Mass in EB", 100, 0., 0.85);
230 hMinvEtaEE_ = ibooker.
book1D(
"EtaInvmassEE",
"Eta Invariant Mass in EE", 100, 0., 0.85);
233 hPt1Pi0EB_ = ibooker.
book1D(
"Pt1Pi0EB",
"Pt 1st most energetic Pi0 photon in EB", 100, 0., 20.);
236 hPt1Pi0EE_ = ibooker.
book1D(
"Pt1Pi0EE",
"Pt 1st most energetic Pi0 photon in EE", 100, 0., 20.);
239 hPt1EtaEB_ = ibooker.
book1D(
"Pt1EtaEB",
"Pt 1st most energetic Eta photon in EB", 100, 0., 20.);
242 hPt1EtaEE_ = ibooker.
book1D(
"Pt1EtaEE",
"Pt 1st most energetic Eta photon in EE", 100, 0., 20.);
245 hPt2Pi0EB_ = ibooker.
book1D(
"Pt2Pi0EB",
"Pt 2nd most energetic Pi0 photon in EB", 100, 0., 20.);
248 hPt2Pi0EE_ = ibooker.
book1D(
"Pt2Pi0EE",
"Pt 2nd most energetic Pi0 photon in EE", 100, 0., 20.);
251 hPt2EtaEB_ = ibooker.
book1D(
"Pt2EtaEB",
"Pt 2nd most energetic Eta photon in EB", 100, 0., 20.);
254 hPt2EtaEE_ = ibooker.
book1D(
"Pt2EtaEE",
"Pt 2nd most energetic Eta photon in EE", 100, 0., 20.);
281 hS4S91Pi0EB_ = ibooker.
book1D(
"S4S91Pi0EB",
"S4S9 1st most energetic Pi0 photon in EB", 50, 0., 1.);
284 hS4S91Pi0EE_ = ibooker.
book1D(
"S4S91Pi0EE",
"S4S9 1st most energetic Pi0 photon in EE", 50, 0., 1.);
287 hS4S91EtaEB_ = ibooker.
book1D(
"S4S91EtaEB",
"S4S9 1st most energetic Eta photon in EB", 50, 0., 1.);
290 hS4S91EtaEE_ = ibooker.
book1D(
"S4S91EtaEE",
"S4S9 1st most energetic Eta photon in EE", 50, 0., 1.);
293 hS4S92Pi0EB_ = ibooker.
book1D(
"S4S92Pi0EB",
"S4S9 2nd most energetic Pi0 photon in EB", 50, 0., 1.);
296 hS4S92Pi0EE_ = ibooker.
book1D(
"S4S92Pi0EE",
"S4S9 2nd most energetic Pi0 photon in EE", 50, 0., 1.);
299 hS4S92EtaEB_ = ibooker.
book1D(
"S4S92EtaEB",
"S4S9 2nd most energetic Pi0 photon in EB", 50, 0., 1.);
302 hS4S92EtaEE_ = ibooker.
book1D(
"S4S92EtaEE",
"S4S9 2nd most energetic Pi0 photon in EE", 50, 0., 1.);
314 std::vector<EcalRecHit>
seeds;
317 vector<EBDetId> usedXtals;
356 for (itb = rhEBpi0->
begin(); itb != rhEBpi0->
end(); ++itb) {
358 double energy = itb->energy();
368 seeds.push_back(*itb);
374 etot += itb->energy();
391 vector<float> etClus;
392 vector<float> etaClus;
393 vector<float> thetaClus;
394 vector<float> phiClus;
395 vector<EBDetId> max_hit;
397 vector<vector<EcalRecHit>> RecHitsCluster;
398 vector<vector<EcalRecHit>> RecHitsCluster5x5;
399 vector<float> s4s9Clus;
400 vector<float> s9s25Clus;
407 for (std::vector<EcalRecHit>::iterator itseed =
seeds.begin(); itseed !=
seeds.end(); itseed++) {
408 EBDetId seed_id = itseed->id();
409 std::vector<EBDetId>::const_iterator usedIds;
411 bool seedAlreadyUsed =
false;
412 for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
413 if (*usedIds == seed_id) {
414 seedAlreadyUsed =
true;
423 std::vector<std::pair<DetId, float>> clus_used;
427 vector<EcalRecHit> RecHitsInWindow;
428 vector<EcalRecHit> RecHitsInWindow5x5;
430 double simple_energy = 0;
432 for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
436 bool HitAlreadyUsed =
false;
437 for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
438 if (*usedIds == *det) {
439 HitAlreadyUsed =
true;
451 usedXtals.push_back(*det);
453 clus_used.push_back(std::make_pair(*det, 1));
454 simple_energy = simple_energy +
EBRecHits[
nn].energy();
457 if (simple_energy <= 0)
468 float theta_s = 2. * atan(
exp(-clus_pos.eta()));
475 float et_s = simple_energy *
sin(theta_s);
483 for (
int i = 0;
i < 4;
i++)
486 int seed_ieta = seed_id.
ieta();
487 int seed_iphi = seed_id.
iphi();
494 for (
unsigned int j = 0;
j < RecHitsInWindow.size();
j++) {
502 float en = RecHitsInWindow[
j].energy();
507 if (
dx <= 0 &&
dy <= 0)
509 if (
dx >= 0 &&
dy <= 0)
511 if (dx <= 0 && dy >= 0)
513 if (
dx >= 0 &&
dy >= 0)
525 float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3;
528 std::vector<DetId> clus_v5x5 = topology_p->
getWindow(seed_id, 5, 5);
529 for (std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++) {
532 std::vector<EBDetId>::iterator itdet0 =
find(usedXtals.begin(), usedXtals.end(), det);
535 if (itdet0 != usedXtals.end())
552 eClus.push_back(simple_energy);
553 etClus.push_back(et_s);
554 etaClus.push_back(clus_pos.eta());
555 thetaClus.push_back(theta_s);
556 phiClus.push_back(clus_pos.phi());
557 s4s9Clus.push_back(s4s9_max);
558 s9s25Clus.push_back(e3x3 / e5x5);
559 RecHitsCluster.push_back(RecHitsInWindow);
560 RecHitsCluster5x5.push_back(RecHitsInWindow5x5);
577 for (Int_t
i = 0;
i < nClus;
i++) {
578 for (Int_t
j =
i + 1;
j < nClus;
j++) {
583 float p0x = etClus[
i] *
cos(phiClus[
i]);
584 float p1x = etClus[
j] *
cos(phiClus[
j]);
585 float p0y = etClus[
i] *
sin(phiClus[
i]);
586 float p1y = etClus[
j] *
sin(phiClus[
j]);
587 float p0z = eClus[
i] *
cos(thetaClus[
i]);
588 float p1z = eClus[
j] *
cos(thetaClus[
j]);
590 float pt_pair =
sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
595 float m_inv =
sqrt((eClus[
i] + eClus[
j]) * (eClus[
i] + eClus[
j]) - (p0x + p1x) * (p0x + p1x) -
596 (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
602 TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
603 for (Int_t
k = 0;
k < nClus;
k++) {
607 if (
k ==
i ||
k ==
j)
610 TVector3(etClus[
k] *
cos(phiClus[
k]), etClus[
k] *
sin(phiClus[
k]), eClus[
k] *
cos(thetaClus[
k]));
612 float dretacl = fabs(etaClus[
k] - pairVect.Eta());
613 float drcl = ClusVect.DeltaR(pairVect);
620 Iso = Iso + etClus[
k];
621 IsoClus.push_back(
k);
665 for (itb = rhEBeta->
begin(); itb != rhEBeta->
end(); ++itb) {
667 double energy = itb->energy();
677 seeds.push_back(*itb);
683 etot += itb->energy();
700 vector<float> etClus;
701 vector<float> etaClus;
702 vector<float> thetaClus;
703 vector<float> phiClus;
704 vector<EBDetId> max_hit;
706 vector<vector<EcalRecHit>> RecHitsCluster;
707 vector<vector<EcalRecHit>> RecHitsCluster5x5;
708 vector<float> s4s9Clus;
709 vector<float> s9s25Clus;
716 for (std::vector<EcalRecHit>::iterator itseed =
seeds.begin(); itseed !=
seeds.end(); itseed++) {
717 EBDetId seed_id = itseed->id();
718 std::vector<EBDetId>::const_iterator usedIds;
720 bool seedAlreadyUsed =
false;
721 for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
722 if (*usedIds == seed_id) {
723 seedAlreadyUsed =
true;
732 std::vector<std::pair<DetId, float>> clus_used;
736 vector<EcalRecHit> RecHitsInWindow;
737 vector<EcalRecHit> RecHitsInWindow5x5;
739 double simple_energy = 0;
741 for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
745 bool HitAlreadyUsed =
false;
746 for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
747 if (*usedIds == *det) {
748 HitAlreadyUsed =
true;
760 usedXtals.push_back(*det);
762 clus_used.push_back(std::make_pair(*det, 1));
763 simple_energy = simple_energy +
EBRecHits[
nn].energy();
766 if (simple_energy <= 0)
777 float theta_s = 2. * atan(
exp(-clus_pos.eta()));
784 float et_s = simple_energy *
sin(theta_s);
792 for (
int i = 0;
i < 4;
i++)
795 int seed_ieta = seed_id.
ieta();
796 int seed_iphi = seed_id.
iphi();
803 for (
unsigned int j = 0;
j < RecHitsInWindow.size();
j++) {
811 float en = RecHitsInWindow[
j].energy();
816 if (
dx <= 0 &&
dy <= 0)
818 if (
dx >= 0 &&
dy <= 0)
820 if (dx <= 0 && dy >= 0)
822 if (
dx >= 0 &&
dy >= 0)
834 float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3;
837 std::vector<DetId> clus_v5x5 = topology_p->
getWindow(seed_id, 5, 5);
838 for (std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++) {
841 std::vector<EBDetId>::iterator itdet0 =
find(usedXtals.begin(), usedXtals.end(), det);
844 if (itdet0 != usedXtals.end())
861 eClus.push_back(simple_energy);
862 etClus.push_back(et_s);
863 etaClus.push_back(clus_pos.eta());
864 thetaClus.push_back(theta_s);
865 phiClus.push_back(clus_pos.phi());
866 s4s9Clus.push_back(s4s9_max);
867 s9s25Clus.push_back(e3x3 / e5x5);
868 RecHitsCluster.push_back(RecHitsInWindow);
869 RecHitsCluster5x5.push_back(RecHitsInWindow5x5);
886 for (Int_t
i = 0;
i < nClus;
i++) {
887 for (Int_t
j =
i + 1;
j < nClus;
j++) {
892 float p0x = etClus[
i] *
cos(phiClus[
i]);
893 float p1x = etClus[
j] *
cos(phiClus[
j]);
894 float p0y = etClus[
i] *
sin(phiClus[
i]);
895 float p1y = etClus[
j] *
sin(phiClus[
j]);
896 float p0z = eClus[
i] *
cos(thetaClus[
i]);
897 float p1z = eClus[
j] *
cos(thetaClus[
j]);
899 float pt_pair =
sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
904 float m_inv =
sqrt((eClus[
i] + eClus[
j]) * (eClus[
i] + eClus[
j]) - (p0x + p1x) * (p0x + p1x) -
905 (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
911 TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
912 for (Int_t
k = 0;
k < nClus;
k++) {
916 if (
k ==
i ||
k ==
j)
919 TVector3(etClus[
k] *
cos(phiClus[
k]), etClus[
k] *
sin(phiClus[
k]), eClus[
k] *
cos(thetaClus[
k]));
921 float dretacl = fabs(etaClus[
k] - pairVect.Eta());
922 float drcl = ClusVect.DeltaR(pairVect);
929 Iso = Iso + etClus[
k];
930 IsoClus.push_back(
k);
982 std::vector<EcalRecHit> seedsEndCap;
985 vector<EEDetId> usedXtalsEndCap;
986 usedXtalsEndCap.clear();
990 for (ite = rhEEpi0->
begin(); ite != rhEEpi0->
end(); ite++) {
991 double energy = ite->energy();
1006 seedsEndCap.push_back(*ite);
1008 etot += ite->energy();
1019 vector<float> eClusEndCap;
1020 vector<float> etClusEndCap;
1021 vector<float> etaClusEndCap;
1022 vector<float> thetaClusEndCap;
1023 vector<float> phiClusEndCap;
1024 vector<vector<EcalRecHit>> RecHitsClusterEndCap;
1025 vector<vector<EcalRecHit>> RecHitsCluster5x5EndCap;
1026 vector<float> s4s9ClusEndCap;
1027 vector<float> s9s25ClusEndCap;
1034 for (std::vector<EcalRecHit>::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) {
1035 EEDetId seed_id = itseed->id();
1036 std::vector<EEDetId>::const_iterator usedIds;
1038 bool seedAlreadyUsed =
false;
1039 for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1040 if (*usedIds == seed_id) {
1041 seedAlreadyUsed =
true;
1046 if (seedAlreadyUsed)
1049 std::vector<std::pair<DetId, float>> clus_used;
1051 vector<EcalRecHit> RecHitsInWindow;
1052 vector<EcalRecHit> RecHitsInWindow5x5;
1054 float simple_energy = 0;
1056 for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
1059 bool HitAlreadyUsed =
false;
1060 for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1061 if (*usedIds == *det) {
1062 HitAlreadyUsed =
true;
1075 usedXtalsEndCap.push_back(*det);
1077 clus_used.push_back(std::make_pair(*det, 1));
1078 simple_energy = simple_energy +
EERecHits[
nn].energy();
1081 if (simple_energy <= 0)
1087 float theta_s = 2. * atan(
exp(-clus_pos.eta()));
1088 float et_s = simple_energy *
sin(theta_s);
1096 for (
int i = 0;
i < 4;
i++)
1099 int ixSeed = seed_id.
ix();
1100 int iySeed = seed_id.
iy();
1104 for (
unsigned int j = 0;
j < RecHitsInWindow.size();
j++) {
1106 int dx = ixSeed - det_this.
ix();
1107 int dy = iySeed - det_this.
iy();
1109 float en = RecHitsInWindow[
j].energy();
1111 if (
dx <= 0 &&
dy <= 0)
1113 if (
dx >= 0 &&
dy <= 0)
1115 if (dx <= 0 && dy >= 0)
1117 if (
dx >= 0 &&
dy >= 0)
1129 eClusEndCap.push_back(simple_energy);
1130 etClusEndCap.push_back(et_s);
1131 etaClusEndCap.push_back(clus_pos.eta());
1132 thetaClusEndCap.push_back(theta_s);
1133 phiClusEndCap.push_back(clus_pos.phi());
1134 s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3);
1135 s9s25ClusEndCap.push_back(e3x3 / e5x5);
1136 RecHitsClusterEndCap.push_back(RecHitsInWindow);
1137 RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5);
1152 for (Int_t
i = 0;
i < nClusEndCap;
i++) {
1153 for (Int_t
j =
i + 1;
j < nClusEndCap;
j++) {
1156 float p0x = etClusEndCap[
i] *
cos(phiClusEndCap[
i]);
1157 float p1x = etClusEndCap[
j] *
cos(phiClusEndCap[
j]);
1158 float p0y = etClusEndCap[
i] *
sin(phiClusEndCap[
i]);
1159 float p1y = etClusEndCap[
j] *
sin(phiClusEndCap[
j]);
1160 float p0z = eClusEndCap[
i] *
cos(thetaClusEndCap[
i]);
1161 float p1z = eClusEndCap[
j] *
cos(thetaClusEndCap[
j]);
1163 float pt_pair =
sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
1166 float m_inv =
sqrt((eClusEndCap[
i] + eClusEndCap[
j]) * (eClusEndCap[
i] + eClusEndCap[
j]) -
1167 (p0x + p1x) * (p0x + p1x) - (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
1171 vector<int> IsoClus;
1174 TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
1175 for (Int_t
k = 0;
k < nClusEndCap;
k++) {
1179 if (
k ==
i ||
k ==
j)
1182 TVector3 clusVect = TVector3(etClusEndCap[
k] *
cos(phiClusEndCap[
k]),
1183 etClusEndCap[
k] *
sin(phiClusEndCap[
k]),
1184 eClusEndCap[
k] *
cos(thetaClusEndCap[
k]));
1185 float dretacl = fabs(etaClusEndCap[
k] - pairVect.Eta());
1186 float drcl = clusVect.DeltaR(pairVect);
1189 Iso = Iso + etClusEndCap[
k];
1190 IsoClus.push_back(
k);
1234 std::vector<EcalRecHit> seedsEndCap;
1235 seedsEndCap.clear();
1237 vector<EEDetId> usedXtalsEndCap;
1238 usedXtalsEndCap.clear();
1242 for (ite = rhEEeta->
begin(); ite != rhEEeta->
end(); ite++) {
1243 double energy = ite->energy();
1258 seedsEndCap.push_back(*ite);
1260 etot += ite->energy();
1271 vector<float> eClusEndCap;
1272 vector<float> etClusEndCap;
1273 vector<float> etaClusEndCap;
1274 vector<float> thetaClusEndCap;
1275 vector<float> phiClusEndCap;
1276 vector<vector<EcalRecHit>> RecHitsClusterEndCap;
1277 vector<vector<EcalRecHit>> RecHitsCluster5x5EndCap;
1278 vector<float> s4s9ClusEndCap;
1279 vector<float> s9s25ClusEndCap;
1286 for (std::vector<EcalRecHit>::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) {
1287 EEDetId seed_id = itseed->id();
1288 std::vector<EEDetId>::const_iterator usedIds;
1290 bool seedAlreadyUsed =
false;
1291 for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1292 if (*usedIds == seed_id) {
1293 seedAlreadyUsed =
true;
1298 if (seedAlreadyUsed)
1301 std::vector<std::pair<DetId, float>> clus_used;
1303 vector<EcalRecHit> RecHitsInWindow;
1304 vector<EcalRecHit> RecHitsInWindow5x5;
1306 float simple_energy = 0;
1308 for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
1311 bool HitAlreadyUsed =
false;
1312 for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1313 if (*usedIds == *det) {
1314 HitAlreadyUsed =
true;
1327 usedXtalsEndCap.push_back(*det);
1329 clus_used.push_back(std::make_pair(*det, 1));
1330 simple_energy = simple_energy +
EERecHits[
nn].energy();
1333 if (simple_energy <= 0)
1339 float theta_s = 2. * atan(
exp(-clus_pos.eta()));
1340 float et_s = simple_energy *
sin(theta_s);
1348 for (
int i = 0;
i < 4;
i++)
1351 int ixSeed = seed_id.
ix();
1352 int iySeed = seed_id.
iy();
1356 for (
unsigned int j = 0;
j < RecHitsInWindow.size();
j++) {
1358 int dx = ixSeed - det_this.
ix();
1359 int dy = iySeed - det_this.
iy();
1361 float en = RecHitsInWindow[
j].energy();
1363 if (
dx <= 0 &&
dy <= 0)
1365 if (
dx >= 0 &&
dy <= 0)
1367 if (dx <= 0 && dy >= 0)
1369 if (
dx >= 0 &&
dy >= 0)
1381 eClusEndCap.push_back(simple_energy);
1382 etClusEndCap.push_back(et_s);
1383 etaClusEndCap.push_back(clus_pos.eta());
1384 thetaClusEndCap.push_back(theta_s);
1385 phiClusEndCap.push_back(clus_pos.phi());
1386 s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3);
1387 s9s25ClusEndCap.push_back(e3x3 / e5x5);
1388 RecHitsClusterEndCap.push_back(RecHitsInWindow);
1389 RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5);
1404 for (Int_t
i = 0;
i < nClusEndCap;
i++) {
1405 for (Int_t
j =
i + 1;
j < nClusEndCap;
j++) {
1408 float p0x = etClusEndCap[
i] *
cos(phiClusEndCap[
i]);
1409 float p1x = etClusEndCap[
j] *
cos(phiClusEndCap[
j]);
1410 float p0y = etClusEndCap[
i] *
sin(phiClusEndCap[
i]);
1411 float p1y = etClusEndCap[
j] *
sin(phiClusEndCap[
j]);
1412 float p0z = eClusEndCap[
i] *
cos(thetaClusEndCap[
i]);
1413 float p1z = eClusEndCap[
j] *
cos(thetaClusEndCap[
j]);
1415 float pt_pair =
sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
1418 float m_inv =
sqrt((eClusEndCap[
i] + eClusEndCap[
j]) * (eClusEndCap[
i] + eClusEndCap[
j]) -
1419 (p0x + p1x) * (p0x + p1x) - (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
1423 vector<int> IsoClus;
1426 TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
1427 for (Int_t
k = 0;
k < nClusEndCap;
k++) {
1431 if (
k ==
i ||
k ==
j)
1434 TVector3 clusVect = TVector3(etClusEndCap[
k] *
cos(phiClusEndCap[
k]),
1435 etClusEndCap[
k] *
sin(phiClusEndCap[
k]),
1436 eClusEndCap[
k] *
cos(thetaClusEndCap[
k]));
1437 float dretacl = fabs(etaClusEndCap[
k] - pairVect.Eta());
1438 float drcl = clusVect.DeltaR(pairVect);
1441 Iso = Iso + etClusEndCap[
k];
1442 IsoClus.push_back(
k);
1492 mdiff = (neta1 - neta2);
1501 mdiff = nphi1 - nphi2;
1503 mdiff = 360 -
std::abs(nphi1 - nphi2);