42 bool has_track =
false;
43 for (
unsigned int irow = 0; irow <
ntracksmax; irow++) {
44 for (
unsigned int icol = 0; icol <
regions.size(); icol++) {
52 current_track =
regions[icol].track[irow];
57 int offset = std::accumulate(track_word_block_sizes.begin(), track_word_block_sizes.begin() + iblock, 0);
60 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwPt, ibit));
66 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwVtxPhi, ibit));
69 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwVtxEta, ibit));
72 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwZ0, ibit));
75 bset_.set(ibit + offset,
false);
78 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwChi2, ibit));
81 bset_.set(ibit + offset,
false);
84 bset_.set(ibit + offset, getBit<uint16_t>(current_track.
hwStubs, ibit));
87 bset_.set(ibit + offset,
false);
99 printf(
"region: eta=[%f,%f] phi=%f+/-%f\n",
104 printf(
"l1t::PFTrack (pT,eta,phi) [float] = (%f,%f,%f)\n",
105 current_track.
src->
p4().Pt(),
106 current_track.
src->
p4().Eta(),
107 current_track.
src->
p4().Phi());
108 printf(
"l1t::PFTrack (pT,eta,phi) [int] = (%i,%i,%i)\n",
112 printf(
"l1tpf_impl::PropagatedTrack (1/pT,eta,phi) [int,10] = (%i,%i,%i)\n",
116 printf(
"l1tpf_impl::PropagatedTrack (1/pT,eta,phi) [int,2] = (%s,%s,%s)\n",
117 std::bitset<16>(current_track.
hwPt).to_string().c_str(),
128 fprintf(
file, (irow == ntracksmax - 1) ?
";\n" :
",\n");
const std::vector< uint32_t > track_word_block_sizes
std::string to_string(const V &value)
const LorentzVector & p4() const final
four-momentum Lorentz vector
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
boost::dynamic_bitset bset_