20 #include <momemta/ParameterSet.h> 21 #include <momemta/Module.h> 75 mass(parameters.get<
double>(
"mass")),
76 width(parameters.get<
double>(
"width")) {
78 m_ps_point = get<double>(parameters.get<
InputTag>(
"ps_point"));
81 virtual Status
work()
override {
83 double psPoint = *m_ps_point;
84 const double range = M_PI / 2. + std::atan(mass / width);
85 const double y = - std::atan(mass / width) + range * psPoint;
87 *s = mass * width * std::tan(y) + (mass * mass);
88 *jacobian = range * mass * width / (std::cos(y) * std::cos(y));
101 std::shared_ptr<double> s = produce<double>(
"s");
102 std::shared_ptr<double> jacobian = produce<double>(
"jacobian");
112 .Attr(
"width:double");
virtual Status work() override
Main function.
Parent class for all the modules.
Generate points distributed according to a Breit-Wigner.
A class encapsulating a lua table.
Module(PoolPtr pool, const std::string &name)
Constructor.