@@ -30,46 +30,46 @@ namespace l1t {
3030 minInvMassSqrDiv2_(getOptionalParam<int64_t , double >(" minInvMass" ,
3131 config,
3232 [&](double value) {
33- return std::round (scales.to_hw_InvMassSqrDiv2 (value) *
34- cosPhiLUT_.output_scale ());
35- })),
36- maxInvMassSqrDiv2_ (getOptionalParam<int64_t , double >(" maxInvMass" ,
37- config,
38- [&](double value) {
39- return std::round (scales.to_hw_InvMassSqrDiv2 (value) *
33+ return std::floor (scales.to_hw_InvMassSqrDiv2 (value) *
4034 cosPhiLUT_.output_scale ());
4135 })),
36+ maxInvMassSqrDiv2_ (getOptionalParam<int64_t , double >(
37+ " maxInvMass" ,
38+ config,
39+ [&](double value) { return std::ceil (scales.to_hw_InvMassSqrDiv2 (value) * cosPhiLUT_.output_scale ()); })),
4240 minTransMassSqrDiv2_ (getOptionalParam<int64_t , double >(
4341 " minTransMass" ,
4442 config,
4543 [&](double value) {
46- return std::round (scales.to_hw_TransMassSqrDiv2 (value) * cosPhiLUT_.output_scale ());
44+ return std::floor (scales.to_hw_TransMassSqrDiv2 (value) * cosPhiLUT_.output_scale ());
4745 })),
4846 maxTransMassSqrDiv2_ (getOptionalParam<int64_t , double >(
4947 " maxTransMass" ,
5048 config,
5149 [&](double value) {
52- return std::round (scales.to_hw_TransMassSqrDiv2 (value) * cosPhiLUT_.output_scale ());
50+ return std::ceil (scales.to_hw_TransMassSqrDiv2 (value) * cosPhiLUT_.output_scale ());
5351 })),
5452 scaleNormalShift_ (std::round(std::log2(std::ceil(coshEtaLUT_.output_scale() / coshEtaLUT2_.output_scale())))),
5553 invMassResolutionReduceShift_([&]() {
5654 if (minInvMassSqrDiv2_) {
5755 return std::max<int >(
58- std::ceil (std::log2 (minInvMassSqrDiv2_.value () * cosPhiLUT_.output_scale () + 1.0 )) - 16 , 0 );
56+ std::ceil (std::log2 (std::floor (minInvMassSqrDiv2_.value () * cosPhiLUT_.output_scale () + 1.0 ))) - 16 ,
57+ 0 );
5958 } else if (maxInvMassSqrDiv2_) {
60- return std::max<int >(std::ceil ( std::log2 (maxInvMassSqrDiv2_. value () * cosPhiLUT_. output_scale ())) - 16 ,
61- 0 );
59+ return std::max<int >(
60+ std::ceil ( std::log2 ( std::ceil (maxInvMassSqrDiv2_. value () * cosPhiLUT_. output_scale ()))) - 16 , 0 );
6261 } else {
6362 return 0 ;
6463 }
6564 }()),
6665 transMassResolutionReduceShift_ ([&]() {
6766 if (minTransMassSqrDiv2_) {
6867 return std::max<int >(
69- std::ceil (std::log2 (minTransMassSqrDiv2_.value () * cosPhiLUT_.output_scale () + 1.0 )) - 16 , 0 );
68+ std::ceil (std::log2 (std::floor (minTransMassSqrDiv2_.value () * cosPhiLUT_.output_scale () + 1.0 ))) - 16 ,
69+ 0 );
7070 } else if (maxTransMassSqrDiv2_) {
71- return std::max<int >(std::ceil ( std::log2 (maxTransMassSqrDiv2_. value () * cosPhiLUT_. output_scale ())) - 16 ,
72- 0 );
71+ return std::max<int >(
72+ std::ceil ( std::log2 ( std::ceil (maxTransMassSqrDiv2_. value () * cosPhiLUT_. output_scale ()))) - 16 , 0 );
7373 } else {
7474 return 0 ;
7575 }
0 commit comments