diff --git a/src/muon_orbit_processor.cc b/src/muon_orbit_processor.cc index 8b14375d70c30bf6ef93f9256cab50f84c5af150..b11ba85efd6c5bdd03274215fca519b8409f7fb1 100644 --- a/src/muon_orbit_processor.cc +++ b/src/muon_orbit_processor.cc @@ -25,12 +25,14 @@ int MuonOrbitProcessor::ProcessBlock(MemRegion &readable_block, WriteMemRegion & const auto pt1 = uint32_t{(bl->mu1f[i] >> shifts::pt) & masks::pt}; const auto pt2 = uint32_t{(bl->mu2f[i] >> shifts::pt) & masks::pt}; - // mu.extra is a copy of bl->bx + // mu.extra is a copy of bl->bx with a change to the first bit. if (((pt1 > 0) || (doZS == 0))) { - bx_data_1.Add({bl->mu1f[i], bl->mu1s[i], bl->bx[i]}); + // set bit0 to "0" for first muon + bx_data_1.Add({bl->mu1f[i], bl->mu1s[i], bl->bx[i] &= ~0x1}); } if (((pt2 > 0) || (doZS == 0))) { - bx_data_2.Add({bl->mu2f[i], bl->mu2s[i], bl->bx[i]}); + // set bit0 to "1" for second muon + bx_data_2.Add({bl->mu2f[i], bl->mu2s[i], bl->bx[i] |= 0x1}); } }