Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Hammer::FormFactorBase Class Referenceabstract

Base class for form factors. More...

#include <FormFactorBase.hh>

+ Inheritance diagram for Hammer::FormFactorBase:
+ Collaboration diagram for Hammer::FormFactorBase:

Public Member Functions

 FormFactorBase ()
 
 FormFactorBase (const FormFactorBase &other)
 
FormFactorBaseoperator= (const FormFactorBase &other)=delete
 
 FormFactorBase (FormFactorBase &&other)=delete
 
FormFactorBaseoperator= (FormFactorBase &&other)=delete
 
virtual ~FormFactorBase () 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...
 
virtual std::unique_ptr
< FormFactorBase
clone (const std::string &label)=0
 
std::vector< double > getErrVectorFromDict (const std::map< std::string, double > &errDict) const
 
std::vector< double > getErrVectorFromSettings (bool useDefault=false) const
 
void updateFFErrSettings (const std::vector< double > &values)
 
void updateFFErrSettings (const std::map< std::string, double > &values)
 
void updateFFErrTensor (std::vector< double > values, MultiDimensional::SharedTensorData &data) const
 
const FFPrefixGroupgetFFErrPrefixGroup () const
 
std::pair< FFPrefixGroup,
IndexLabel
getFFErrInfo () const
 
void init ()
 initializes the form factor (defines settings associated to this form factor, etc.) More...
 
TensorgetTensor ()
 returns a reference to itself as a Tensor More...
 
const TensorgetTensor () const
 returns a reference to itself as a Tensor More...
 
Tensor getFFPSIntegrand (const EvaluationGrid &intPoints)
 
const std::string & group () const
 
void calcUnits ()
 compute unit rescaling of this class wrt MC units More...
 
- Public Member Functions inherited from Hammer::ParticleData
 ParticleData ()
 default constructor More...
 
 ParticleData (const ParticleData &other)=default
 
ParticleDataoperator= (const ParticleData &other)=default
 
 ParticleData (ParticleData &&other)=default
 
ParticleDataoperator= (ParticleData &&other)=default
 
virtual ~ParticleData ()
 
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...
 
- Public Member Functions inherited from Hammer::SettingsConsumer
virtual void setSettingsHandler (SettingsHandler &sh)
 set link to settings repository handler. More...
 
void setSettingsHandler (const SettingsConsumer &other)
 
SettingsHandlergetSettingsHandler () 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...
 
SettingsConsumeroperator= (const SettingsConsumer &)=default
 
virtual ~SettingsConsumer ()
 virtual destructor More...
 

Protected Member Functions

virtual void defineSettings ()=0
 defines new settings for this class More...
 
virtual void evalAtPSPoint (const std::vector< double > &point, const std::vector< double > &masses={})=0
 
void setGroup (const std::string &name)
 Sets the FF parametrization scheme label. More...
 
void setPrefix (const std::string &name)
 Sets the XtoY formal process label. More...
 
void setUnits (const std::string &name)
 set units for the FF class parameters More...
 
void addTensor (Tensor &&tensor)
 adds the index labels for the form factor tensor for a specific signature to the index labels signature list. More...
 
void addProcessSignature (PdgId parent, const std::vector< PdgId > &daughters)
 derived from ParticleData::addProcessSignature, also populates _FFInfoList More...
 
LoggetLog () 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
LoggetLog () 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

FFPrefixGroup _errPrefixGroup
 
IndexLabel _FFErrLabel
 
std::vector< std::pair
< FFPrefixGroup, IndexLabel > > 
_FFInfoList
 list of {prefix/group struct, uncertainty label} (one for each signature) More...
 
std::vector< std::string > _FFErrNames
 
std::vector< Tensor_tensorList
 list of (list of) labels for the tensor indices (one for each signature) More...
 
double _units
 
bool _unitsinit = false
 
- 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
 

Detailed Description

Base class for form factors.

Provides the form factor contents as tensor...

Definition at line 36 of file FormFactorBase.hh.

Constructor & Destructor Documentation

Hammer::FormFactorBase::FormFactorBase ( )

Definition at line 27 of file FormFactorBase.cc.

Hammer::FormFactorBase::FormFactorBase ( const FormFactorBase other)

Definition at line 36 of file FormFactorBase.cc.

Hammer::FormFactorBase::FormFactorBase ( FormFactorBase &&  other)
delete
virtual Hammer::FormFactorBase::~FormFactorBase ( )
virtualdefaultnoexcept

Member Function Documentation

void Hammer::FormFactorBase::addProcessSignature ( PdgId  parent,
const std::vector< PdgId > &  daughters 
)
protected

derived from ParticleData::addProcessSignature, also populates _FFInfoList

Parameters
[in]parentthe parent PDG code
[in]daughtersthe list of daughter PDG codes

Definition at line 194 of file FormFactorBase.cc.

void Hammer::FormFactorBase::addTensor ( Tensor &&  tensor)
protected

adds the index labels for the form factor tensor for a specific signature to the index labels signature list.

It will be selected by calling setSignatureIndex

Parameters
[in]tensorthe tensor indices labels

Definition at line 190 of file FormFactorBase.cc.

