Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
PDG code process signature class. More...
#include <ParticleData.hh>
Classes | |
struct | Signature |
Decay signature information. More... | |
Public Member Functions | |
ParticleData () | |
default constructor More... | |
ParticleData (const ParticleData &other)=default | |
ParticleData & | operator= (const ParticleData &other)=default |
ParticleData (ParticleData &&other)=default | |
ParticleData & | operator= (ParticleData &&other)=default |
virtual | ~ParticleData () |
virtual void | eval (const Particle &parent, const ParticleList &daughters, const ParticleList &references)=0 |
method to evaluate the object on a specific particle set More... | |
virtual bool | setSignatureIndex (size_t idx=0) |
select a specific signature to be the current signature More... | |
HashId | id () const |
returns the unique ID of the current decay signature More... | |
HashId | hadronicId () const |
returns the hadronic unique ID (parent + hadronic daughters) of the current decay signature More... | |
const std::vector< double > & | masses () const |
returns the particle masses of the current decay signature More... | |
size_t | numSignatures () const |
returns the number of available signatures More... | |
Protected Member Functions | |
void | addProcessSignature (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &subDaughters={}) |
adds a signature to the list by specifying the particles PDG codes. More... | |
Protected Attributes | |
std::vector< Signature > | _signatures |
the list of signatures More... | |
size_t | _signatureIndex |
the index of the current signature More... | |
Private Member Functions | |
bool | checkValidSignature (PdgId parent, const std::vector< PdgId > &daughters, const std::vector< PdgId > &granddaughters) |
PDG code process signature class.
Manages the particle signatures (hashes, pdg lists, particle masses) of an object that needs to be associated to a decay vertex, in order to associate it in a Process at runtime. Supports multiple signatures to lump together similar decays (e.g. \( B^0 \rightarrow D^- \bar \tau \nu_\tau \) with \( B^+ \rightarrow D^0 \bar \tau \nu_\tau \), \( B^+ \rightarrow D^0 \bar \mu \nu_\mu \), etc.). Each signature can be selected by a signature index.
Definition at line 33 of file ParticleData.hh.
Hammer::ParticleData::ParticleData | ( | ) |
default constructor
Definition at line 27 of file ParticleData.cc.
|
default |
|
default |
|
virtual |
Definition at line 31 of file ParticleData.cc.
|
protected |
adds a signature to the list by specifying the particles PDG codes.
The internal particle ordering is automatically taken into account
[in] | parent | the parent PDG code |
[in] | daughters | the list of daughter PDG codes |
[in] | subDaughters | the list of subdaughters PDG codes for objects associated to 2-step decays |
Definition at line 64 of file ParticleData.cc.
|
private |
Definition at line 48 of file ParticleData.cc.
|
pure virtual |
method to evaluate the object on a specific particle set
[in] | parent | the parent Particle |
[in] | daughters | the daughters (and grand-daughters, if necessary) Particle list |
[in] | references | the parent Particle siblings (necessary e.g. for helicity amplitude phase conventions) |
Implemented in Hammer::RateBase, Hammer::FormFactorBase, Hammer::AmplitudeBase, Hammer::FFISGW2Base, Hammer::FFBGLBase, Hammer::FFBLPRBase, Hammer::FFCLNBase, Hammer::FFTauto3PiRCT, Hammer::FFLbtoLcBLRS, Hammer::FFLbtoLcBLRSVar, Hammer::FFLbtoLcPCR, Hammer::AmplBD0starLepNu, Hammer::AmplBD1LepNu, Hammer::AmplBD1starLepNu, Hammer::AmplBD2starLepNu, Hammer::AmplBDLepNu, Hammer::AmplBDstarDGamLepNu, Hammer::AmplBDstarDPiLepNu, Hammer::AmplBDstarLepNu, Hammer::AmplLbLcLepNu, Hammer::AmplTau3PiNu, Hammer::AmplTauEllNuNu, and Hammer::AmplTauPiNu.
HashId Hammer::ParticleData::hadronicId | ( | ) | const |
returns the hadronic unique ID (parent + hadronic daughters) of the current decay signature
Definition at line 40 of file ParticleData.cc.
HashId Hammer::ParticleData::id | ( | ) | const |
returns the unique ID of the current decay signature
Definition at line 36 of file ParticleData.cc.
const vector< double > & Hammer::ParticleData::masses | ( | ) | const |
returns the particle masses of the current decay signature
Definition at line 44 of file ParticleData.cc.
size_t Hammer::ParticleData::numSignatures | ( | ) | const |
returns the number of available signatures
Definition at line 111 of file ParticleData.cc.
|
default |
|
default |
|
virtual |
select a specific signature to be the current signature
[in] | idx | the signature index |
Reimplemented in Hammer::AmplitudeBase.
Definition at line 100 of file ParticleData.cc.
|
protected |
the index of the current signature
Definition at line 129 of file ParticleData.hh.
|
protected |
the list of signatures
Definition at line 128 of file ParticleData.hh.