Search Results
\require{cancel} Final (main) Block F, describing q_1 q_2 \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 F, describing q_1 q_2 \to X + s_{13} (\to \cancel{p_1} p_3) + s_{24} (\to \cancel{p_2} p_4)
Final (main) Block F on q_1 q_2 \to X + s_{13} + s_{24} \to X + p_1 p_2 p_3 p_4, where q_1 and q_2 are Bjorken fractions, s_{13} and s_{24} are particles decaying respectively into p_1 (invisible particle) and p_3 (visible particle), and p_2 (invisible particle) and p_4 (visible particle).
This Block addresses the change of variables needed to pass from the standard phase-space parametrization to the \frac{1}{16\pi^2 E_1 E_2} dq_{1} dq_{2} ds_{13} d_s{24} \times J parametrization.
The integration is performed over q_{1}, q_{2}, s_{13} and s_{24} with p_3 and p_4 as inputs. Per integration point, the LorentzVectors 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):
- p_{1x} + p_{2x} = - p_{x}^{vis}
- p_{1y} + p_{2y} = - p_{y}^{vis}
- p_{1z} + p_{2z} = s^{1/2} (q_1 - q_2)/2 - p_z^{vis}
- E_{1} + E_{2} = s^{1/2} (q_1 + q_2)/2 - 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 ( p_1, p_2) solutions 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 |
---|---|---|
q1 q2 | double | Bjorken fractions. These are the dimensions of integration coming from CUBA as phase-space points |
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) | LorentzVectors 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 embed the LorentzVectors of the invisible particles ( p1, p2 in this case) and the associated jacobian. These solutions should be fed as input to the Looper module. |
- Note
- This block has been validated and is safe to use.
- See also
- Looper module to loop over the solutions of this Block

Public Member Functions | |
BlockF (PoolPtr pool, const ParameterSet ¶meters) | |
virtual Status | work () override |
Main function. More... | |
![]() | |
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 | |
![]() | |
enum | Status : std::int8_t { OK, NEXT, ABORT } |
![]() | |
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... | |
![]() | |
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) |
![]() | |
PoolPtr | m_pool |
Member Function Documentation
◆ work()
|
inlineoverridevirtual |
The documentation for this class was generated from the following file:
- modules/BlockF.cc