Integrate over a transfer function on Pt described by a Gaussian distribution. More...
Detailed Description
Integrate over a transfer function on Pt described by a Gaussian distribution.
This module takes as inputs 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 a Gaussian distribution that describes the difference between the reconstructed and the generated Pt ( \(P_{T_{rec}}-P_{T_{gen}}\)). The width of the distribution, parametrised as a fraction of \(P_{T_{gen}}\), is set as parameter.
The range of the integration is determined using the width of the Gaussian at \(P_{T_{rec}}\), integrating over a user-defined 'number of sigmas' n
: \(P_{T_{gen}} \in \pm n \cdot \sigma \cdot P_{T_{rec}}\).
Integration dimension
This module requires 1 phase-space point.
Parameters
Name | Type | Description |
---|---|---|
sigma | double | Fraction of the Pt yielding the width of the Gaussian distribution (with sigma at 0.1 , \(\sigma_{gauss} = 0.1 \cdot P_{T_{gen}}\)). |
sigma_range | double | Range of integration expressed in number of sigma. |
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 energies, 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\) due to the fact that the integration is done w.r.t \(|P|\), while the TF is parametrised in terms of Pt. |
Definition at line 95 of file GaussianTransferFunctionOnPt.cc.
Public Member Functions | |
GaussianTransferFunctionOnPt (PoolPtr pool, const ParameterSet ¶meters) | |
virtual Status | work () override |
Main function. More... | |
Public Member Functions inherited from GaussianTransferFunctionOnPtBase | |
GaussianTransferFunctionOnPtBase (PoolPtr pool, const ParameterSet ¶meters) | |
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 GaussianTransferFunctionOnPtBase | |
double | m_min_Pt |
double | m_sigma |
double | m_sigma_range |
Value< LorentzVector > | m_reco_input |
Protected Attributes inherited from Module | |
PoolPtr | m_pool |
Member Function Documentation
◆ 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 101 of file GaussianTransferFunctionOnPt.cc.
The documentation for this class was generated from the following file:
- modules/GaussianTransferFunctionOnPt.cc