FlatTransferFunctionOnTheta Class Reference

Flat transfer function on Theta (mainly for testing purposes). More...

Detailed Description

Flat transfer function on Theta (mainly for testing purposes).

This modules implements a constant (=1) transfer function on a particle's \(\theta\).

The primary purpose of this module is the validation of the phase-space generator, since it allows computing phase-space volumes and cross-sections by integrating over the reconstructed particle's momenta.

The module still takes a 4-momentum as input, since it needs an energy, a \(\phi\)-angle and a mass.

The range of \(\theta\) values considered is \([0,\pi]\).

Integration dimension

This module requires 1 phase-space point.

Inputs

Name Type Description
ps_point double Phase-space point generated by CUBA.
reco_particle LorentzVector Input LorentzVector (experimentally reconstructed particle).

Outputs

Name Type Description
output LorentzVector Output generated LorentzVector, only differing from reco_particle by its \(\theta\).
TF_times_jacobian double Transfer function (ie, 1) times the jacobian (due to the integration range).

Definition at line 56 of file FlatTransferFunctionOnTheta.cc.

Inheritance diagram for FlatTransferFunctionOnTheta:

Public Member Functions

 FlatTransferFunctionOnTheta (PoolPtr pool, const ParameterSet &parameters)
 
virtual Status work () override
 Main function. More...
 
- Public Member Functions inherited from Module
 Module (PoolPtr pool, const std::string &name)
 Constructor. More...
 
virtual void configure ()
 Called once at the beginning of the job.
 
virtual void beginIntegration ()
 Called once at the beginning of the integration.
 
virtual void beginPoint ()
 Called once when a new PS point is started. More...
 
virtual void beginLoop ()
 Called once at the beginning of a loop. More...
 
virtual void endLoop ()
 Called once at the end of a loop. More...
 
virtual void endPoint ()
 Called once when a PS point is finished. More...
 
virtual void endIntegration ()
 Called once at the end of the integration.
 
virtual void finish ()
 Called once at the end of the job.
 
virtual std::string name () const final
 

Additional Inherited Members

- Public Types inherited from Module
enum  Status : std::int8_t { OK, NEXT, ABORT }
 
- Static Public Member Functions inherited from Module
static std::string statusToString (const Status &status)
 
static bool is_virtual_module (const std::string &name)
 Test if a given name correspond to a virtual module. More...
 
- Protected Member Functions inherited from Module
template<typename T , typename... Args>
std::shared_ptr< T > produce (const std::string &name, Args... args)
 Add a new output to the module. More...
 
template<typename T >
Value< T > get (const std::string &module, const std::string &name)
 
template<typename T >
Value< T > get (const InputTag &tag)
 
- Protected Attributes inherited from Module
PoolPtr m_pool
 

Member Function Documentation

◆ work()

virtual Status FlatTransferFunctionOnTheta::work ( )
inlineoverridevirtual

Main function.

This method is called for each integration step. The module's logic and work happen here.

You'll usually want to override this function if you want your module to perform some task.

Reimplemented from Module.

Definition at line 64 of file FlatTransferFunctionOnTheta.cc.


The documentation for this class was generated from the following file: