13 std::shared_ptr<GlobalCoordsObtainer> &globalcoordsobtainer)
15 debug_(
pset.getUntrackedParameter<
bool>(
"debug")),
16 chi2Th_(
pset.getParameter<double>(
"chi2Th")),
17 tanPhiTh_(
pset.getParameter<double>(
"tanPhiTh")),
18 tanPhiThw2max_(
pset.getParameter<double>(
"tanPhiThw2max")),
19 tanPhiThw2min_(
pset.getParameter<double>(
"tanPhiThw2min")),
20 tanPhiThw1max_(
pset.getParameter<double>(
"tanPhiThw1max")),
21 tanPhiThw1min_(
pset.getParameter<double>(
"tanPhiThw1min")),
22 tanPhiThw0_(
pset.getParameter<double>(
"tanPhiThw0")) {
24 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"MuonPathAnalyzer: constructor";
37 while (ifin3.good()) {
38 ifin3 >> rawId >>
shift;
51 while (ifin4.good()) {
52 ifin4 >> rawId >>
shift;
59 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"chosen sl must be 1,3 or 4(both superlayers)";
69 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"MuonPathAnalyzer: destructor";
77 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"MuonPathAnalyticAnalyzer::initialiase";
86 std::vector<metaPrimitive> &metaPrimitives) {
88 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"MuonPathAnalyticAnalyzer: run";
91 for (
auto &muonpath : muonpaths) {
92 analyze(muonpath, metaPrimitives);
98 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"MuonPathAnalyzer: finish";
107 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"DTp2:analyze \t\t\t\t starts";
110 if (inMPath->primitive(0)->tdcTimeStamp() != -1)
111 selected_Id = inMPath->primitive(0)->cameraId();
112 else if (inMPath->primitive(1)->tdcTimeStamp() != -1)
113 selected_Id = inMPath->primitive(1)->cameraId();
114 else if (inMPath->primitive(2)->tdcTimeStamp() != -1)
115 selected_Id = inMPath->primitive(2)->cameraId();
116 else if (inMPath->primitive(3)->tdcTimeStamp() != -1)
117 selected_Id = inMPath->primitive(3)->cameraId();
121 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"Building up MuonPathSLId from rawId in the Primitive";
124 LogDebug(
"MuonPathAnalyticAnalyzer") <<
"The MuonPathSLId is" << MuonPathSLId;
127 LogDebug(
"MuonPathAnalyticAnalyzer")
128 <<
"DTp2:analyze \t\t\t\t In analyze function checking if inMPath->isAnalyzable() " << inMPath->isAnalyzable();
133 auto mPath = std::make_shared<MuonPath>(inMPath);
134 mPath->setQuality(
NOPATH);
136 int wi[4],
wires[4], t0s[4], valids[4];
139 if (mPath->primitive(
j)->isValidTime()) {
140 wi[
j] = mPath->primitive(
j)->channelId();
141 wires[
j] = mPath->primitive(
j)->channelId();
142 t0s[
j] = mPath->primitive(
j)->tdcTimeStamp();
162 int cell_horiz_layout[4];
164 cell_horiz_layout[lay] = (wi[lay] - wi[0]) * 2;
166 cell_horiz_layout[lay]--;
173 int coarse_pos = (wi[
tmp] * 2 - cell_horiz_layout[
tmp]) * 21 *
std::pow(2, 4);
178 xwire_mm[lay] = 21 * cell_horiz_layout[lay];
182 int valid_coarse_times[4], min_coarse_time = 999999, max_coarse_time = -999999;
184 if (valids[lay] == 1) {
186 if (valid_coarse_times[lay] < min_coarse_time) {
187 min_coarse_time = valid_coarse_times[lay];
189 if (valid_coarse_times[lay] > max_coarse_time) {
190 max_coarse_time = valid_coarse_times[lay];
193 valid_coarse_times[lay] = -1;
197 if (max_coarse_time - min_coarse_time >= 2)
199 int coarse_offset = max_coarse_time - 1;
201 int reduced_times[4];
207 std::vector<LATCOMB_CONSTANTS> latcomb_consts_arr;
209 if (elem.cell_valid_layout.valid[0] == valids[0] && elem.cell_valid_layout.valid[1] == valids[1] &&
210 elem.cell_valid_layout.valid[2] == valids[2] && elem.cell_valid_layout.valid[3] == valids[3] &&
211 elem.cell_valid_layout.cell_horiz_layout[0] == cell_horiz_layout[0] &&
212 elem.cell_valid_layout.cell_horiz_layout[1] == cell_horiz_layout[1] &&
213 elem.cell_valid_layout.cell_horiz_layout[2] == cell_horiz_layout[2] &&
214 elem.cell_valid_layout.cell_horiz_layout[3] == cell_horiz_layout[3])
215 for (
auto &ind_latcomb_consts : elem.latcomb_constants)
216 latcomb_consts_arr.push_back(ind_latcomb_consts);
217 for (
auto &latcomb_consts : latcomb_consts_arr) {
246 int reduced_times[4],
247 int cell_horiz_layout[4],
252 std::vector<cmsdt::metaPrimitive> &metaPrimitives) {
253 auto latcomb = latcomb_consts.
latcomb;
255 bool is_four_hit =
true;
262 if (((latcomb >> lay) & 1) != 0) {
280 int drift_time = reduced_times[lay] -
time;
281 if (
valid[lay] == 1 && (drift_time < 0 || drift_time >
MAXDRIFT))
285 int xdist = xwire_mm[lay] *
pow(2, 4) - (
pos - coarse_pos) + lat_array[lay] * drift_dist;
286 xdist -= (3 - 2 * (3 - lay)) * slope_xhh;
288 if (
valid[lay] == 0) {
292 chi2_mm2_p +=
res *
res * 4;
300 double pos_f, slope_f, chi2_f;
301 DTWireId wireId(MuonPathSLId, 2, 1);
303 pos_f = double(
pos) +
307 chi2_f = double(chi2_mm2_p) / (16. * 64. * 100.);
323 double phi_cmssw = -999.;
324 double phiB_cmssw = -999.;
328 double z3 = -1. * z1;
329 if (
ChId.station() == 3
or ChId.station() == 4) {
340 int thisec = MuonPathSLId.
sector();
345 phi_cmssw = jm_x_cmssw_global.
phi() -
PHI_CONV * (thisec - 1);
346 double psi = atan(slope_f);
351 phi = global_coords[0];
352 phiB = global_coords[1];
363 if (MuonPathSLId.
wheel() == 0) {
371 double jm_y =
hasPosRF(MuonPathSLId.
wheel(), MuonPathSLId.
sector()) ? z_shift - pos_f : z_shift + pos_f;
379 double x_shift = wire1_in_sl.
x();
384 phiB_cmssw = slope_f;
391 lateralities[lay] = -1;
434 std::vector<int> binaryNum = {};
435 while (latcomb > 1) {
436 binaryNum.push_back(latcomb % 2);
437 latcomb = latcomb / 2;
439 binaryNum.push_back(latcomb);
440 while (binaryNum.size() < 4)
441 binaryNum.push_back(0);
450 {-6170, {1, 0, 0, -1}, 56936},
451 {239, {0, 1, 0, -1}, 4380},
452 {37, {0, 1, 0, -1}, 3559},
453 {776, {2, 3, 0, -1}, 16384},
457 {-30885, {-1, 3, 0, -2}, 18979},
458 {-1583769, {1, 0, 0, -1}, 2920},
459 {-6133, {1, 0, 0, -1}, 2372},
460 {-771, {2, 3, 0, 1}, 10923},
464 {-6170, {1, 0, 0, -1}, 56936},
465 {-1584008, {-1, 1, 0, 0}, 8759},
466 {-6170, {-1, 1, 0, 0}, 7117},
467 {-773, {-2, 3, 0, 1}, 32768},
471 {-6170, {-1, 0, 0, 1}, 56936},
472 {-1584008, {1, -1, 0, 0}, 8759},
473 {-6170, {1, -1, 0, 0}, 7117},
474 {775, {-2, 3, 0, 1}, 32768},
478 {-30885, {1, -3, 0, 2}, 18979},
479 {-1583769, {-1, 0, 0, 1}, 2920},
480 {-6133, {-1, 0, 0, 1}, 2372},
481 {777, {2, 3, 0, 1}, 10923},
485 {-6170, {-1, 0, 0, 1}, 56936},
486 {239, {0, -1, 0, 1}, 4380},
487 {37, {0, -1, 0, 1}, 3559},
488 {-772, {2, 3, 0, -1}, 16384},
495 {-6170, {0, 1, -1, 0}, 56936},
496 {1584248, {0, 0, 1, -1}, 8759},
497 {6206, {0, 0, 1, -1}, 7117},
498 {1, {0, 1, 2, -1}, 32768},
502 {-6170, {0, -1, 1, 0}, 56936},
503 {3168495, {0, 1, 0, -1}, 4380},
504 {12413, {0, 1, 0, -1}, 3559},
505 {2, {0, 1, 2, 1}, 16384},
509 {-6170, {0, 2, -1, -1}, 56936},
510 {1584248, {0, -1, 1, 0}, 8759},
511 {6206, {0, -1, 1, 0}, 7117},
512 {1, {0, -1, 2, 1}, 32768},
516 {-6170, {0, -2, 1, 1}, 56936},
517 {1584248, {0, 1, -1, 0}, 8759},
518 {6206, {0, 1, -1, 0}, 7117},
519 {1, {0, -1, 2, 1}, 32768},
523 {-6170, {0, 1, -1, 0}, 56936},
524 {3168495, {0, -1, 0, 1}, 4380},
525 {12413, {0, -1, 0, 1}, 3559},
526 {2, {0, 1, 2, 1}, 16384},
530 {-6170, {0, -1, 1, 0}, 56936},
531 {1584248, {0, 0, -1, 1}, 8759},
532 {6206, {0, 0, -1, 1}, 7117},
533 {1, {0, 1, 2, -1}, 32768},
540 {-18546, {1, 0, 0, -1}, 56936},
541 {-3168017, {0, 1, 0, -1}, 4380},
542 {-12339, {0, 1, 0, -1}, 3559},
543 {2, {2, 3, 0, -1}, 16384},
547 {-55637, {-1, 3, 0, -2}, 18979},
548 {-4752025, {1, 0, 0, -1}, 2920},
549 {-18509, {1, 0, 0, -1}, 2372},
550 {3, {2, 3, 0, 1}, 10923},
554 {-18546, {1, 0, 0, -1}, 56936},
555 {-1584008, {-1, 1, 0, 0}, 8759},
556 {-6170, {-1, 1, 0, 0}, 7117},
557 {1, {-2, 3, 0, 1}, 32768},
561 {-18546, {-1, 0, 0, 1}, 56936},
562 {-1584008, {1, -1, 0, 0}, 8759},
563 {-6170, {1, -1, 0, 0}, 7117},
564 {1, {-2, 3, 0, 1}, 32768},
568 {-55637, {1, -3, 0, 2}, 18979},
569 {-4752025, {-1, 0, 0, 1}, 2920},
570 {-18509, {-1, 0, 0, 1}, 2372},
571 {3, {2, 3, 0, 1}, 10923},
575 {-18546, {-1, 0, 0, 1}, 56936},
576 {-3168017, {0, -1, 0, 1}, 4380},
577 {-12339, {0, -1, 0, 1}, 3559},
578 {2, {2, 3, 0, -1}, 16384},
585 {6206, {0, 1, -1, 0}, 56936},
586 {1584248, {0, 0, 1, -1}, 8759},
587 {6206, {0, 0, 1, -1}, 7117},
588 {775, {0, 1, 2, -1}, 32768},
592 {6206, {0, -1, 1, 0}, 56936},
593 {239, {0, 1, 0, -1}, 4380},
594 {37, {0, 1, 0, -1}, 3559},
595 {-772, {0, 1, 2, 1}, 16384},
599 {18582, {0, 2, -1, -1}, 56936},
600 {-1584008, {0, -1, 1, 0}, 8759},
601 {-6170, {0, -1, 1, 0}, 7117},
602 {-773, {0, -1, 2, 1}, 32768},
606 {18582, {0, -2, 1, 1}, 56936},
607 {-1584008, {0, 1, -1, 0}, 8759},
608 {-6170, {0, 1, -1, 0}, 7117},
609 {775, {0, -1, 2, 1}, 32768},
613 {6206, {0, 1, -1, 0}, 56936},
614 {239, {0, -1, 0, 1}, 4380},
615 {37, {0, -1, 0, 1}, 3559},
616 {776, {0, 1, 2, 1}, 16384},
620 {6206, {0, -1, 1, 0}, 56936},
621 {1584248, {0, 0, -1, 1}, 8759},
622 {6206, {0, 0, -1, 1}, 7117},
623 {-773, {0, 1, 2, -1}, 32768},
630 {18582, {1, 1, -2, 0}, 56936},
631 {1584248, {0, 1, -1, 0}, 8759},
632 {6206, {0, 1, -1, 0}, 7117},
633 {1, {1, 2, -1, 0}, 32768},
637 {18582, {0, 1, -1, 0}, 56936},
638 {3168495, {1, 0, -1, 0}, 4380},
639 {12413, {1, 0, -1, 0}, 3559},
640 {2, {1, 2, 1, 0}, 16384},
644 {18582, {0, 1, -1, 0}, 56936},
645 {1584248, {-1, 1, 0, 0}, 8759},
646 {6206, {-1, 1, 0, 0}, 7117},
647 {1, {-1, 2, 1, 0}, 32768},
651 {18582, {0, -1, 1, 0}, 56936},
652 {1584248, {1, -1, 0, 0}, 8759},
653 {6206, {1, -1, 0, 0}, 7117},
654 {1, {-1, 2, 1, 0}, 32768},
658 {18582, {0, -1, 1, 0}, 56936},
659 {3168495, {-1, 0, 1, 0}, 4380},
660 {12413, {-1, 0, 1, 0}, 3559},
661 {2, {1, 2, 1, 0}, 16384},
665 {18582, {-1, -1, 2, 0}, 56936},
666 {1584248, {0, -1, 1, 0}, 8759},
667 {6206, {0, -1, 1, 0}, 7117},
668 {1, {1, 2, -1, 0}, 32768},
675 {-6170, {1, 0, 0, -1}, 56936},
676 {-1584008, {0, 0, 1, -1}, 8759},
677 {-6170, {0, 0, 1, -1}, 7117},
678 {-773, {1, 0, 3, -2}, 32768},
682 {-6133, {-2, 0, 3, -1}, 18979},
683 {-1583769, {1, 0, 0, -1}, 2920},
684 {-6133, {1, 0, 0, -1}, 2372},
685 {777, {1, 0, 3, 2}, 10923},
689 {-6170, {1, 0, 0, -1}, 56936},
690 {239, {-1, 0, 1, 0}, 4380},
691 {37, {-1, 0, 1, 0}, 3559},
692 {776, {-1, 0, 3, 2}, 16384},
696 {-6170, {-1, 0, 0, 1}, 56936},
697 {239, {1, 0, -1, 0}, 4380},
698 {37, {1, 0, -1, 0}, 3559},
699 {-772, {-1, 0, 3, 2}, 16384},
703 {-6133, {2, 0, -3, 1}, 18979},
704 {-1583769, {-1, 0, 0, 1}, 2920},
705 {-6133, {-1, 0, 0, 1}, 2372},
706 {-771, {1, 0, 3, 2}, 10923},
710 {-6170, {-1, 0, 0, 1}, 56936},
711 {-1584008, {0, 0, -1, 1}, 8759},
712 {-6170, {0, 0, -1, 1}, 7117},
713 {775, {1, 0, 3, -2}, 32768},
720 {-18546, {1, 1, -2, 0}, 56936},
721 {-1584008, {0, 1, -1, 0}, 8759},
722 {-6170, {0, 1, -1, 0}, 7117},
723 {1, {1, 2, -1, 0}, 32768},
727 {-18546, {0, 1, -1, 0}, 56936},
728 {-3168017, {1, 0, -1, 0}, 4380},
729 {-12339, {1, 0, -1, 0}, 3559},
730 {2, {1, 2, 1, 0}, 16384},
734 {-18546, {0, 1, -1, 0}, 56936},
735 {-1584008, {-1, 1, 0, 0}, 8759},
736 {-6170, {-1, 1, 0, 0}, 7117},
737 {1, {-1, 2, 1, 0}, 32768},
741 {-18546, {0, -1, 1, 0}, 56936},
742 {-1584008, {1, -1, 0, 0}, 8759},
743 {-6170, {1, -1, 0, 0}, 7117},
744 {1, {-1, 2, 1, 0}, 32768},
748 {-18546, {0, -1, 1, 0}, 56936},
749 {-3168017, {-1, 0, 1, 0}, 4380},
750 {-12339, {-1, 0, 1, 0}, 3559},
751 {2, {1, 2, 1, 0}, 16384},
755 {-18546, {-1, -1, 2, 0}, 56936},
756 {-1584008, {0, -1, 1, 0}, 8759},
757 {-6170, {0, -1, 1, 0}, 7117},
758 {1, {1, 2, -1, 0}, 32768},
765 {-18546, {0, 1, -1, 0}, 56936},
766 {-1584008, {0, 0, 1, -1}, 8759},
767 {-6170, {0, 0, 1, -1}, 7117},
768 {1, {0, 1, 2, -1}, 32768},
772 {-18546, {0, -1, 1, 0}, 56936},
773 {-3168017, {0, 1, 0, -1}, 4380},
774 {-12339, {0, 1, 0, -1}, 3559},
775 {2, {0, 1, 2, 1}, 16384},
779 {-18546, {0, 2, -1, -1}, 56936},
780 {-1584008, {0, -1, 1, 0}, 8759},
781 {-6170, {0, -1, 1, 0}, 7117},
782 {1, {0, -1, 2, 1}, 32768},
786 {-18546, {0, -2, 1, 1}, 56936},
787 {-1584008, {0, 1, -1, 0}, 8759},
788 {-6170, {0, 1, -1, 0}, 7117},
789 {1, {0, -1, 2, 1}, 32768},
793 {-18546, {0, 1, -1, 0}, 56936},
794 {-3168017, {0, -1, 0, 1}, 4380},
795 {-12339, {0, -1, 0, 1}, 3559},
796 {2, {0, 1, 2, 1}, 16384},
800 {-18546, {0, -1, 1, 0}, 56936},
801 {-1584008, {0, 0, -1, 1}, 8759},
802 {-6170, {0, 0, -1, 1}, 7117},
803 {1, {0, 1, 2, -1}, 32768},
810 {-18546, {0, 1, -1, 0}, 56936},
811 {1584248, {0, 0, 1, -1}, 8759},
812 {6206, {0, 0, 1, -1}, 7117},
813 {775, {0, 1, 2, -1}, 32768},
817 {-18546, {0, -1, 1, 0}, 56936},
818 {239, {0, 1, 0, -1}, 4380},
819 {37, {0, 1, 0, -1}, 3559},
820 {-772, {0, 1, 2, 1}, 16384},
824 {-6170, {0, 2, -1, -1}, 56936},
825 {-1584008, {0, -1, 1, 0}, 8759},
826 {-6170, {0, -1, 1, 0}, 7117},
827 {-773, {0, -1, 2, 1}, 32768},
831 {-6170, {0, -2, 1, 1}, 56936},
832 {-1584008, {0, 1, -1, 0}, 8759},
833 {-6170, {0, 1, -1, 0}, 7117},
834 {775, {0, -1, 2, 1}, 32768},
838 {-18546, {0, 1, -1, 0}, 56936},
839 {239, {0, -1, 0, 1}, 4380},
840 {37, {0, -1, 0, 1}, 3559},
841 {776, {0, 1, 2, 1}, 16384},
845 {-18546, {0, -1, 1, 0}, 56936},
846 {1584248, {0, 0, -1, 1}, 8759},
847 {6206, {0, 0, -1, 1}, 7117},
848 {-773, {0, 1, 2, -1}, 32768},
855 {-18546, {1, 1, -2, 0}, 56936},
856 {-1584008, {0, 1, -1, 0}, 8759},
857 {-6170, {0, 1, -1, 0}, 7117},
858 {1, {1, 2, -1, 0}, 32768},
862 {-18546, {0, 1, -1, 0}, 56936},
863 {-3168017, {1, 0, -1, 0}, 4380},
864 {-12339, {1, 0, -1, 0}, 3559},
865 {2, {1, 2, 1, 0}, 16384},
869 {-18546, {0, 1, -1, 0}, 56936},
870 {-1584008, {-1, 1, 0, 0}, 8759},
871 {-6170, {-1, 1, 0, 0}, 7117},
872 {1, {-1, 2, 1, 0}, 32768},
876 {-18546, {0, -1, 1, 0}, 56936},
877 {-1584008, {1, -1, 0, 0}, 8759},
878 {-6170, {1, -1, 0, 0}, 7117},
879 {1, {-1, 2, 1, 0}, 32768},
883 {-18546, {0, -1, 1, 0}, 56936},
884 {-3168017, {-1, 0, 1, 0}, 4380},
885 {-12339, {-1, 0, 1, 0}, 3559},
886 {2, {1, 2, 1, 0}, 16384},
890 {-18546, {-1, -1, 2, 0}, 56936},
891 {-1584008, {0, -1, 1, 0}, 8759},
892 {-6170, {0, -1, 1, 0}, 7117},
893 {1, {1, 2, -1, 0}, 32768},
900 {18582, {0, 1, -1, 0}, 56936},
901 {-1584008, {0, 0, 1, -1}, 8759},
902 {-6170, {0, 0, 1, -1}, 7117},
903 {-773, {0, 1, 2, -1}, 32768},
907 {18582, {0, -1, 1, 0}, 56936},
908 {239, {0, 1, 0, -1}, 4380},
909 {37, {0, 1, 0, -1}, 3559},
910 {776, {0, 1, 2, 1}, 16384},
914 {6206, {0, 2, -1, -1}, 56936},
915 {1584248, {0, -1, 1, 0}, 8759},
916 {6206, {0, -1, 1, 0}, 7117},
917 {775, {0, -1, 2, 1}, 32768},
921 {6206, {0, -2, 1, 1}, 56936},
922 {1584248, {0, 1, -1, 0}, 8759},
923 {6206, {0, 1, -1, 0}, 7117},
924 {-773, {0, -1, 2, 1}, 32768},
928 {18582, {0, 1, -1, 0}, 56936},
929 {239, {0, -1, 0, 1}, 4380},
930 {37, {0, -1, 0, 1}, 3559},
931 {-772, {0, 1, 2, 1}, 16384},
935 {18582, {0, -1, 1, 0}, 56936},
936 {-1584008, {0, 0, -1, 1}, 8759},
937 {-6170, {0, 0, -1, 1}, 7117},
938 {775, {0, 1, 2, -1}, 32768},
945 {-222510, {-6, -5, 14, -3}, 4067},
946 {-6334836, {4, 1, 0, -5}, 626},
947 {-24494, {4, 1, 0, -5}, 508},
948 {-3087, {1, 2, 7, 4}, 4681},
952 {-24715, {-1, 1, 1, -1}, 28468},
953 {-6335315, {3, -1, 1, -3}, 876},
954 {-24568, {3, -1, 1, -3}, 712},
955 {-772, {1, 1, 1, 1}, 16384},
959 {-37018, {5, 2, -1, -6}, 9489},
960 {-3168017, {-1, 0, 1, 0}, 4380},
961 {-12339, {-1, 0, 1, 0}, 3559},
962 {-2318, {-2, 1, 4, 3}, 10923},
966 {0, {0, 0, 0, 0}, 0},
967 {0, {0, 0, 0, 0}, 0},
968 {0, {0, 0, 0, 0}, 0},
969 {0, {0, 0, 0, 0}, 0},
973 {0, {0, 0, 0, 0}, 0},
974 {0, {0, 0, 0, 0}, 0},
975 {0, {0, 0, 0, 0}, 0},
976 {0, {0, 0, 0, 0}, 0},
980 {0, {0, 0, 0, 0}, 0},
981 {0, {0, 0, 0, 0}, 0},
982 {0, {0, 0, 0, 0}, 0},
983 {0, {0, 0, 0, 0}, 0},
990 {18582, {0, 1, -1, 0}, 56936},
991 {1584248, {0, 0, 1, -1}, 8759},
992 {6206, {0, 0, 1, -1}, 7117},
993 {1, {0, 1, 2, -1}, 32768},
997 {18582, {0, -1, 1, 0}, 56936},
998 {3168495, {0, 1, 0, -1}, 4380},
999 {12413, {0, 1, 0, -1}, 3559},
1000 {2, {0, 1, 2, 1}, 16384},
1004 {18582, {0, 2, -1, -1}, 56936},
1005 {1584248, {0, -1, 1, 0}, 8759},
1006 {6206, {0, -1, 1, 0}, 7117},
1007 {1, {0, -1, 2, 1}, 32768},
1011 {18582, {0, -2, 1, 1}, 56936},
1012 {1584248, {0, 1, -1, 0}, 8759},
1013 {6206, {0, 1, -1, 0}, 7117},
1014 {1, {0, -1, 2, 1}, 32768},
1018 {18582, {0, 1, -1, 0}, 56936},
1019 {3168495, {0, -1, 0, 1}, 4380},
1020 {12413, {0, -1, 0, 1}, 3559},
1021 {2, {0, 1, 2, 1}, 16384},
1025 {18582, {0, -1, 1, 0}, 56936},
1026 {1584248, {0, 0, -1, 1}, 8759},
1027 {6206, {0, 0, -1, 1}, 7117},
1028 {1, {0, 1, 2, -1}, 32768},
1035 {-37018, {6, 1, -2, -5}, 9489},
1036 {-3168017, {0, 1, 0, -1}, 4380},
1037 {-12339, {0, 1, 0, -1}, 3559},
1038 {-2318, {3, 4, 1, -2}, 10923},
1042 {37, {1, -1, -1, 1}, 28468},
1043 {-6335315, {-3, 1, -1, 3}, 876},
1044 {-24568, {-3, 1, -1, 3}, 712},
1045 {-772, {1, 1, 1, 1}, 16384},
1049 {49762, {3, -14, 5, 6}, 4067},
1050 {-6334836, {-5, 0, 1, 4}, 626},
1051 {-24494, {-5, 0, 1, 4}, 508},
1052 {-3087, {4, 7, 2, 1}, 4681},
1056 {0, {0, 0, 0, 0}, 0},
1057 {0, {0, 0, 0, 0}, 0},
1058 {0, {0, 0, 0, 0}, 0},
1059 {0, {0, 0, 0, 0}, 0},
1063 {0, {0, 0, 0, 0}, 0},
1064 {0, {0, 0, 0, 0}, 0},
1065 {0, {0, 0, 0, 0}, 0},
1066 {0, {0, 0, 0, 0}, 0},
1070 {0, {0, 0, 0, 0}, 0},
1071 {0, {0, 0, 0, 0}, 0},
1072 {0, {0, 0, 0, 0}, 0},
1073 {0, {0, 0, 0, 0}, 0},
1080 {-6170, {1, 0, 0, -1}, 56936},
1081 {239, {0, 1, 0, -1}, 4380},
1082 {37, {0, 1, 0, -1}, 3559},
1083 {776, {2, 3, 0, -1}, 16384},
1087 {-30885, {-1, 3, 0, -2}, 18979},
1088 {-1583769, {1, 0, 0, -1}, 2920},
1089 {-6133, {1, 0, 0, -1}, 2372},
1090 {-771, {2, 3, 0, 1}, 10923},
1094 {-6170, {1, 0, 0, -1}, 56936},
1095 {-1584008, {-1, 1, 0, 0}, 8759},
1096 {-6170, {-1, 1, 0, 0}, 7117},
1097 {-773, {-2, 3, 0, 1}, 32768},
1101 {-6170, {-1, 0, 0, 1}, 56936},
1102 {-1584008, {1, -1, 0, 0}, 8759},
1103 {-6170, {1, -1, 0, 0}, 7117},
1104 {775, {-2, 3, 0, 1}, 32768},
1108 {-30885, {1, -3, 0, 2}, 18979},
1109 {-1583769, {-1, 0, 0, 1}, 2920},
1110 {-6133, {-1, 0, 0, 1}, 2372},
1111 {777, {2, 3, 0, 1}, 10923},
1115 {-6170, {-1, 0, 0, 1}, 56936},
1116 {239, {0, -1, 0, 1}, 4380},
1117 {37, {0, -1, 0, 1}, 3559},
1118 {-772, {2, 3, 0, -1}, 16384},
1125 {18582, {1, 0, 0, -1}, 56936},
1126 {3168495, {0, 1, 0, -1}, 4380},
1127 {12413, {0, 1, 0, -1}, 3559},
1128 {2, {2, 3, 0, -1}, 16384},
1132 {55747, {-1, 3, 0, -2}, 18979},
1133 {4752743, {1, 0, 0, -1}, 2920},
1134 {18619, {1, 0, 0, -1}, 2372},
1135 {3, {2, 3, 0, 1}, 10923},
1139 {18582, {1, 0, 0, -1}, 56936},
1140 {1584248, {-1, 1, 0, 0}, 8759},
1141 {6206, {-1, 1, 0, 0}, 7117},
1142 {1, {-2, 3, 0, 1}, 32768},
1146 {18582, {-1, 0, 0, 1}, 56936},
1147 {1584248, {1, -1, 0, 0}, 8759},
1148 {6206, {1, -1, 0, 0}, 7117},
1149 {1, {-2, 3, 0, 1}, 32768},
1153 {55747, {1, -3, 0, 2}, 18979},
1154 {4752743, {-1, 0, 0, 1}, 2920},
1155 {18619, {-1, 0, 0, 1}, 2372},
1156 {3, {2, 3, 0, 1}, 10923},
1160 {18582, {-1, 0, 0, 1}, 56936},
1161 {3168495, {0, -1, 0, 1}, 4380},
1162 {12413, {0, -1, 0, 1}, 3559},
1163 {2, {2, 3, 0, -1}, 16384},
1170 {6206, {1, 1, -2, 0}, 56936},
1171 {1584248, {0, 1, -1, 0}, 8759},
1172 {6206, {0, 1, -1, 0}, 7117},
1173 {775, {1, 2, -1, 0}, 32768},
1177 {-6170, {0, 1, -1, 0}, 56936},
1178 {239, {1, 0, -1, 0}, 4380},
1179 {37, {1, 0, -1, 0}, 3559},
1180 {-772, {1, 2, 1, 0}, 16384},
1184 {-6170, {0, 1, -1, 0}, 56936},
1185 {-1584008, {-1, 1, 0, 0}, 8759},
1186 {-6170, {-1, 1, 0, 0}, 7117},
1187 {-773, {-1, 2, 1, 0}, 32768},
1191 {-6170, {0, -1, 1, 0}, 56936},
1192 {-1584008, {1, -1, 0, 0}, 8759},
1193 {-6170, {1, -1, 0, 0}, 7117},
1194 {775, {-1, 2, 1, 0}, 32768},
1198 {-6170, {0, -1, 1, 0}, 56936},
1199 {239, {-1, 0, 1, 0}, 4380},
1200 {37, {-1, 0, 1, 0}, 3559},
1201 {776, {1, 2, 1, 0}, 16384},
1205 {6206, {-1, -1, 2, 0}, 56936},
1206 {1584248, {0, -1, 1, 0}, 8759},
1207 {6206, {0, -1, 1, 0}, 7117},
1208 {-773, {1, 2, -1, 0}, 32768},
1215 {6206, {0, 1, -1, 0}, 56936},
1216 {-1584008, {0, 0, 1, -1}, 8759},
1217 {-6170, {0, 0, 1, -1}, 7117},
1218 {1, {0, 1, 2, -1}, 32768},
1222 {6206, {0, -1, 1, 0}, 56936},
1223 {-3168017, {0, 1, 0, -1}, 4380},
1224 {-12339, {0, 1, 0, -1}, 3559},
1225 {2, {0, 1, 2, 1}, 16384},
1229 {6206, {0, 2, -1, -1}, 56936},
1230 {-1584008, {0, -1, 1, 0}, 8759},
1231 {-6170, {0, -1, 1, 0}, 7117},
1232 {1, {0, -1, 2, 1}, 32768},
1236 {6206, {0, -2, 1, 1}, 56936},
1237 {-1584008, {0, 1, -1, 0}, 8759},
1238 {-6170, {0, 1, -1, 0}, 7117},
1239 {1, {0, -1, 2, 1}, 32768},
1243 {6206, {0, 1, -1, 0}, 56936},
1244 {-3168017, {0, -1, 0, 1}, 4380},
1245 {-12339, {0, -1, 0, 1}, 3559},
1246 {2, {0, 1, 2, 1}, 16384},
1250 {6206, {0, -1, 1, 0}, 56936},
1251 {-1584008, {0, 0, -1, 1}, 8759},
1252 {-6170, {0, 0, -1, 1}, 7117},
1253 {1, {0, 1, 2, -1}, 32768},
1260 {-123502, {-3, 14, -5, -6}, 4067},
1261 {-6334836, {5, 0, -1, -4}, 626},
1262 {-24494, {5, 0, -1, -4}, 508},
1263 {-2314, {4, 7, 2, 1}, 4681},
1267 {-12339, {-1, 1, -1, 1}, 28468},
1268 {479, {1, -1, -1, 1}, 2190},
1269 {74, {1, -1, -1, 1}, 1779},
1270 {-1543, {1, 3, 3, 1}, 8192},
1274 {-12339, {1, 1, -1, -1}, 28468},
1275 {-3168017, {-1, 1, 1, -1}, 4380},
1276 {-12339, {-1, 1, 1, -1}, 3559},
1277 {-1545, {-1, 3, 3, -1}, 16384},
1281 {-49246, {6, 5, -14, 3}, 4067},
1282 {-6334836, {-4, -1, 0, 5}, 626},
1283 {-24494, {-4, -1, 0, 5}, 508},
1284 {-2314, {1, 2, 7, 4}, 4681},
1288 {0, {0, 0, 0, 0}, 0},
1289 {0, {0, 0, 0, 0}, 0},
1290 {0, {0, 0, 0, 0}, 0},
1291 {0, {0, 0, 0, 0}, 0},
1295 {0, {0, 0, 0, 0}, 0},
1296 {0, {0, 0, 0, 0}, 0},
1297 {0, {0, 0, 0, 0}, 0},
1298 {0, {0, 0, 0, 0}, 0},
1305 {-6170, {0, 1, -1, 0}, 56936},
1306 {-1584008, {0, 0, 1, -1}, 8759},
1307 {-6170, {0, 0, 1, -1}, 7117},
1308 {-773, {0, 1, 2, -1}, 32768},
1312 {-6170, {0, -1, 1, 0}, 56936},
1313 {239, {0, 1, 0, -1}, 4380},
1314 {37, {0, 1, 0, -1}, 3559},
1315 {776, {0, 1, 2, 1}, 16384},
1319 {-18546, {0, 2, -1, -1}, 56936},
1320 {1584248, {0, -1, 1, 0}, 8759},
1321 {6206, {0, -1, 1, 0}, 7117},
1322 {775, {0, -1, 2, 1}, 32768},
1326 {-18546, {0, -2, 1, 1}, 56936},
1327 {1584248, {0, 1, -1, 0}, 8759},
1328 {6206, {0, 1, -1, 0}, 7117},
1329 {-773, {0, -1, 2, 1}, 32768},
1333 {-6170, {0, 1, -1, 0}, 56936},
1334 {239, {0, -1, 0, 1}, 4380},
1335 {37, {0, -1, 0, 1}, 3559},
1336 {-772, {0, 1, 2, 1}, 16384},
1340 {-6170, {0, -1, 1, 0}, 56936},
1341 {-1584008, {0, 0, -1, 1}, 8759},
1342 {-6170, {0, 0, -1, 1}, 7117},
1343 {775, {0, 1, 2, -1}, 32768},
1350 {111495, {-5, -2, 1, 6}, 9489},
1351 {3168495, {1, 0, -1, 0}, 4380},
1352 {12413, {1, 0, -1, 0}, 3559},
1353 {3, {-2, 1, 4, 3}, 10923},
1357 {37165, {-1, -1, 1, 1}, 28468},
1358 {3168495, {1, -1, -1, 1}, 4380},
1359 {12413, {1, -1, -1, 1}, 3559},
1360 {2, {-1, 3, 3, -1}, 16384},
1364 {111495, {-6, -1, 2, 5}, 9489},
1365 {3168495, {0, -1, 0, 1}, 4380},
1366 {12413, {0, -1, 0, 1}, 3559},
1367 {3, {3, 4, 1, -2}, 10923},
1371 {111495, {6, 1, -2, -5}, 9489},
1372 {3168495, {0, 1, 0, -1}, 4380},
1373 {12413, {0, 1, 0, -1}, 3559},
1374 {3, {3, 4, 1, -2}, 10923},
1378 {37165, {1, 1, -1, -1}, 28468},
1379 {3168495, {-1, 1, 1, -1}, 4380},
1380 {12413, {-1, 1, 1, -1}, 3559},
1381 {2, {-1, 3, 3, -1}, 16384},
1385 {111495, {5, 2, -1, -6}, 9489},
1386 {3168495, {-1, 0, 1, 0}, 4380},
1387 {12413, {-1, 0, 1, 0}, 3559},
1388 {3, {-2, 1, 4, 3}, 10923},
1395 {6206, {1, 0, 0, -1}, 56936},
1396 {1584248, {0, 0, 1, -1}, 8759},
1397 {6206, {0, 0, 1, -1}, 7117},
1398 {775, {1, 0, 3, -2}, 32768},
1402 {6243, {-2, 0, 3, -1}, 18979},
1403 {1584487, {1, 0, 0, -1}, 2920},
1404 {6243, {1, 0, 0, -1}, 2372},
1405 {-771, {1, 0, 3, 2}, 10923},
1409 {6206, {1, 0, 0, -1}, 56936},
1410 {239, {-1, 0, 1, 0}, 4380},
1411 {37, {-1, 0, 1, 0}, 3559},
1412 {-772, {-1, 0, 3, 2}, 16384},
1416 {6206, {-1, 0, 0, 1}, 56936},
1417 {239, {1, 0, -1, 0}, 4380},
1418 {37, {1, 0, -1, 0}, 3559},
1419 {776, {-1, 0, 3, 2}, 16384},
1423 {6243, {2, 0, -3, 1}, 18979},
1424 {1584487, {-1, 0, 0, 1}, 2920},
1425 {6243, {-1, 0, 0, 1}, 2372},
1426 {777, {1, 0, 3, 2}, 10923},
1430 {6206, {-1, 0, 0, 1}, 56936},
1431 {1584248, {0, 0, -1, 1}, 8759},
1432 {6206, {0, 0, -1, 1}, 7117},
1433 {-773, {1, 0, 3, -2}, 32768},
1440 {6206, {1, 0, 0, -1}, 56936},
1441 {239, {0, 1, 0, -1}, 4380},
1442 {37, {0, 1, 0, -1}, 3559},
1443 {-772, {2, 3, 0, -1}, 16384},
1447 {30995, {-1, 3, 0, -2}, 18979},
1448 {1584487, {1, 0, 0, -1}, 2920},
1449 {6243, {1, 0, 0, -1}, 2372},
1450 {777, {2, 3, 0, 1}, 10923},
1454 {6206, {1, 0, 0, -1}, 56936},
1455 {1584248, {-1, 1, 0, 0}, 8759},
1456 {6206, {-1, 1, 0, 0}, 7117},
1457 {775, {-2, 3, 0, 1}, 32768},
1461 {6206, {-1, 0, 0, 1}, 56936},
1462 {1584248, {1, -1, 0, 0}, 8759},
1463 {6206, {1, -1, 0, 0}, 7117},
1464 {-773, {-2, 3, 0, 1}, 32768},
1468 {30995, {1, -3, 0, 2}, 18979},
1469 {1584487, {-1, 0, 0, 1}, 2920},
1470 {6243, {-1, 0, 0, 1}, 2372},
1471 {-771, {2, 3, 0, 1}, 10923},
1475 {6206, {-1, 0, 0, 1}, 56936},
1476 {239, {0, -1, 0, 1}, 4380},
1477 {37, {0, -1, 0, 1}, 3559},
1478 {776, {2, 3, 0, -1}, 16384},
1485 {6206, {1, 1, -2, 0}, 56936},
1486 {1584248, {0, 1, -1, 0}, 8759},
1487 {6206, {0, 1, -1, 0}, 7117},
1488 {775, {1, 2, -1, 0}, 32768},
1492 {-6170, {0, 1, -1, 0}, 56936},
1493 {239, {1, 0, -1, 0}, 4380},
1494 {37, {1, 0, -1, 0}, 3559},
1495 {-772, {1, 2, 1, 0}, 16384},
1499 {-6170, {0, 1, -1, 0}, 56936},
1500 {-1584008, {-1, 1, 0, 0}, 8759},
1501 {-6170, {-1, 1, 0, 0}, 7117},
1502 {-773, {-1, 2, 1, 0}, 32768},
1506 {-6170, {0, -1, 1, 0}, 56936},
1507 {-1584008, {1, -1, 0, 0}, 8759},
1508 {-6170, {1, -1, 0, 0}, 7117},
1509 {775, {-1, 2, 1, 0}, 32768},
1513 {-6170, {0, -1, 1, 0}, 56936},
1514 {239, {-1, 0, 1, 0}, 4380},
1515 {37, {-1, 0, 1, 0}, 3559},
1516 {776, {1, 2, 1, 0}, 16384},
1520 {6206, {-1, -1, 2, 0}, 56936},
1521 {1584248, {0, -1, 1, 0}, 8759},
1522 {6206, {0, -1, 1, 0}, 7117},
1523 {-773, {1, 2, -1, 0}, 32768},
1530 {6206, {1, 0, 0, -1}, 56936},
1531 {-1584008, {0, 0, 1, -1}, 8759},
1532 {-6170, {0, 0, 1, -1}, 7117},
1533 {-1546, {1, 0, 3, -2}, 32768},
1537 {43371, {-2, 0, 3, -1}, 18979},
1538 {1584487, {1, 0, 0, -1}, 2920},
1539 {6243, {1, 0, 0, -1}, 2372},
1540 {1550, {1, 0, 3, 2}, 10923},
1544 {6206, {1, 0, 0, -1}, 56936},
1545 {3168495, {-1, 0, 1, 0}, 4380},
1546 {12413, {-1, 0, 1, 0}, 3559},
1547 {1549, {-1, 0, 3, 2}, 16384},
1551 {6206, {-1, 0, 0, 1}, 56936},
1552 {3168495, {1, 0, -1, 0}, 4380},
1553 {12413, {1, 0, -1, 0}, 3559},
1554 {-1545, {-1, 0, 3, 2}, 16384},
1558 {43371, {2, 0, -3, 1}, 18979},
1559 {1584487, {-1, 0, 0, 1}, 2920},
1560 {6243, {-1, 0, 0, 1}, 2372},
1561 {-1544, {1, 0, 3, 2}, 10923},
1565 {6206, {-1, 0, 0, 1}, 56936},
1566 {-1584008, {0, 0, -1, 1}, 8759},
1567 {-6170, {0, 0, -1, 1}, 7117},
1568 {1548, {1, 0, 3, -2}, 32768},
1575 {-6170, {1, 1, -2, 0}, 56936},
1576 {-1584008, {0, 1, -1, 0}, 8759},
1577 {-6170, {0, 1, -1, 0}, 7117},
1578 {-773, {1, 2, -1, 0}, 32768},
1582 {6206, {0, 1, -1, 0}, 56936},
1583 {239, {1, 0, -1, 0}, 4380},
1584 {37, {1, 0, -1, 0}, 3559},
1585 {776, {1, 2, 1, 0}, 16384},
1589 {6206, {0, 1, -1, 0}, 56936},
1590 {1584248, {-1, 1, 0, 0}, 8759},
1591 {6206, {-1, 1, 0, 0}, 7117},
1592 {775, {-1, 2, 1, 0}, 32768},
1596 {6206, {0, -1, 1, 0}, 56936},
1597 {1584248, {1, -1, 0, 0}, 8759},
1598 {6206, {1, -1, 0, 0}, 7117},
1599 {-773, {-1, 2, 1, 0}, 32768},
1603 {6206, {0, -1, 1, 0}, 56936},
1604 {239, {-1, 0, 1, 0}, 4380},
1605 {37, {-1, 0, 1, 0}, 3559},
1606 {-772, {1, 2, 1, 0}, 16384},
1610 {-6170, {-1, -1, 2, 0}, 56936},
1611 {-1584008, {0, -1, 1, 0}, 8759},
1612 {-6170, {0, -1, 1, 0}, 7117},
1613 {775, {1, 2, -1, 0}, 32768},
1620 {18582, {1, 1, -2, 0}, 56936},
1621 {1584248, {0, 1, -1, 0}, 8759},
1622 {6206, {0, 1, -1, 0}, 7117},
1623 {1, {1, 2, -1, 0}, 32768},
1627 {18582, {0, 1, -1, 0}, 56936},
1628 {3168495, {1, 0, -1, 0}, 4380},
1629 {12413, {1, 0, -1, 0}, 3559},
1630 {2, {1, 2, 1, 0}, 16384},
1634 {18582, {0, 1, -1, 0}, 56936},
1635 {1584248, {-1, 1, 0, 0}, 8759},
1636 {6206, {-1, 1, 0, 0}, 7117},
1637 {1, {-1, 2, 1, 0}, 32768},
1641 {18582, {0, -1, 1, 0}, 56936},
1642 {1584248, {1, -1, 0, 0}, 8759},
1643 {6206, {1, -1, 0, 0}, 7117},
1644 {1, {-1, 2, 1, 0}, 32768},
1648 {18582, {0, -1, 1, 0}, 56936},
1649 {3168495, {-1, 0, 1, 0}, 4380},
1650 {12413, {-1, 0, 1, 0}, 3559},
1651 {2, {1, 2, 1, 0}, 16384},
1655 {18582, {-1, -1, 2, 0}, 56936},
1656 {1584248, {0, -1, 1, 0}, 8759},
1657 {6206, {0, -1, 1, 0}, 7117},
1658 {1, {1, 2, -1, 0}, 32768},
1665 {-6170, {1, 1, -2, 0}, 56936},
1666 {-1584008, {0, 1, -1, 0}, 8759},
1667 {-6170, {0, 1, -1, 0}, 7117},
1668 {-773, {1, 2, -1, 0}, 32768},
1672 {6206, {0, 1, -1, 0}, 56936},
1673 {239, {1, 0, -1, 0}, 4380},
1674 {37, {1, 0, -1, 0}, 3559},
1675 {776, {1, 2, 1, 0}, 16384},
1679 {6206, {0, 1, -1, 0}, 56936},
1680 {1584248, {-1, 1, 0, 0}, 8759},
1681 {6206, {-1, 1, 0, 0}, 7117},
1682 {775, {-1, 2, 1, 0}, 32768},
1686 {6206, {0, -1, 1, 0}, 56936},
1687 {1584248, {1, -1, 0, 0}, 8759},
1688 {6206, {1, -1, 0, 0}, 7117},
1689 {-773, {-1, 2, 1, 0}, 32768},
1693 {6206, {0, -1, 1, 0}, 56936},
1694 {239, {-1, 0, 1, 0}, 4380},
1695 {37, {-1, 0, 1, 0}, 3559},
1696 {-772, {1, 2, 1, 0}, 16384},
1700 {-6170, {-1, -1, 2, 0}, 56936},
1701 {-1584008, {0, -1, 1, 0}, 8759},
1702 {-6170, {0, -1, 1, 0}, 7117},
1703 {775, {1, 2, -1, 0}, 32768},
1710 {-49246, {-3, 14, -5, -6}, 4067},
1711 {6338188, {5, 0, -1, -4}, 626},
1712 {25010, {5, 0, -1, -4}, 508},
1713 {-3087, {4, 7, 2, 1}, 4681},
1717 {37, {-1, 1, 1, -1}, 28468},
1718 {6337709, {3, -1, 1, -3}, 876},
1719 {24936, {3, -1, 1, -3}, 712},
1720 {-772, {1, 1, 1, 1}, 16384},
1724 {37239, {-6, -1, 2, 5}, 9489},
1725 {3168495, {0, -1, 0, 1}, 4380},
1726 {12413, {0, -1, 0, 1}, 3559},
1727 {-2318, {3, 4, 1, -2}, 10923},
1731 {0, {0, 0, 0, 0}, 0},
1732 {0, {0, 0, 0, 0}, 0},
1733 {0, {0, 0, 0, 0}, 0},
1734 {0, {0, 0, 0, 0}, 0},
1738 {0, {0, 0, 0, 0}, 0},
1739 {0, {0, 0, 0, 0}, 0},
1740 {0, {0, 0, 0, 0}, 0},
1741 {0, {0, 0, 0, 0}, 0},
1745 {0, {0, 0, 0, 0}, 0},
1746 {0, {0, 0, 0, 0}, 0},
1747 {0, {0, 0, 0, 0}, 0},
1748 {0, {0, 0, 0, 0}, 0},
1755 {-18546, {1, 0, 0, -1}, 56936},
1756 {-1584008, {0, 0, 1, -1}, 8759},
1757 {-6170, {0, 0, 1, -1}, 7117},
1758 {1, {1, 0, 3, -2}, 32768},
1762 {-55637, {-2, 0, 3, -1}, 18979},
1763 {-4752025, {1, 0, 0, -1}, 2920},
1764 {-18509, {1, 0, 0, -1}, 2372},
1765 {3, {1, 0, 3, 2}, 10923},
1769 {-18546, {1, 0, 0, -1}, 56936},
1770 {-3168017, {-1, 0, 1, 0}, 4380},
1771 {-12339, {-1, 0, 1, 0}, 3559},
1772 {2, {-1, 0, 3, 2}, 16384},
1776 {-18546, {-1, 0, 0, 1}, 56936},
1777 {-3168017, {1, 0, -1, 0}, 4380},
1778 {-12339, {1, 0, -1, 0}, 3559},
1779 {2, {-1, 0, 3, 2}, 16384},
1783 {-55637, {2, 0, -3, 1}, 18979},
1784 {-4752025, {-1, 0, 0, 1}, 2920},
1785 {-18509, {-1, 0, 0, 1}, 2372},
1786 {3, {1, 0, 3, 2}, 10923},
1790 {-18546, {-1, 0, 0, 1}, 56936},
1791 {-1584008, {0, 0, -1, 1}, 8759},
1792 {-6170, {0, 0, -1, 1}, 7117},
1793 {1, {1, 0, 3, -2}, 32768},
1800 {49762, {-6, -5, 14, -3}, 4067},
1801 {6338188, {4, 1, 0, -5}, 626},
1802 {25010, {4, 1, 0, -5}, 508},
1803 {-2314, {1, 2, 7, 4}, 4681},
1807 {12413, {-1, -1, 1, 1}, 28468},
1808 {3168495, {1, -1, -1, 1}, 4380},
1809 {12413, {1, -1, -1, 1}, 3559},
1810 {-1545, {-1, 3, 3, -1}, 16384},
1814 {12413, {1, -1, 1, -1}, 28468},
1815 {479, {-1, 1, 1, -1}, 2190},
1816 {74, {-1, 1, 1, -1}, 1779},
1817 {-1543, {1, 3, 3, 1}, 8192},
1821 {124018, {3, -14, 5, 6}, 4067},
1822 {6338188, {-5, 0, 1, 4}, 626},
1823 {25010, {-5, 0, 1, 4}, 508},
1824 {-2314, {4, 7, 2, 1}, 4681},
1828 {0, {0, 0, 0, 0}, 0},
1829 {0, {0, 0, 0, 0}, 0},
1830 {0, {0, 0, 0, 0}, 0},
1831 {0, {0, 0, 0, 0}, 0},
1835 {0, {0, 0, 0, 0}, 0},
1836 {0, {0, 0, 0, 0}, 0},
1837 {0, {0, 0, 0, 0}, 0},
1838 {0, {0, 0, 0, 0}, 0},
1845 {6206, {1, 0, 0, -1}, 56936},
1846 {1584248, {0, 0, 1, -1}, 8759},
1847 {6206, {0, 0, 1, -1}, 7117},
1848 {775, {1, 0, 3, -2}, 32768},
1852 {6243, {-2, 0, 3, -1}, 18979},
1853 {1584487, {1, 0, 0, -1}, 2920},
1854 {6243, {1, 0, 0, -1}, 2372},
1855 {-771, {1, 0, 3, 2}, 10923},
1859 {6206, {1, 0, 0, -1}, 56936},
1860 {239, {-1, 0, 1, 0}, 4380},
1861 {37, {-1, 0, 1, 0}, 3559},
1862 {-772, {-1, 0, 3, 2}, 16384},
1866 {6206, {-1, 0, 0, 1}, 56936},
1867 {239, {1, 0, -1, 0}, 4380},
1868 {37, {1, 0, -1, 0}, 3559},
1869 {776, {-1, 0, 3, 2}, 16384},
1873 {6243, {2, 0, -3, 1}, 18979},
1874 {1584487, {-1, 0, 0, 1}, 2920},
1875 {6243, {-1, 0, 0, 1}, 2372},
1876 {777, {1, 0, 3, 2}, 10923},
1880 {6206, {-1, 0, 0, 1}, 56936},
1881 {1584248, {0, 0, -1, 1}, 8759},
1882 {6206, {0, 0, -1, 1}, 7117},
1883 {-773, {1, 0, 3, -2}, 32768},
1890 {-6170, {1, 0, 0, -1}, 56936},
1891 {-1584008, {0, 0, 1, -1}, 8759},
1892 {-6170, {0, 0, 1, -1}, 7117},
1893 {-773, {1, 0, 3, -2}, 32768},
1897 {-6133, {-2, 0, 3, -1}, 18979},
1898 {-1583769, {1, 0, 0, -1}, 2920},
1899 {-6133, {1, 0, 0, -1}, 2372},
1900 {777, {1, 0, 3, 2}, 10923},
1904 {-6170, {1, 0, 0, -1}, 56936},
1905 {239, {-1, 0, 1, 0}, 4380},
1906 {37, {-1, 0, 1, 0}, 3559},
1907 {776, {-1, 0, 3, 2}, 16384},
1911 {-6170, {-1, 0, 0, 1}, 56936},
1912 {239, {1, 0, -1, 0}, 4380},
1913 {37, {1, 0, -1, 0}, 3559},
1914 {-772, {-1, 0, 3, 2}, 16384},
1918 {-6133, {2, 0, -3, 1}, 18979},
1919 {-1583769, {-1, 0, 0, 1}, 2920},
1920 {-6133, {-1, 0, 0, 1}, 2372},
1921 {-771, {1, 0, 3, 2}, 10923},
1925 {-6170, {-1, 0, 0, 1}, 56936},
1926 {-1584008, {0, 0, -1, 1}, 8759},
1927 {-6170, {0, 0, -1, 1}, 7117},
1928 {775, {1, 0, 3, -2}, 32768},
1935 {37239, {-5, -2, 1, 6}, 9489},
1936 {3168495, {1, 0, -1, 0}, 4380},
1937 {12413, {1, 0, -1, 0}, 3559},
1938 {-2318, {-2, 1, 4, 3}, 10923},
1942 {24789, {1, -1, -1, 1}, 28468},
1943 {6337709, {-3, 1, -1, 3}, 876},
1944 {24936, {-3, 1, -1, 3}, 712},
1945 {-772, {1, 1, 1, 1}, 16384},
1949 {223026, {6, 5, -14, 3}, 4067},
1950 {6338188, {-4, -1, 0, 5}, 626},
1951 {25010, {-4, -1, 0, 5}, 508},
1952 {-3087, {1, 2, 7, 4}, 4681},
1956 {0, {0, 0, 0, 0}, 0},
1957 {0, {0, 0, 0, 0}, 0},
1958 {0, {0, 0, 0, 0}, 0},
1959 {0, {0, 0, 0, 0}, 0},
1963 {0, {0, 0, 0, 0}, 0},
1964 {0, {0, 0, 0, 0}, 0},
1965 {0, {0, 0, 0, 0}, 0},
1966 {0, {0, 0, 0, 0}, 0},
1970 {0, {0, 0, 0, 0}, 0},
1971 {0, {0, 0, 0, 0}, 0},
1972 {0, {0, 0, 0, 0}, 0},
1973 {0, {0, 0, 0, 0}, 0},
1980 {-6170, {1, 0, 0, -1}, 56936},
1981 {1584248, {0, 0, 1, -1}, 8759},
1982 {6206, {0, 0, 1, -1}, 7117},
1983 {1548, {1, 0, 3, -2}, 32768},
1987 {-43261, {-2, 0, 3, -1}, 18979},
1988 {-1583769, {1, 0, 0, -1}, 2920},
1989 {-6133, {1, 0, 0, -1}, 2372},
1990 {-1544, {1, 0, 3, 2}, 10923},
1994 {-6170, {1, 0, 0, -1}, 56936},
1995 {-3168017, {-1, 0, 1, 0}, 4380},
1996 {-12339, {-1, 0, 1, 0}, 3559},
1997 {-1545, {-1, 0, 3, 2}, 16384},
2001 {-6170, {-1, 0, 0, 1}, 56936},
2002 {-3168017, {1, 0, -1, 0}, 4380},
2003 {-12339, {1, 0, -1, 0}, 3559},
2004 {1549, {-1, 0, 3, 2}, 16384},
2008 {-43261, {2, 0, -3, 1}, 18979},
2009 {-1583769, {-1, 0, 0, 1}, 2920},
2010 {-6133, {-1, 0, 0, 1}, 2372},
2011 {1550, {1, 0, 3, 2}, 10923},
2015 {-6170, {-1, 0, 0, 1}, 56936},
2016 {1584248, {0, 0, -1, 1}, 8759},
2017 {6206, {0, 0, -1, 1}, 7117},
2018 {-1546, {1, 0, 3, -2}, 32768},
2025 {-6170, {1, 0, 0, -1}, 56936},
2026 {-3168017, {0, 1, 0, -1}, 4380},
2027 {-12339, {0, 1, 0, -1}, 3559},
2028 {-1545, {2, 3, 0, -1}, 16384},
2032 {6243, {-1, 3, 0, -2}, 18979},
2033 {-1583769, {1, 0, 0, -1}, 2920},
2034 {-6133, {1, 0, 0, -1}, 2372},
2035 {1550, {2, 3, 0, 1}, 10923},
2039 {-6170, {1, 0, 0, -1}, 56936},
2040 {1584248, {-1, 1, 0, 0}, 8759},
2041 {6206, {-1, 1, 0, 0}, 7117},
2042 {1548, {-2, 3, 0, 1}, 32768},
2046 {-6170, {-1, 0, 0, 1}, 56936},
2047 {1584248, {1, -1, 0, 0}, 8759},
2048 {6206, {1, -1, 0, 0}, 7117},
2049 {-1546, {-2, 3, 0, 1}, 32768},
2053 {6243, {1, -3, 0, 2}, 18979},
2054 {-1583769, {-1, 0, 0, 1}, 2920},
2055 {-6133, {-1, 0, 0, 1}, 2372},
2056 {-1544, {2, 3, 0, 1}, 10923},
2060 {-6170, {-1, 0, 0, 1}, 56936},
2061 {-3168017, {0, -1, 0, 1}, 4380},
2062 {-12339, {0, -1, 0, 1}, 3559},
2063 {1549, {2, 3, 0, -1}, 16384},
2070 {-111274, {-5, -2, 1, 6}, 9489},
2071 {-3168017, {1, 0, -1, 0}, 4380},
2072 {-12339, {1, 0, -1, 0}, 3559},
2073 {3, {-2, 1, 4, 3}, 10923},
2077 {-37091, {-1, -1, 1, 1}, 28468},
2078 {-3168017, {1, -1, -1, 1}, 4380},
2079 {-12339, {1, -1, -1, 1}, 3559},
2080 {2, {-1, 3, 3, -1}, 16384},
2084 {-111274, {-6, -1, 2, 5}, 9489},
2085 {-3168017, {0, -1, 0, 1}, 4380},
2086 {-12339, {0, -1, 0, 1}, 3559},
2087 {3, {3, 4, 1, -2}, 10923},
2091 {-111274, {6, 1, -2, -5}, 9489},
2092 {-3168017, {0, 1, 0, -1}, 4380},
2093 {-12339, {0, 1, 0, -1}, 3559},
2094 {3, {3, 4, 1, -2}, 10923},
2098 {-37091, {1, 1, -1, -1}, 28468},
2099 {-3168017, {-1, 1, 1, -1}, 4380},
2100 {-12339, {-1, 1, 1, -1}, 3559},
2101 {2, {-1, 3, 3, -1}, 16384},
2105 {-111274, {5, 2, -1, -6}, 9489},
2106 {-3168017, {-1, 0, 1, 0}, 4380},
2107 {-12339, {-1, 0, 1, 0}, 3559},
2108 {3, {-2, 1, 4, 3}, 10923},
2115 {6206, {1, 0, 0, -1}, 56936},
2116 {239, {0, 1, 0, -1}, 4380},
2117 {37, {0, 1, 0, -1}, 3559},
2118 {-772, {2, 3, 0, -1}, 16384},
2122 {30995, {-1, 3, 0, -2}, 18979},
2123 {1584487, {1, 0, 0, -1}, 2920},
2124 {6243, {1, 0, 0, -1}, 2372},
2125 {777, {2, 3, 0, 1}, 10923},
2129 {6206, {1, 0, 0, -1}, 56936},
2130 {1584248, {-1, 1, 0, 0}, 8759},
2131 {6206, {-1, 1, 0, 0}, 7117},
2132 {775, {-2, 3, 0, 1}, 32768},
2136 {6206, {-1, 0, 0, 1}, 56936},
2137 {1584248, {1, -1, 0, 0}, 8759},
2138 {6206, {1, -1, 0, 0}, 7117},
2139 {-773, {-2, 3, 0, 1}, 32768},
2143 {30995, {1, -3, 0, 2}, 18979},
2144 {1584487, {-1, 0, 0, 1}, 2920},
2145 {6243, {-1, 0, 0, 1}, 2372},
2146 {-771, {2, 3, 0, 1}, 10923},
2150 {6206, {-1, 0, 0, 1}, 56936},
2151 {239, {0, -1, 0, 1}, 4380},
2152 {37, {0, -1, 0, 1}, 3559},
2153 {776, {2, 3, 0, -1}, 16384},
2160 {18582, {1, 0, 0, -1}, 56936},
2161 {1584248, {0, 0, 1, -1}, 8759},
2162 {6206, {0, 0, 1, -1}, 7117},
2163 {1, {1, 0, 3, -2}, 32768},
2167 {55747, {-2, 0, 3, -1}, 18979},
2168 {4752743, {1, 0, 0, -1}, 2920},
2169 {18619, {1, 0, 0, -1}, 2372},
2170 {3, {1, 0, 3, 2}, 10923},
2174 {18582, {1, 0, 0, -1}, 56936},
2175 {3168495, {-1, 0, 1, 0}, 4380},
2176 {12413, {-1, 0, 1, 0}, 3559},
2177 {2, {-1, 0, 3, 2}, 16384},
2181 {18582, {-1, 0, 0, 1}, 56936},
2182 {3168495, {1, 0, -1, 0}, 4380},
2183 {12413, {1, 0, -1, 0}, 3559},
2184 {2, {-1, 0, 3, 2}, 16384},
2188 {55747, {2, 0, -3, 1}, 18979},
2189 {4752743, {-1, 0, 0, 1}, 2920},
2190 {18619, {-1, 0, 0, 1}, 2372},
2191 {3, {1, 0, 3, 2}, 10923},
2195 {18582, {-1, 0, 0, 1}, 56936},
2196 {1584248, {0, 0, -1, 1}, 8759},
2197 {6206, {0, 0, -1, 1}, 7117},
2198 {1, {1, 0, 3, -2}, 32768},
2205 {6206, {1, 0, 0, -1}, 56936},
2206 {3168495, {0, 1, 0, -1}, 4380},
2207 {12413, {0, 1, 0, -1}, 3559},
2208 {1549, {2, 3, 0, -1}, 16384},
2212 {-6133, {-1, 3, 0, -2}, 18979},
2213 {1584487, {1, 0, 0, -1}, 2920},
2214 {6243, {1, 0, 0, -1}, 2372},
2215 {-1544, {2, 3, 0, 1}, 10923},
2219 {6206, {1, 0, 0, -1}, 56936},
2220 {-1584008, {-1, 1, 0, 0}, 8759},
2221 {-6170, {-1, 1, 0, 0}, 7117},
2222 {-1546, {-2, 3, 0, 1}, 32768},
2226 {6206, {-1, 0, 0, 1}, 56936},
2227 {-1584008, {1, -1, 0, 0}, 8759},
2228 {-6170, {1, -1, 0, 0}, 7117},
2229 {1548, {-2, 3, 0, 1}, 32768},
2233 {-6133, {1, -3, 0, 2}, 18979},
2234 {1584487, {-1, 0, 0, 1}, 2920},
2235 {6243, {-1, 0, 0, 1}, 2372},
2236 {1550, {2, 3, 0, 1}, 10923},
2240 {6206, {-1, 0, 0, 1}, 56936},
2241 {3168495, {0, -1, 0, 1}, 4380},
2242 {12413, {0, -1, 0, 1}, 3559},
2243 {-1545, {2, 3, 0, -1}, 16384},
int station() const
Return the station number.
Point3DBase< Scalar, LocalTag > LocalPoint
constexpr int INCREASED_RES_SLOPE_XHH
int superLayer() const
Return the superlayer number.
std::string fullPath() const
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
std::vector< CELL_VALID_LAYOUT_CONSTANTS > LAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER
~MuonPathAnalyticAnalyzer() override
Geom::Phi< T > phi() const
static const double slope[3]
std::vector< MuonPathPtr > MuonPathPtrs
edm::FileInPath shift_filename_
constexpr int DIV_SHR_BITS_POS
std::map< std::string, int, std::less< std::string > > psi
std::map< int, float > shiftthetainfo_
bool hasPosRF(int wh, int sec)
constexpr int DIV_SHR_BITS_T0
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return a DTSuperLayer given its id.
constexpr int INCREASED_RES_SLOPE_POW
constexpr int DIV_SHR_BITS_SLOPE
edm::FileInPath shift_theta_filename_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
MuonPathAnalyticAnalyzer(const edm::ParameterSet &pset, edm::ConsumesCollector &iC, std::shared_ptr< GlobalCoordsObtainer > &globalcoordsobtainer)
constexpr float Z_SHIFT_MB4
void segment_fitter(DTSuperLayerId MuonPathSLId, int wires[4], int t0s[4], int valid[4], int reduced_times[4], int cell_horiz_layout[4], LATCOMB_CONSTANTS latcomb_consts, int xwire_mm[4], int coarse_pos, int coarse_offset, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
Abs< T >::type abs(const T &t)
const DTTopology & specificTopology() const
std::vector< int > getLateralityCombination(int latcomb)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, std::vector< cmsdt::metaPrimitive > &metaPrimitives) override
constexpr double PHI_CONV
void fillLAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER()
void initialise(const edm::EventSetup &iEventSetup) override
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH
constexpr uint32_t rawId() const
get the raw id
constexpr int TDCTIME_REDUCED_SIZE
constexpr int INCREASED_RES_T0
void analyze(MuonPathPtr &inMPath, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
constexpr int DTDD_PREADD
int wheel() const
Return the wheel number.
std::map< int, float > shiftinfo_
constexpr int INCREASED_RES_SLOPE
std::shared_ptr< MuonPath > MuonPathPtr
static unsigned int const shift
constexpr int DTDD_SHIFTR_BITS
constexpr int INCREASED_RES_POS_POW
std::shared_ptr< GlobalCoordsObtainer > globalcoordsobtainer_
DTGeometry const * dtGeo_
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
int compute_parameter(MAGNITUDE constants, int t0s[4], int DIV_SHR_BITS, int INCREASED_RES)
Power< A, B >::type pow(const A &a, const B &b)
constexpr int DIV_SHR_BITS_SLOPE_XHH
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
constexpr int INCREASED_RES_POS
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.