void Hammer::FormFactorBase::calcUnits ( )

compute unit rescaling of this class wrt MC units

Definition at line 153 of file FormFactorBase.cc.

virtual void Hammer::FormFactorBase::eval ( const Particle parent,
const ParticleList daughters,
const ParticleList references 
)
pure virtual

method to evaluate the object on a specific particle set

Parameters
[in]parentthe parent Particle
[in]daughtersthe daughters (and grand-daughters, if necessary) Particle list
[in]referencesthe parent Particle siblings (necessary e.g. for helicity amplitude phase conventions)

Implements Hammer::ParticleData.

Implemented in Hammer::FFISGW2Base, Hammer::FFBGLBase, Hammer::FFBLPRBase, Hammer::FFCLNBase, Hammer::FFTauto3PiRCT, Hammer::FFLbtoLcBLRS, Hammer::FFLbtoLcBLRSVar, and Hammer::FFLbtoLcPCR.

vector< double > Hammer::FormFactorBase::getErrVectorFromDict ( const std::map< std::string, double > &  errDict) const

Definition at line 66 of file FormFactorBase.cc.

vector< double > Hammer::FormFactorBase::getErrVectorFromSettings ( bool  useDefault = false) const

Definition at line 78 of file FormFactorBase.cc.

std::pair< FFPrefixGroup, IndexLabel > Hammer::FormFactorBase::getFFErrInfo ( ) const

Definition at line 113 of file FormFactorBase.cc.

const FFPrefixGroup & Hammer::FormFactorBase::getFFErrPrefixGroup ( ) const
Returns

Definition at line 109 of file FormFactorBase.cc.

Tensor Hammer::FormFactorBase::getFFPSIntegrand ( const EvaluationGrid intPoints)
Parameters
[in]intPoints
Returns

Definition at line 165 of file FormFactorBase.cc.

Log & Hammer::FormFactorBase::getLog ( ) const
protected

logging facility

Returns
stream to be used for logging

Definition at line 186 of file FormFactorBase.cc.

Tensor & Hammer::FormFactorBase::getTensor ( )

returns a reference to itself as a Tensor

Returns
itself

Definition at line 122 of file FormFactorBase.cc.

const Tensor & Hammer::FormFactorBase::getTensor ( ) const

returns a reference to itself as a Tensor

Returns
itself

Definition at line 126 of file FormFactorBase.cc.

const std::string & Hammer::FormFactorBase::group ( ) const
Returns

Definition at line 145 of file FormFactorBase.cc.

void Hammer::FormFactorBase::init ( )

initializes the form factor (defines settings associated to this form factor, etc.)

Todo:
anything else?

Definition at line 117 of file FormFactorBase.cc.

FormFactorBase& Hammer::FormFactorBase::operator= ( const FormFactorBase other)
delete
FormFactorBase& Hammer::FormFactorBase::operator= ( FormFactorBase &&  other)
delete
void Hammer::FormFactorBase::setGroup ( const std::string &  name)
protected

Sets the FF parametrization scheme label.

Enforced to be same over the set of signatures.

Parameters
[in]name

Definition at line 130 of file FormFactorBase.cc.

void Hammer::FormFactorBase::setPrefix ( const std::string &  name)
protected

Sets the XtoY formal process label.

May vary over the set of signatures.

Parameters
[in]name

Definition at line 141 of file FormFactorBase.cc.

void Hammer::FormFactorBase::setUnits ( const std::string &  name)
protected

set units for the FF class parameters

Parameters
[in]name

Definition at line 149 of file FormFactorBase.cc.

void Hammer::FormFactorBase::updateFFErrSettings ( const std::vector< double > &  values)

Definition at line 89 of file FormFactorBase.cc.

void Hammer::FormFactorBase::updateFFErrSettings ( const std::map< std::string, double > &  values)

Definition at line 94 of file FormFactorBase.cc.

void Hammer::FormFactorBase::updateFFErrTensor ( std::vector< double >  values,
MultiDimensional::SharedTensorData data 
) const

Definition at line 98 of file FormFactorBase.cc.

Member Data Documentation

FFPrefixGroup Hammer::FormFactorBase::_errPrefixGroup
protected

Definition at line 138 of file FormFactorBase.hh.

IndexLabel Hammer::FormFactorBase::_FFErrLabel
protected

Definition at line 139 of file FormFactorBase.hh.

std::vector<std::string> Hammer::FormFactorBase::_FFErrNames
protected

Definition at line 141 of file FormFactorBase.hh.

std::vector<std::pair<FFPrefixGroup, IndexLabel> > Hammer::FormFactorBase::_FFInfoList
protected

list of {prefix/group struct, uncertainty label} (one for each signature)

Definition at line 140 of file FormFactorBase.hh.

std::vector<Tensor> Hammer::FormFactorBase::_tensorList
protected

list of (list of) labels for the tensor indices (one for each signature)

Definition at line 142 of file FormFactorBase.hh.

double Hammer::FormFactorBase::_units
protected

Definition at line 143 of file FormFactorBase.hh.

bool Hammer::FormFactorBase::_unitsinit = false
protected

Definition at line 144 of file FormFactorBase.hh.


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