siscone is hosted by Hepforge, IPPP Durham

The SISCone Jet Algorithm

Version 3.1.1



SISCone 3.1.1
siscone_spherical::CSphmomentum Class Reference

base class for dynamic coordinates management More...

#include <momentum.h>

Inheritance diagram for siscone_spherical::CSphmomentum:
Collaboration diagram for siscone_spherical::CSphmomentum:

Public Member Functions

 CSphmomentum ()
 default ctor
 
 CSphmomentum (CSph3vector &init, double E=0.0)
 init from a 3-vect
 
 CSphmomentum (double _px, double _py, double _pz, double _E)
 ctor with initialisation
 
 ~CSphmomentum ()
 ctor with detailed initialisation
 
double mass () const
 computes m
 
double mass2 () const
 computes m^2
 
double perpmass () const
 transverse mass, mt = sqrt(pt^2+m^2) = sqrt(E^2 - pz^2)
 
double perpmass2 () const
 transverse mass squared, mt^2 = pt^2+m^2 = E^2 - pz^2
 
double Et () const
 computes transverse energy
 
double Et2 () const
 computes transverse energy (squared)
 
CSphmomentumoperator= (const CSphmomentum &v)
 assignment of vectors
 
const CSphmomentum operator+ (const CSphmomentum &v)
 addition of vectors !!! WARNING !!! no updating of eta and phi !!!
 
CSphmomentumoperator+= (const CSphmomentum &v)
 incrementation of vectors !!! WARNING !!! no updating of eta and phi !!!
 
CSphmomentumoperator-= (const CSphmomentum &v)
 decrementation of vectors !!! WARNING !!! no updating of eta and phi !!!
 
- Public Member Functions inherited from siscone_spherical::CSph3vector
 CSph3vector ()
 default ctor
 
 CSph3vector (double _px, double _py, double _pz)
 ctor with initialisation
 
 ~CSph3vector ()
 default dtor
 
CSph3vectoroperator= (const CSph3vector &v)
 assignment of vectors
 
const CSph3vector operator+ (const CSph3vector &v)
 addition of vectors WARNING= norm is not updated
 
const CSph3vector operator- (const CSph3vector &v)
 subtraction of vectors WARNING= norm is not updated
 
const CSph3vector operator/ (const double &r)
 division by a constant WARNING= norm is not updated
 
CSph3vectoroperator+= (const CSph3vector &v)
 incrementation of vectors WARNING= norm is not updated
 
CSph3vectoroperator-= (const CSph3vector &v)
 decrementation of vectors WARNING= norm is not updated
 
CSph3vectoroperator*= (const double &r)
 multiplication by a constant WARNING= norm is not updated
 
CSph3vectoroperator/= (const double &r)
 division by a constant WARNING= norm is not updated
 
double perp () const
 computes pT
 
double perp2 () const
 computes pT^2
 
double norm () const
 3-vect norm
 
double norm2 () const
 3-vect norm squared
 
double phi () const
 3-vect azimuthal angle
 
double theta () const
 3-vect polar angle
 
void build_norm ()
 build the spatial normfrom 4-momentum info !!! WARNING !!! !!! computing the norm is the only time-consuming !!! !!! information we need in all computations.
 
void build_thetaphi ()
 just a useful tool to store theta and phi locally (in _theta and _phi) in case you need repeated access
 
void get_angular_directions (CSph3vector &angular_dir1, CSph3vector &angular_dir2)
 for this direction, compute the two reference directions used to measure angles
 

Public Attributes

double E
 energy
 
int parent_index
 particle number in the parent list
 
int index
 internal particle number
 
- Public Attributes inherited from siscone_spherical::CSph3vector
double px
 x-momentum
 
double py
 y-momentum
 
double pz
 z-momentum
 
double _norm
 particle spatial norm (available ONLY after a call to build_norm)
 
double _theta
 particle theta angle (available ONLY after a call to build_thetaphi)
 
double _phi
 particle phi angle (available ONLY after a call to build_thetaphi)
 
siscone::Creference ref
 reference number for the vector
 

Detailed Description

base class for dynamic coordinates management

This class contains the information for particle or group of particles management. It is adapted to use spherical geometry, where, for our purposes, the only time-consuming operation we need is the computation of the norm. To compute it once-and-for-all and store it in a local variable, you should call the 'build_norm' method. On top of that, the angle phi is computed from the x-axis and theta from the "north pole".

