Final (main) Block G, describing \(X + s_{12} (\to p_1 p_2) + s_{34} (\to p_3 p_4)\). More...
Detailed Description
Final (main) Block G, describing \(X + s_{12} (\to p_1 p_2) + s_{34} (\to p_3 p_4)\).
This Block addresses the change of variables needed to pass from the standard phase-space parametrisation for \(p_{1 \dots 4} \times \delta^4\) to a parametrisation in terms of the two (squared) masses of the intermediate propagators.
In practice, this block allows to trade the energies of the four inputs \(p_{1 \dots 4}\) for the two propagator invariants \(s_{12}\) and \(s_{34}\). The angles of the input particles are not affected.
Warning: this change of variable is only valid if the four inputs \(p_{1 \dots 4}\) are massless!
The change of variable is done by solving the following system:
- \(s_{12} = (p_1 + p_2)^2\)
- \(s_{34} = (p_3 + p_4)^2\)
- Conservation of momentum (with \(\vec{p}_T^{b}\) the total transverse momentum of possible other particles in the event):
- \(p_{1x} + p_{2x} + p_{3x} + p_{4x} = - p_{Tx}^{b}\)
- \(p_{1y} + p_{2y} + p_{3y} + p_{4y} = - p_{Ty}^{b}\)
Up to four solutions are possible for \((p_1, p_2, p_3, p_4)\).
Integration dimension
This module requires 0 phase-space point.
Global parameters
Name | Type | Description |
---|---|---|
energy | double | Collision energy. |
Inputs
Name | Type | Description |
---|---|---|
s12 s34 | double | Squared invariant masses of the propagators. Typically coming from a BreitWignerGenerator or NarrowWidthApproximation module. |
p1 ... p4 | LorentzVector | LorentzVectors of the four particles in the event. The masses and angles of these particles will be used as input, and their energies modified according to the above method to reconstruct the event. |
branches | vector(LorentzVector) | LorentzVectors of all the other particles in the event, taken into account when computing \(\vec{p}_{T}^{b}\). |
Outputs
Name | Type | Description |
---|---|---|
solutions | vector(Solution) | Solutions of the change of variable. Each solution embeds the LorentzVectors of the particles whose energy was computed (ie. a set \((p_1, p_2, p_3, p_4)\)) and the associated jacobian. |
- 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 | |
BlockG (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/BlockG.cc