![]() |
Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
Main class. More...
#include <Hammer.hh>
Public Member Functions | |
Hammer () | |
Hammer (const Hammer &other)=delete | |
Hammer & | operator= (const Hammer &other)=delete |
Hammer (Hammer &&other)=delete | |
Hammer & | operator= (Hammer &&other)=delete |
~Hammer () noexcept | |
void | initRun () |
void | initEvent (double weight=1.0) |
Clears the _event container. More... | |
size_t | addProcess (Process &p) |
Adds a process to the _event container. More... | |
void | removeProcess (size_t id) |
Removes a process to the _event container. More... | |
void | setEventHistogramBin (const std::string &name, const std::vector< uint16_t > &bins) |
void | fillEventHistogram (const std::string &name, const std::vector< double > &values) |
void | setEventBaseWeight (double weight) |
void | processEvent () |
bool | loadEventWeights (IOBuffer &buffer, bool merge=false) |
IOBuffer | saveEventWeights () const |
bool | loadRunHeader (IOBuffer &buffer, bool merge=false) |
IOBuffer | saveRunHeader () const |
std::string | loadHistogramDefinition (IOBuffer &buffer, bool merge=false) |
HistoInfo | loadHistogram (IOBuffer &buffer, bool merge=false) |
IOBuffers | saveHistogram (const std::string &name) const |
IOBuffers | saveHistogram (const std::string &name, const std::string &scheme) const |
IOBuffers | saveHistogram (const std::string &name, const EventUIDGroup &eventIDs) const |
IOBuffers | saveHistogram (const std::string &name, const std::string &scheme, const EventUIDGroup &eventIDs) const |
IOBuffers | saveHistogram (const HistoInfo &info) const |
bool | loadRates (IOBuffer &buffer, bool merge=false) |
IOBuffer | saveRates () const |
void | readCards (const std::string &fileDecays, const std::string &fileOptions) |
Reads settings in the cards. More... | |
void | saveOptionCard (const std::string &fileOptions, bool useDefault=true) const |
Reads settings in the cards. More... | |
void | saveHeaderCard (const std::string &fileDecays) const |
Reads settings in the cards. More... | |
void | saveReferences (const std::string &fileRefs) const |
void | setOptions (const std::string &options) |
void | setHeader (const std::string &options) |
void | addTotalSumOfWeights (const bool compress=false, const bool witherrors=false) |
Add total weight sum histogram with compression and errors. More... | |
void | addHistogram (const std::string &name, const std::vector< uint16_t > &binSizes, bool hasUnderOverFlow=true, const std::vector< std::pair< double, double >> &ranges={}) |
Adds a tensor histogram. More... | |
void | addHistogram (const std::string &name, const std::vector< std::vector< double >> &binEdges, bool hasUnderOverFlow) |
Adds a tensor histogram. More... | |
void | collapseProcessesInHistogram (const std::string &name) |
void | keepErrorsInHistogram (const std::string &name, bool value=true) |
void | specializeWCInWeights (const std::string &process, const std::vector< std::complex< double >> &values) |
void | specializeWCInWeights (const std::string &process, const std::map< std::string, std::complex< double >> &settings) |
void | resetSpecializeWCInWeights (const std::string &process) |
void | specializeWCInHistogram (const std::string &name, const std::string &process, const std::vector< std::complex< double >> &values) |
void | specializeWCInHistogram (const std::string &name, const std::string &process, const std::map< std::string, std::complex< double >> &settings) |
void | specializeFFInHistogram (const std::string &name, const std::string &process, const std::string &group, const std::vector< double > &values) |
void | specializeFFInHistogram (const std::string &name, const std::string &process, const std::string &group, const std::map< std::string, double > &settings) |
void | resetSpecializationInHistogram (const std::string &name) |
void | createProjectedHistogram (const std::string &oldName, const std::string &newName, const std::set< uint16_t > &collapsedIndexPositions) |
void | removeHistogram (const std::string &name) |
void | addFFScheme (const std::string &schemeName, const std::map< std::string, std::string > &schemes) |
Adds a form factor scheme. More... | |
void | setFFInputScheme (const std::map< std::string, std::string > &schemes) |
Sets the FF schemes for the denominator. More... | |
void | removeFFScheme (const std::string &schemeName) |
Removes a form factor scheme Example: hammer.removeFFScheme("MixedBag") More... | |
std::vector< std::string > | getFFSchemeNames () const |
void | includeDecay (const std::vector< std::string > &names) |
Adds a combinatoric set to included process specifications. More... | |
void | includeDecay (const std::string &name) |
Adds an included process specification. More... | |
void | forbidDecay (const std::vector< std::string > &names) |
Adds a combinatoric set to forbidden process specifications. More... | |
void | forbidDecay (const std::string &name) |
Adds a forbidden process specification. More... | |
void | addPurePSVertices (const std::set< std::string > &vertices, WTerm what=WTerm::NUMERATOR) |
Sets pure PS by vertex. More... | |
void | clearPurePSVertices (WTerm what=WTerm::NUMERATOR) |
void | setUnits (std::string name="GeV") |
Sets the units. More... | |
void | setWilsonCoefficients (const std::string &process, const std::vector< std::complex< double >> &values, WTerm what=WTerm::NUMERATOR) |
void | setWilsonCoefficients (const std::string &process, const std::map< std::string, std::complex< double >> &settings, WTerm what=WTerm::NUMERATOR) |
void | setWilsonCoefficientsLocal (const std::string &process, const std::vector< std::complex< double >> &values) |
void | setWilsonCoefficientsLocal (const std::string &process, const std::map< std::string, std::complex< double >> &settings) |
void | resetWilsonCoefficients (const std::string &process, WTerm what=WTerm::NUMERATOR) |
void | setFFEigenvectors (const std::string &process, const std::string &group, const std::vector< double > &values) |
void | setFFEigenvectors (const std::string &process, const std::string &group, const std::map< std::string, double > &settings) |
void | setFFEigenvectorsLocal (const std::string &process, const std::string &group, const std::vector< double > &values) |
void | setFFEigenvectorsLocal (const std::string &process, const std::string &group, const std::map< std::string, double > &settings) |
void | resetFFEigenvectors (const std::string &process, const std::string &group) |
double | getWeight (const std::string &scheme, const std::vector< size_t > &processes={}) const |
double | getWeight (const std::string &scheme, const std::vector< std::vector< std::string >> &processes) const |
std::map< size_t, double > | getWeights (const std::string &scheme) const |
double | getRate (const HashId &id, const std::string &scheme) const |
double | getRate (const PdgId &parent, const std::vector< PdgId > &daughters, const std::string &scheme) const |
double | getRate (const std::string &vertex, const std::string &scheme) const |
double | getDenominatorRate (const HashId &id) const |
double | getDenominatorRate (const PdgId &parent, const std::vector< PdgId > &daughters) const |
double | getDenominatorRate (const std::string &vertex) const |
IOHistogram | getHistogram (const std::string &name, const std::string &scheme) const |
EventIdGroupDict< IOHistogram > | getHistograms (const std::string &name, const std::string &scheme) const |
EventUIDGroup | getHistogramEventIds (const std::string &name, const std::string &scheme) const |
std::vector< std::vector < double > > | getHistogramBinEdges (const std::string &name) const |
std::vector< uint16_t > | getHistogramShape (const std::string &name) const |
bool | histogramHasUnderOverFlows (const std::string &name) const |
Private Member Functions | |
virtual void | defineSettings () |
purely virtual function for a class to define new settings More... | |
Log & | getLog () const |
logging facility More... | |
![]() | |
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... | |
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) |
Private Attributes | |
std::unique_ptr < DictionaryManager > | _containers |
std::unique_ptr< SettingsHandler > | _settings |
std::unique_ptr< Histos > | _histograms |
std::unique_ptr < flatbuffers::FlatBufferBuilder > | _builder |
std::unique_ptr< Event > | _event |
double | _mcunits = 1. |
![]() | |
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 |
|
delete |
|
delete |
void Hammer::Hammer::addFFScheme | ( | const std::string & | schemeName, |
const std::map< std::string, std::string > & | schemes | ||
) |
void Hammer::Hammer::addHistogram | ( | const std::string & | name, |
const std::vector< uint16_t > & | binSizes, | ||
bool | hasUnderOverFlow = true , |
||
const std::vector< std::pair< double, double >> & | ranges = {} |
||
) |
void Hammer::Hammer::addHistogram | ( | const std::string & | name, |
const std::vector< std::vector< double >> & | binEdges, | ||
bool | hasUnderOverFlow | ||
) |
size_t Hammer::Hammer::addProcess | ( | Process & | p | ) |
void Hammer::Hammer::addPurePSVertices | ( | const std::set< std::string > & | vertices, |
WTerm | what = WTerm::NUMERATOR |
||
) |
void Hammer::Hammer::addTotalSumOfWeights | ( | const bool | compress = false , |
const bool | witherrors = false |
||
) |
void Hammer::Hammer::clearPurePSVertices | ( | WTerm | what = WTerm::NUMERATOR | ) |
void Hammer::Hammer::collapseProcessesInHistogram | ( | const std::string & | name | ) |
void Hammer::Hammer::createProjectedHistogram | ( | const std::string & | oldName, |
const std::string & | newName, | ||
const std::set< uint16_t > & | collapsedIndexPositions | ||
) |
|
privatevirtual |
purely virtual function for a class to define new settings
Implements Hammer::SettingsConsumer.
void Hammer::Hammer::fillEventHistogram | ( | const std::string & | name, |
const std::vector< double > & | values | ||
) |
void Hammer::Hammer::forbidDecay | ( | const std::vector< std::string > & | names | ) |
void Hammer::Hammer::forbidDecay | ( | const std::string & | name | ) |
double Hammer::Hammer::getDenominatorRate | ( | const HashId & | id | ) | const |
double Hammer::Hammer::getDenominatorRate | ( | const std::string & | vertex | ) | const |
vector< string > Hammer::Hammer::getFFSchemeNames | ( | ) | const |
IOHistogram Hammer::Hammer::getHistogram | ( | const std::string & | name, |
const std::string & | scheme | ||
) | const |
vector< vector< double > > Hammer::Hammer::getHistogramBinEdges | ( | const std::string & | name | ) | const |
EventUIDGroup Hammer::Hammer::getHistogramEventIds | ( | const std::string & | name, |
const std::string & | scheme | ||
) | const |
EventIdGroupDict< IOHistogram > Hammer::Hammer::getHistograms | ( | const std::string & | name, |
const std::string & | scheme | ||
) | const |
IndexList Hammer::Hammer::getHistogramShape | ( | const std::string & | name | ) | const |
|
private |
double Hammer::Hammer::getRate | ( | const HashId & | id, |
const std::string & | scheme | ||
) | const |
double Hammer::Hammer::getRate | ( | const std::string & | vertex, |
const std::string & | scheme | ||
) | const |
double Hammer::Hammer::getWeight | ( | const std::string & | scheme, |
const std::vector< size_t > & | processes = {} |
||
) | const |
double Hammer::Hammer::getWeight | ( | const std::string & | scheme, |
const std::vector< std::vector< std::string >> & | processes | ||
) | const |
map< size_t, double > Hammer::Hammer::getWeights | ( | const std::string & | scheme | ) | const |
bool Hammer::Hammer::histogramHasUnderOverFlows | ( | const std::string & | name | ) | const |
void Hammer::Hammer::includeDecay | ( | const std::vector< std::string > & | names | ) |
void Hammer::Hammer::includeDecay | ( | const std::string & | name | ) |
void Hammer::Hammer::initEvent | ( | double | weight = 1.0 | ) |
void Hammer::Hammer::keepErrorsInHistogram | ( | const std::string & | name, |
bool | value = true |
||
) |
bool Hammer::Hammer::loadEventWeights | ( | IOBuffer & | buffer, |
bool | merge = false |
||
) |
string Hammer::Hammer::loadHistogramDefinition | ( | IOBuffer & | buffer, |
bool | merge = false |
||
) |
bool Hammer::Hammer::loadRates | ( | IOBuffer & | buffer, |
bool | merge = false |
||
) |
bool Hammer::Hammer::loadRunHeader | ( | IOBuffer & | buffer, |
bool | merge = false |
||
) |
void Hammer::Hammer::readCards | ( | const std::string & | fileDecays, |
const std::string & | fileOptions | ||
) |
void Hammer::Hammer::removeFFScheme | ( | const std::string & | schemeName | ) |
void Hammer::Hammer::removeHistogram | ( | const std::string & | name | ) |
void Hammer::Hammer::removeProcess | ( | size_t | id | ) |
void Hammer::Hammer::resetFFEigenvectors | ( | const std::string & | process, |
const std::string & | group | ||
) |
void Hammer::Hammer::resetSpecializationInHistogram | ( | const std::string & | name | ) |
void Hammer::Hammer::resetSpecializeWCInWeights | ( | const std::string & | process | ) |
void Hammer::Hammer::resetWilsonCoefficients | ( | const std::string & | process, |
WTerm | what = WTerm::NUMERATOR |
||
) |
IOBuffer Hammer::Hammer::saveEventWeights | ( | ) | const |
void Hammer::Hammer::saveHeaderCard | ( | const std::string & | fileDecays | ) | const |
IOBuffers Hammer::Hammer::saveHistogram | ( | const std::string & | name | ) | const |
IOBuffers Hammer::Hammer::saveHistogram | ( | const std::string & | name, |
const std::string & | scheme | ||
) | const |
IOBuffers Hammer::Hammer::saveHistogram | ( | const std::string & | name, |
const EventUIDGroup & | eventIDs | ||
) | const |
IOBuffers Hammer::Hammer::saveHistogram | ( | const std::string & | name, |
const std::string & | scheme, | ||
const EventUIDGroup & | eventIDs | ||
) | const |
void Hammer::Hammer::saveOptionCard | ( | const std::string & | fileOptions, |
bool | useDefault = true |
||
) | const |
void Hammer::Hammer::saveReferences | ( | const std::string & | fileRefs | ) | const |
void Hammer::Hammer::setEventBaseWeight | ( | double | weight | ) |
void Hammer::Hammer::setEventHistogramBin | ( | const std::string & | name, |
const std::vector< uint16_t > & | bins | ||
) |
void Hammer::Hammer::setFFEigenvectors | ( | const std::string & | process, |
const std::string & | group, | ||
const std::vector< double > & | values | ||
) |
void Hammer::Hammer::setFFEigenvectors | ( | const std::string & | process, |
const std::string & | group, | ||
const std::map< std::string, double > & | settings | ||
) |
void Hammer::Hammer::setFFEigenvectorsLocal | ( | const std::string & | process, |
const std::string & | group, | ||
const std::vector< double > & | values | ||
) |
void Hammer::Hammer::setFFEigenvectorsLocal | ( | const std::string & | process, |
const std::string & | group, | ||
const std::map< std::string, double > & | settings | ||
) |
void Hammer::Hammer::setFFInputScheme | ( | const std::map< std::string, std::string > & | schemes | ) |
void Hammer::Hammer::setHeader | ( | const std::string & | options | ) |
void Hammer::Hammer::setOptions | ( | const std::string & | options | ) |
void Hammer::Hammer::setUnits | ( | std::string | name = "GeV" | ) |
void Hammer::Hammer::setWilsonCoefficients | ( | const std::string & | process, |
const std::vector< std::complex< double >> & | values, | ||
WTerm | what = WTerm::NUMERATOR |
||
) |
void Hammer::Hammer::setWilsonCoefficients | ( | const std::string & | process, |
const std::map< std::string, std::complex< double >> & | settings, | ||
WTerm | what = WTerm::NUMERATOR |
||
) |
void Hammer::Hammer::setWilsonCoefficientsLocal | ( | const std::string & | process, |
const std::vector< std::complex< double >> & | values | ||
) |
void Hammer::Hammer::setWilsonCoefficientsLocal | ( | const std::string & | process, |
const std::map< std::string, std::complex< double >> & | settings | ||
) |
void Hammer::Hammer::specializeFFInHistogram | ( | const std::string & | name, |
const std::string & | process, | ||
const std::string & | group, | ||
const std::vector< double > & | values | ||
) |
void Hammer::Hammer::specializeFFInHistogram | ( | const std::string & | name, |
const std::string & | process, | ||
const std::string & | group, | ||
const std::map< std::string, double > & | settings | ||
) |
void Hammer::Hammer::specializeWCInHistogram | ( | const std::string & | name, |
const std::string & | process, | ||
const std::vector< std::complex< double >> & | values | ||
) |
void Hammer::Hammer::specializeWCInHistogram | ( | const std::string & | name, |
const std::string & | process, | ||
const std::map< std::string, std::complex< double >> & | settings | ||
) |
void Hammer::Hammer::specializeWCInWeights | ( | const std::string & | process, |
const std::vector< std::complex< double >> & | values | ||
) |
void Hammer::Hammer::specializeWCInWeights | ( | const std::string & | process, |
const std::map< std::string, std::complex< double >> & | settings | ||
) |
|
private |
|
private |
|
private |
|
private |