Definition at line 158 of file momentum.h.

Constructor & Destructor Documentation

◆ CSphmomentum() [1/3]

siscone_spherical::CSphmomentum::CSphmomentum ( )

default ctor

Definition at line 194 of file momentum.cpp.

References E, and index.

◆ CSphmomentum() [2/3]

siscone_spherical::CSphmomentum::CSphmomentum ( CSph3vector init,
double  E = 0.0 
)

init from a 3-vect

Definition at line 211 of file momentum.cpp.

References E.

◆ CSphmomentum() [3/3]

siscone_spherical::CSphmomentum::CSphmomentum ( double  _px,
double  _py,
double  _pz,
double  _E 
)

ctor with initialisation

Definition at line 201 of file momentum.cpp.

References siscone_spherical::CSph3vector::build_thetaphi(), and E.

◆ ~CSphmomentum()

siscone_spherical::CSphmomentum::~CSphmomentum ( )

ctor with detailed initialisation

default dtor

Definition at line 218 of file momentum.cpp.

Member Function Documentation

◆ Et()

double siscone_spherical::CSphmomentum::Et ( ) const
inline

computes transverse energy

Definition at line 188 of file momentum.h.

References E, siscone_spherical::CSph3vector::perp2(), and siscone_spherical::CSph3vector::pz.

◆ Et2()

double siscone_spherical::CSphmomentum::Et2 ( ) const
inline

computes transverse energy (squared)

Definition at line 191 of file momentum.h.

References E, siscone_spherical::CSph3vector::perp2(), and siscone_spherical::CSph3vector::pz.

◆ mass()

double siscone_spherical::CSphmomentum::mass ( ) const
inline

computes m

Definition at line 176 of file momentum.h.

References mass2().

◆ mass2()

double siscone_spherical::CSphmomentum::mass2 ( ) const
inline

computes m^2

Definition at line 179 of file momentum.h.

References siscone_spherical::CSph3vector::perp2(), and perpmass2().

Referenced by mass().

◆ operator+()

const CSphmomentum siscone_spherical::CSphmomentum::operator+ ( const CSphmomentum v)

addition of vectors !!! WARNING !!! no updating of eta and phi !!!

Definition at line 241 of file momentum.cpp.

◆ operator+=()

CSphmomentum & siscone_spherical::CSphmomentum::operator+= ( const CSphmomentum v)

incrementation of vectors !!! WARNING !!! no updating of eta and phi !!!

Definition at line 249 of file momentum.cpp.

References E, siscone_spherical::CSph3vector::px, siscone_spherical::CSph3vector::py, siscone_spherical::CSph3vector::pz, and siscone_spherical::CSph3vector::ref.

◆ operator-=()

CSphmomentum & siscone_spherical::CSphmomentum::operator-= ( const CSphmomentum v)

decrementation of vectors !!! WARNING !!! no updating of eta and phi !!!

Definition at line 263 of file momentum.cpp.

References E, siscone_spherical::CSph3vector::px, siscone_spherical::CSph3vector::py, siscone_spherical::CSph3vector::pz, and siscone_spherical::CSph3vector::ref.

◆ operator=()

◆ perpmass()

double siscone_spherical::CSphmomentum::perpmass ( ) const
inline

transverse mass, mt = sqrt(pt^2+m^2) = sqrt(E^2 - pz^2)

Definition at line 182 of file momentum.h.

References E, and siscone_spherical::CSph3vector::pz.

◆ perpmass2()

double siscone_spherical::CSphmomentum::perpmass2 ( ) const
inline

transverse mass squared, mt^2 = pt^2+m^2 = E^2 - pz^2

Definition at line 185 of file momentum.h.

References E, and siscone_spherical::CSph3vector::pz.

Referenced by mass2().

Member Data Documentation

◆ E

◆ index

◆ parent_index

int siscone_spherical::CSphmomentum::parent_index

particle number in the parent list

Definition at line 210 of file momentum.h.

Referenced by siscone_spherical::CSphsplit_merge::add_hardest_protocone_to_jets(), and siscone_spherical::CSphsplit_merge::add_protocones().


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

The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated on Wed May 21 2025 16:16:25 for SISCone by  Doxygen 1.9.8