19 #include <momemta/ParameterSet.h> 20 #include <momemta/Module.h> 21 #include <momemta/Types.h> 22 #include <momemta/Utils.h> 60 m_ps_point = get<double>(parameters.get<
InputTag>(
"ps_point"));
61 m_input = get<LorentzVector>(parameters.get<
InputTag>(
"reco_particle"));
64 virtual Status
work()
override {
66 const double& ps_point = *m_ps_point;
67 const LorentzVector& reco_particle = *m_input;
69 const double new_theta = M_PI*ps_point;
72 output->SetCoordinates(
73 reco_particle.P() * std::sin(new_theta) * std::cos(reco_particle.Phi()),
74 reco_particle.P() * std::sin(new_theta) * std::sin(reco_particle.Phi()),
75 reco_particle.P() * std::cos(new_theta),
79 *TF_times_jacobian = M_PI;
91 std::shared_ptr<LorentzVector> output = produce<LorentzVector>(
"output");
92 std::shared_ptr<double> TF_times_jacobian = produce<double>(
"TF_times_jacobian");
97 .Input(
"reco_particle")
99 .Output(
"TF_times_jacobian");
Parent class for all the modules.
A class encapsulating a lua table.
Module(PoolPtr pool, const std::string &name)
Constructor.
Flat transfer function on Theta (mainly for testing purposes).
virtual Status work() override
Main function.