\(\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... | |
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/BlockF.cc