1 #ifndef L1Trigger_Phase2L1GT_L1GT3BodyCut_h 2 #define L1Trigger_Phase2L1GT_L1GT3BodyCut_h 33 return std::round(
scales.to_hw_InvMassSqrDiv2(
value) *
39 return std::round(
scales.to_hw_InvMassSqrDiv2(
value) *
109 desc.addOptional<
double>(
"minInvMass");
110 desc.addOptional<
double>(
"maxInvMass");
111 desc.addOptional<
double>(
"minTransMass");
112 desc.addOptional<
double>(
"maxTransMass");
122 : obj2.
hwEta().to_int() - obj1.
hwEta().to_int();
133 int64_t invMassSqrDiv2;
137 invMassSqrDiv2 = obj1.
hwPT().to_int64() * obj2.
hwPT().to_int64() * (lutCoshDEta - lutCosDPhi);
140 invMassSqrDiv2 = obj1.
hwPT().to_int64() * obj2.
hwPT().to_int64() * lutCoshDEta;
168 return obj1.
hwPT().to_int64() * obj2.
hwPT().to_int64() *
192 #endif // L1Trigger_Phase2L1GT_L1GT3BodyCut_h const L1GTSingleInOutLUT cosPhiLUT_
constexpr int32_t ceil(float num)
const L1GTSingleInOutLUT coshEtaLUT2_
const std::optional< int64_t > maxInvMassSqrDiv2_
const int transMassResolutionReduceShift_
std::vector< InvariantMassError > InvariantMassErrorCollection
std::optional< T > getOptionalParam(const std::string &name, const edm::ParameterSet &config, std::function< T(K)> conv)
const bool inv_mass_checks_
int64_t calc2BodyInvMass(const P2GTCandidate &obj1, const P2GTCandidate &obj2, InvariantMassErrorCollection &massErrors) const
double output_scale() const
const std::optional< int64_t > minInvMassSqrDiv2_
const std::optional< int64_t > minTransMassSqrDiv2_
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
const L1GTScales & scales_
const std::optional< int64_t > maxTransMassSqrDiv2_
static constexpr int HW_PI
L1GT3BodyCut(const edm::ParameterSet &config, const edm::ParameterSet &lutConfig, const L1GTScales &scales, bool inv_mass_checks=false)
int64_t calc2BodyTransMass(const P2GTCandidate &obj1, const P2GTCandidate &obj2) const
ParameterSet const & getParameterSet(ParameterSetID const &id)
static constexpr uint32_t DETA_LUT_SPLIT
static void fillPSetDescription(edm::ParameterSetDescription &desc)
bool checkObjects(const P2GTCandidate &obj1, const P2GTCandidate &obj2, const P2GTCandidate &obj3, InvariantMassErrorCollection &massErrors) const
const int scaleNormalShift_
const int invMassResolutionReduceShift_
const L1GTSingleInOutLUT coshEtaLUT_