Search Results
Final (main) Block A, describing q_1 q_2 \to p_1 + p_2 + X. More...
Detailed Description
Final (main) Block A, describing q_1 q_2 \to p_1 + p_2 + X.
q_1 and q_2 are Bjorken fractions, p_1 and p_2 are the 4-momenta of the visible particles produced in the process.
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} d \theta_1 d \theta_2 d \phi_1 d \phi_2 \times J parametrization, where \theta_1 and \theta_2 are the polar angles and \phi_1 and \phi_2 are the azimuthal angles of the particles labeled with 1 and 2.
The balanced modules |p_1| and |p_2| of the visible particles are computed based on the following set of equations:
- |p_1| sin \theta_1 cos \phi_1 + |p_2| sin \theta_2 cos \phi_2 = -p_{x}^{branches}
- |p_1| sin \theta_1 sin \phi_1 + |p_2| sin \theta_2 sin \phi_2 = -p_{y}^{branches} i.e. balance of the transverse momentum p_{T}^{branches} of the particles present in the process.
Only one solution ( |p_1|, |p_2|) is possible.
Integration dimension
This module requires 0 phase-space point.
Global parameters
Name | Type | Description |
---|---|---|
energy | double | Collision energy. |
Inputs
Name | Type | Description |
---|---|---|
p1 p2 | LorentzVector | 4-vectors of the two particles for which the energy will be fixed using the above described method. Their angles and masses will be kept. |
branches | vector(LorentzVector) | LorentzVector of all the other particles in the event, taken into account when computing \vec{p}_{T}^{branches} and check if the solutions are physical. At least one other particle must be present for this block to be valid. |
Outputs
Name | Type | Description |
---|---|---|
solutions | vector(Solution) | Solutions of the change of variable. Each solution embeds the LorentzVectors of the balanced visible particles (ie. one (p_1, p_2) pair) 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 | |
BlockA (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/BlockA.cc