BinnedTransferFunctionOnPt Class Reference

Integrate over a transfer function on Pt described by a 2D histogram retrieved from a ROOT file. More...

Detailed Description

Integrate over a transfer function on Pt described by a 2D histogram retrieved from a ROOT file.

This module takes as input a LorentzVector and a phase-space point, generates a new LorentzVector with a different Pt (keeping direction and invariant mass), and evaluates the transfer function on the "reconstructed" and "generated" Pt.

The transfer function (TF) is described by a 2D histogram (a ROOT TH2), where the X-axis defines the "generated" (true) Pt \(P_T_{gen}\), and the Y-axis the difference between the reconstructed and the generated Pt ( \(P_T_{rec}-P_T_{gen}\)).

It is assumed the TF is correctly normalised, i.e. integrals of slices along the Y-axis sum up to 1.

The integration is done over the whole width of the TF. The TF is assumed to continue asymptotically as a constant for \(P_T_{gen} \to \infty\).

Integration dimension

This module requires 1 phase-space point.

Parameters

Name Type Description
file string Path to the ROOT file in which the transfer function is saved.
th2_name string Name of the TH2 stored in file file
min_Pt double Optional: cut on Pt to avoid divergences

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 Pt.
TF_times_jacobian double Product of the TF evaluated on the reco and gen Pt, times the jacobian of the transformation needed stretch the integration range from \([0,1]\) to the width of the TF, times the jacobian \(d|P|/dP_T=cosh \eta\) due to the fact that the integration is done w.r.t \(|P|\), while the TF is parametrised in terms of Pt.
See also
BinnedTransferFunctionOnPtEvaluator

Definition at line 142 of file BinnedTransferFunctionOnPt.cc.

Inheritance diagram for BinnedTransferFunctionOnPt:

Public Member Functions

 BinnedTransferFunctionOnPt (PoolPtr pool, const ParameterSet &parameters)
 
virtual Status work () override
 Main function. More...
 
- Public Member Functions inherited from BinnedTransferFunctionOnPtBase
 BinnedTransferFunctionOnPtBase (PoolPtr pool, const ParameterSet &parameters)
 
- 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 BinnedTransferFunctionOnPtBase
std::unique_ptr< TH2 > m_th2
 
double m_deltaMin
 
double m_deltaMax
 
double m_deltaRange
 
double m_PtgenMin
 
double m_PtgenMax
 
double m_fallBackPtgenMax
 
Value< LorentzVector > m_reco_input
 
- Protected Attributes inherited from Module
PoolPtr m_pool
 

Member Function Documentation

◆ work()

virtual Status BinnedTransferFunctionOnPt::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 149 of file BinnedTransferFunctionOnPt.cc.


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