\(\require{cancel}\) Final (main) Block E, describing \(\hat{s} \to X + s_{13} (\to \cancel{p_1} p_3) + s_{24} (\to \cancel{p_2} p_4)\) More...
Detailed Description
\(\require{cancel}\) Final (main) Block E, describing \(\hat{s} \to X + s_{13} (\to \cancel{p_1} p_3) + s_{24} (\to \cancel{p_2} p_4)\)
This Block addresses the change of variables needed to pass from the standard phase-space parametrisation to a parametrisation in terms of the invariant masses of the three propagators ( \(\hat{s}\), \(s_{13}\) and \(s_{24}\)) and of the rapidity \(y\) of the system.
The integration is performed over \(\hat{s}\), \(s_{13}\), \(s_{24}\) and \(y\), with \(p_3\) and \(p_4\) as inputs. Per integration point, the Lorentz vectors of the invisible particle, \(p_1\) and \(p_2\), are computed based on this set of equations:
- \(s_{13} = (p_1 + p_3)^2\)
- \(s_{24} = (p_2 + p_4)^2\)
- Conservation of momentum (with \(p^{vis}\) the total momentum of visible particles, i.e. \(p_3\), \(p_4\) and possible additional particles):
- \(p_{1x} + p_{2x} = - p_{x}^{vis}\)
- \(p_{1y} + p_{2y} = - p_{y}^{vis}\)
- \(p_{1z} + p_{2z} = \hat{s}^{1/2} \cosh(y) - p_{z}^{vis}\)
- \(E_{1} + E_{2} = \hat{s}^{1/2} \sinh(y) - E^{vis}\)
- \(p_1^2 = m_1^2\)
- \(p_2^2 = m_2^2\)
The observed MET is not used in this block since to reconstruct the neutrinos the system requires as input the total 4-momentum of the visible objects (energy and longitudinal momentum included).
Up to 2 solutions for \(p_1\) and \(p_2\) are possible.
Integration dimension
This module requires 2 phase-space points.
Global parameters
Name | Type | Description |
---|---|---|
energy | double | Collision energy |
Parameters
Name | Type | Description |
---|---|---|
m1 m2 | double, default 0 | Masses of the invisible particles \(p_1\) and \(p_2\) |
Inputs
Name | Type | Description |
---|---|---|
y_tot | double | Rapidity of the total system. |
s_hat | double | Squared invariant mass of the total system. |
s13 s24 | double | Squared invariant masses of the two propagators, used to reconstruct the event according to the above method. Typically coming from a BreitWignerGenerator module. |
p3 p4 | LorentzVector | LorentzVectors of the two particles used to reconstruct the event according to the above method. |
branches | vector(LorentzVector) | Lorentz vectors of all the other particles in the event, used to compute \(p^{vis}\) and check if the solutions are physical. |
Outputs
Name | Type | Description |
---|---|---|
solutions | vector(Solution) | Solutions of the change of variable. Each solution embeds the Lorentz vectors of the invisible particles ( \(p1\), \(p2\) in this case) and the associated jacobian. |
- Note
- This block has been partially validated and is probably safe to use.
- See also
- Looper module to loop over the solutions of this Block
Public Member Functions | |
BlockE (PoolPtr pool, const ParameterSet ¶meters) | |
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()
|
inlineoverridevirtual |
The documentation for this class was generated from the following file:
- modules/BlockE.cc