Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
Base class for amplitudes. More...
#include <AmplitudeBase.hh>
Public Member Functions | |
AmplitudeBase () | |
AmplitudeBase (const AmplitudeBase &other)=delete | |
AmplitudeBase & | operator= (const AmplitudeBase &other)=delete |
AmplitudeBase (AmplitudeBase &&other)=delete | |
AmplitudeBase & | operator= (AmplitudeBase &&other)=delete |
virtual | ~AmplitudeBase () noexcept=default |
virtual void | eval (const Particle &parent, const ParticleList &daughters, const ParticleList &references)=0 |
method to evaluate the object on a specific particle set More... | |
std::vector< std::complex < double > > | getWCVectorFromDict (const std::map< std::string, std::complex< double >> &wcDict) const |
std::vector< std::complex < double > > | getWCVectorFromSettings (WTerm what) const |
void | updateWCSettings (const std::vector< std::complex< double >> &values, WTerm what) |
void | updateWCSettings (const std::map< std::string, std::complex< double >> &values, WTerm what) |
void | updateWCTensor (std::vector< std::complex< double >> values, MultiDimensional::SharedTensorData &data) const |
std::pair< std::string, IndexLabel > | getWCInfo () const |
void | init () |
initializes the amplitude (defines settings associated to this amplitude, etc.) More... | |
Tensor & | getTensor () |
returns a reference to itself as a Tensor More... | |
const Tensor & | getTensor () const |
returns a reference to itself as a Tensor More... | |
virtual bool | setSignatureIndex (size_t idx=0) |
select a specific signature to be the current signature More... | |
size_t | multiplicityFactor () const |
Public Member Functions inherited from Hammer::ParticleData | |
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 () |
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... | |
Public Member Functions inherited from Hammer::SettingsConsumer | |
virtual void | setSettingsHandler (SettingsHandler &sh) |
set link to settings repository handler. More... | |
void | setSettingsHandler (const SettingsConsumer &other) |
SettingsHandler * | getSettingsHandler () const |
provide the pointer to the repository handler More... | |
WTerm | setWeightTerm (WTerm group) |
virtual void | addRefs () const |
SettingsConsumer () | |
base constructor More... | |
SettingsConsumer (const SettingsConsumer &)=default | |
default copy constructor More... | |
SettingsConsumer & | operator= (const SettingsConsumer &)=default |
virtual | ~SettingsConsumer () |
virtual destructor More... | |
Protected Member Functions | |
virtual void | preProcessWCValues (std::vector< std::complex< double >> &data) const |
virtual void | defineSettings ()=0 |
defines new settings for this class More... | |
void | addTensor (Tensor &&tensor) |
adds the index labels for the amplitude tensor for a specific signature to the index labels signature list. More... | |
virtual void | updateWilsonCeffLabelPrefix () |
Log & | getLog () const |
logging facility More... | |
Protected Member Functions inherited from Hammer::ParticleData | |
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 Member Functions inherited from Hammer::SettingsConsumer | |
Log & | getLog () const |
logging facility More... | |
void | initSettings () |
void | setPath (const std::string &path) |
provide the basic path for the settings defined by this class, as in "<path>:<setting>" More... | |
template<typename T > | |
void | addSetting (const std::string &name, const T &defaultValue) |
template method to add a new setting More... | |
void | removeSetting (const std::string &name) |
template<typename T > | |
T * | getSetting (const std::string &name) const |
template method to return a setting defined by this class More... | |
template<typename T > | |
T * | getSetting (const std::string &otherPath, const std::string &name) const |
template method to return a setting defined by this class More... | |
bool | isOn (const std::string &name) const |
method to check a boolean setting defined by this class More... | |
bool | isOn (const std::string &otherPath, const std::string &name) const |
method to check a boolean setting by its name and path More... | |
template<typename T > | |
void | updateVectorOfSettings (const std::vector< T > &values, const std::vector< std::string > &names, const std::string &path="", WTerm group=WTerm::COMMON) |
template<typename T > | |
void | updateVectorOfSettings (const std::map< std::string, T > &values, const std::string &path="", WTerm group=WTerm::COMMON) |
Protected Attributes | |
std::vector< std::string > | _WCNames |
std::string | _WCPrefix |
IndexLabel | _WCLabel |
std::vector< Tensor > | _tensorList |
list of (list of) labels for the tensor indices (one for each signature) More... | |
size_t | _multiplicity |
Protected Attributes inherited from Hammer::ParticleData | |
std::vector< Signature > | _signatures |
the list of signatures More... | |
size_t | _signatureIndex |
the index of the current signature More... | |
Protected Attributes inherited from Hammer::SettingsConsumer | |
SettingsHandler * | _settingHandler |
pointer to the settings repository handler. More... | |
std::string | _settingPath |
path of the settings defined by this class More... | |
WTerm | _group |
std::set< std::string > | _ownedSettings |
Base class for amplitudes.
Provides the amplitude contents as tensor...
Definition at line 35 of file AmplitudeBase.hh.
Hammer::AmplitudeBase::AmplitudeBase | ( | ) |
Definition at line 25 of file AmplitudeBase.cc.
|
delete |
|
delete |
|
virtualdefaultnoexcept |
|
protected |
adds the index labels for the amplitude tensor for a specific signature to the index labels signature list.
It will be selected by calling setSignatureIndex
[in] | tensor | the tensor indices labels |
Definition at line 114 of file AmplitudeBase.cc.
|
protectedpure virtual |
defines new settings for this class
Implements Hammer::SettingsConsumer.
Implemented in Hammer::AmplBToQLepNuBase, Hammer::AmplTau3PiNu, Hammer::AmplTauEllNuNu, and Hammer::AmplTauPiNu.
|
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) |
Implements Hammer::ParticleData.
Implemented in 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.
|
protected |
logging facility
Definition at line 110 of file AmplitudeBase.cc.
Tensor & Hammer::AmplitudeBase::getTensor | ( | ) |
returns a reference to itself as a Tensor
Definition at line 83 of file AmplitudeBase.cc.
const Tensor & Hammer::AmplitudeBase::getTensor | ( | ) | const |
returns a reference to itself as a Tensor
Definition at line 87 of file AmplitudeBase.cc.
pair< string, IndexLabel > Hammer::AmplitudeBase::getWCInfo | ( | ) | const |
Definition at line 70 of file AmplitudeBase.cc.
vector< complex< double > > Hammer::AmplitudeBase::getWCVectorFromDict | ( | const std::map< std::string, std::complex< double >> & | wcDict | ) | const |
Definition at line 28 of file AmplitudeBase.cc.
vector< complex< double > > Hammer::AmplitudeBase::getWCVectorFromSettings | ( | WTerm | what | ) | const |
Definition at line 39 of file AmplitudeBase.cc.
void Hammer::AmplitudeBase::init | ( | ) |
initializes the amplitude (defines settings associated to this amplitude, etc.)
Definition at line 78 of file AmplitudeBase.cc.
size_t Hammer::AmplitudeBase::multiplicityFactor | ( | ) | const |
Definition at line 106 of file AmplitudeBase.cc.
|
delete |
|
delete |
|
protectedvirtual |
Reimplemented in Hammer::AmplBToQLepNuBase.
Definition at line 74 of file AmplitudeBase.cc.
|
virtual |
select a specific signature to be the current signature
[in] | idx | the signature index |
Reimplemented from Hammer::ParticleData.
Definition at line 91 of file AmplitudeBase.cc.
void Hammer::AmplitudeBase::updateWCSettings | ( | const std::vector< std::complex< double >> & | values, |
WTerm | what | ||
) |
Definition at line 49 of file AmplitudeBase.cc.
void Hammer::AmplitudeBase::updateWCSettings | ( | const std::map< std::string, std::complex< double >> & | values, |
WTerm | what | ||
) |
Definition at line 53 of file AmplitudeBase.cc.
void Hammer::AmplitudeBase::updateWCTensor | ( | std::vector< std::complex< double >> | values, |
MultiDimensional::SharedTensorData & | data | ||
) | const |
|
protectedvirtual |
Reimplemented in Hammer::AmplBToQLepNuBase.
Definition at line 101 of file AmplitudeBase.cc.
|
protected |
Definition at line 116 of file AmplitudeBase.hh.
|
protected |
list of (list of) labels for the tensor indices (one for each signature)
Definition at line 115 of file AmplitudeBase.hh.
|
protected |
Definition at line 114 of file AmplitudeBase.hh.
|
protected |
Definition at line 112 of file AmplitudeBase.hh.
|
protected |
Definition at line 113 of file AmplitudeBase.hh.