\(\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

Definition at line 95 of file BlockF.cc.

Inheritance diagram for BlockF:

Public Member Functions

 BlockF (PoolPtr pool, const ParameterSet &parameters)
 
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()

virtual Status BlockF::work ( )
inlineoverridevirtual

Main function.

This method is called for each integration step. The module's logic and work happen here.

You'll usually want to override this function if you want your module to perform some task.

Reimplemented from Module.

Definition at line 121 of file BlockF.cc.


The documentation for this class was generated from the following file: