diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a2144e64f..a0839a2894 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: echo "export PYTHON_INCLUDE_DIR=$PYTHON_INCLUDE_DIR" >> buildenv.sh echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" >> buildenv.sh cat buildenv.sh - pip install --upgrade pyyaml pybind11 h5py scipy numpy pyhf configobj pandas matplotlib setuptools==58.2.0 + pip install --upgrade pyyaml pybind11 h5py scipy numpy pyhf configobj pandas matplotlib setuptools==58.2.0 pathos joblib - name: Configure with cmake run: | cd BUILD/ && . buildenv.sh diff --git a/Backends/include/gambit/Backends/backend_types/Contur.hpp b/Backends/include/gambit/Backends/backend_types/Contur.hpp index 5f6e58d238..093fb44d35 100644 --- a/Backends/include/gambit/Backends/backend_types/Contur.hpp +++ b/Backends/include/gambit/Backends/backend_types/Contur.hpp @@ -31,9 +31,9 @@ namespace Gambit { // Class that manages the input dictionary for Contur - class Contur_output + class Contur_subOutput { - friend Contur_output merge_contur_outputs(const Contur_output& output1, const Contur_output& output2); + friend Contur_subOutput merge_contur_suboutputs(const Contur_subOutput& output1, const Contur_subOutput& output2); public: //Three member objects: @@ -42,15 +42,15 @@ map_str_str pool_tags; //Default constructor - used if no events produced - Contur_output() + Contur_subOutput() { - LLR = 0.0; - pool_LLR = {}; - pool_tags = {}; + LLR = 0.0; + pool_LLR = {}; + pool_tags = {}; } //Constructor using the pybind11::dict we get from contur: - Contur_output(pybind11::dict input_dict) + Contur_subOutput(pybind11::dict input_dict) { //Eliminating the factor of -2 for the GAMBIT LLR definition LLR = -0.5*input_dict.attr("get")("LLR").cast(); @@ -64,7 +64,7 @@ } //Constructor with all parts supplied: for the friend merge function - Contur_output(const double newLLR, const map_str_dbl& newPool_LLR, const map_str_str& newPool_tags) + Contur_subOutput(const double newLLR, const map_str_dbl& newPool_LLR, const map_str_str& newPool_tags) { LLR = newLLR; pool_LLR = newPool_LLR; @@ -73,9 +73,59 @@ //Automatic destructor should be fine, no need to define + //Print the object and all its data in an easy to read format. + void print_Contur_subOutput_debug(std::ostream&outstream = std::cout) const; + }; + + class Contur_output + { + friend Contur_output merge_contur_outputs(const Contur_output& output1, const Contur_output& output2); + + public: + std::vector _bkg_types = {"SMBG", "DATABG", "EXP"}; + std::map outputs; + + //Default constructor - used if no events produced + Contur_output() + { + for (const str& bkg : _bkg_types){ + outputs[bkg] = Contur_subOutput(); + } + } + + //Constructor using the pybind11::dict we get from contur: + Contur_output(pybind11::dict input_dict) + { + for (const str& bkg : _bkg_types){ + outputs[bkg] = Contur_subOutput(input_dict.attr("get")(bkg)); + } + } + //Automatic destructor should be fine, no need to define + //Print the object and all its data in an easy to read format. void print_Contur_output_debug(std::ostream&outstream = std::cout) const; + // TODO: returning a map is probably not super efficient but it fits the existing syntax. + map_str_dbl pool_LLR() const { + map_str_dbl return_map; + for (const str & bkg : _bkg_types){ + for (const std::pair LLRpair : outputs.at(bkg).pool_LLR){ + return_map[LLRpair.first + "_" + bkg] = LLRpair.second; + } + } + return return_map; + } + + // TODO: returning a map is probably not super efficient but it fits the existing syntax. + map_str_str pool_tags() const { + map_str_str return_map; + for (const str & bkg : _bkg_types){ + for (const std::pair LLRpair : outputs.at(bkg).pool_tags){ + return_map[LLRpair.first + "_" + bkg] = LLRpair.second; + } + } + return return_map; + } }; //For running Contur multiple times with different settings. diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/abstract_AnalysisHandler.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/abstract_AnalysisHandler.hh deleted file mode 100644 index adaf69705b..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/abstract_AnalysisHandler.hh +++ /dev/null @@ -1,193 +0,0 @@ -#ifndef __abstract_AnalysisHandler_Rivet_3_1_5_hh__ -#define __abstract_AnalysisHandler_Rivet_3_1_5_hh__ - -#include -#include -#include -#include -#include -#include -#include -#include "gambit/Backends/abstractbase.hpp" -#include "forward_decls_abstract_classes.hh" -#include "forward_decls_wrapper_classes.hh" -#include "HepMC3/GenEvent.h" -#include "YODA/AnalysisObject.h" - -#include "identification.hpp" - -namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) -{ - - - namespace Rivet - { - class Abstract_AnalysisHandler : public virtual AbstractBase - { - public: - - virtual ::std::string runName() const =0; - - virtual long unsigned int numEvents() const =0; - - virtual double sumW() const =0; - - virtual double sumW2() const =0; - - virtual const ::std::vector& weightNames() const =0; - - virtual long unsigned int numWeights() const =0; - - virtual bool haveNamedWeights() const =0; - - virtual void setWeightNames(const HepMC3::GenEvent&) =0; - - virtual long unsigned int defaultWeightIndex() const =0; - - virtual void setWeightCap(const double) =0; - - virtual void setNLOSmearing(double) =0; - - virtual void skipMultiWeights(bool) =0; - - virtual void skipMultiWeights__BOSS() =0; - - virtual void selectMultiWeights(std::string) =0; - - virtual void selectMultiWeights__BOSS() =0; - - virtual void deselectMultiWeights(std::string) =0; - - virtual void deselectMultiWeights__BOSS() =0; - - virtual void setNominalWeightName(std::string) =0; - - virtual void setNominalWeightName__BOSS() =0; - - virtual void setCrossSection(const std::pair&, bool) =0; - - virtual void setCrossSection__BOSS(const std::pair&) =0; - - virtual void setCrossSection(double, double, bool) =0; - - virtual void setCrossSection__BOSS(double, double) =0; - - virtual double nominalCrossSection() const =0; - - virtual ::std::pair beamIds() const =0; - - virtual double sqrtS() const =0; - - virtual void checkBeams(bool) =0; - - virtual void checkBeams__BOSS() =0; - - virtual void setIgnoreBeams(bool) =0; - - virtual void setIgnoreBeams__BOSS() =0; - - virtual ::std::vector analysisNames() const =0; - - virtual ::std::vector stdAnalysisNames() const =0; - - virtual Rivet::Abstract_AnalysisHandler& addAnalysis__BOSS(const std::string&) =0; - - virtual Rivet::Abstract_AnalysisHandler& addAnalysis__BOSS(const std::string&, std::map) =0; - - virtual Rivet::Abstract_AnalysisHandler& addAnalyses__BOSS(const std::vector&) =0; - - virtual Rivet::Abstract_AnalysisHandler& removeAnalysis__BOSS(const std::string&) =0; - - virtual Rivet::Abstract_AnalysisHandler& removeAnalyses__BOSS(const std::vector&) =0; - - virtual void init(const HepMC3::GenEvent&) =0; - - virtual void analyze(const HepMC3::GenEvent&) =0; - - virtual void analyze(const HepMC3::GenEvent*) =0; - - virtual void finalize() =0; - - virtual void readData(const std::string&) =0; - - virtual ::std::vector> getYodaAOs(bool) const =0; - - virtual ::std::vector> getYodaAOs__BOSS() const =0; - - virtual void writeData(std::ostream&, const std::string&) const =0; - - virtual void writeData(const std::string&) const =0; - - virtual void dummy(YODA::AnalysisObject*) const =0; - - virtual void setAODump(const std::string&, int) =0; - - virtual void setNoAODump() =0; - - virtual void dump(const std::string&, int) =0; - - virtual void mergeYodas(const std::vector&, const std::vector&, const std::vector&, const std::vector&, const std::vector&, bool) =0; - - virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&, const std::vector&, const std::vector&) =0; - - virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&, const std::vector&) =0; - - virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&) =0; - - virtual void mergeYodas__BOSS(const std::vector&, const std::vector&) =0; - - virtual void mergeYodas__BOSS(const std::vector&) =0; - - public: - virtual void pointer_assign__BOSS(Abstract_AnalysisHandler*) =0; - virtual Abstract_AnalysisHandler* pointer_copy__BOSS() =0; - - private: - AnalysisHandler* wptr; - bool delete_wrapper; - public: - AnalysisHandler* get_wptr() { return wptr; } - void set_wptr(AnalysisHandler* wptr_in) { wptr = wptr_in; } - bool get_delete_wrapper() { return delete_wrapper; } - void set_delete_wrapper(bool del_wrp_in) { delete_wrapper = del_wrp_in; } - - public: - Abstract_AnalysisHandler() - { - wptr = 0; - delete_wrapper = false; - } - - Abstract_AnalysisHandler(const Abstract_AnalysisHandler&) - { - wptr = 0; - delete_wrapper = false; - } - - Abstract_AnalysisHandler& operator=(const Abstract_AnalysisHandler&) { return *this; } - - virtual void init_wrapper() =0; - - AnalysisHandler* get_init_wptr() - { - init_wrapper(); - return wptr; - } - - AnalysisHandler& get_init_wref() - { - init_wrapper(); - return *wptr; - } - - virtual ~Abstract_AnalysisHandler() =0; - }; - } - -} - - -#include "gambit/Backends/backend_undefs.hpp" - - -#endif /* __abstract_AnalysisHandler_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_abstract_classes.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_abstract_classes.hh deleted file mode 100644 index fb4cf08d2c..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_abstract_classes.hh +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef __forward_decls_abstract_classes_Rivet_3_1_5_hh__ -#define __forward_decls_abstract_classes_Rivet_3_1_5_hh__ - - -#include "identification.hpp" - -namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) -{ - - - namespace Rivet - { - class Abstract_AnalysisHandler; - } - - - - -} - - -#include "gambit/Backends/backend_undefs.hpp" - -#endif /* __forward_decls_abstract_classes_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_wrapper_classes.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_wrapper_classes.hh deleted file mode 100644 index d36596258a..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/forward_decls_wrapper_classes.hh +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __forward_decls_wrapper_classes_Rivet_3_1_5_hh__ -#define __forward_decls_wrapper_classes_Rivet_3_1_5_hh__ - - -#include "identification.hpp" - -namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) -{ - - - namespace Rivet - { - class AnalysisHandler; - } - - -} - - -#include "gambit/Backends/backend_undefs.hpp" - -#endif /* __forward_decls_wrapper_classes_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler.hh deleted file mode 100644 index 3fc0afa295..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler.hh +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __wrapper_AnalysisHandler_Rivet_3_1_5_hh__ -#define __wrapper_AnalysisHandler_Rivet_3_1_5_hh__ - - -#include "wrapper_AnalysisHandler_decl.hh" -#include "wrapper_AnalysisHandler_def.hh" - - -#endif /* __wrapper_AnalysisHandler_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_decl.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_decl.hh deleted file mode 100644 index fe0ab26cdc..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_decl.hh +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef __wrapper_AnalysisHandler_decl_Rivet_3_1_5_hh__ -#define __wrapper_AnalysisHandler_decl_Rivet_3_1_5_hh__ - -#include -#include -#include -#include -#include -#include -#include "forward_decls_wrapper_classes.hh" -#include "gambit/Backends/wrapperbase.hpp" -#include "abstract_AnalysisHandler.hh" -#include "HepMC3/GenEvent.h" -#include "YODA/AnalysisObject.h" - -#include "identification.hpp" - -namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) -{ - - namespace Rivet - { - - class AnalysisHandler : public WrapperBase - { - // Member variables: - public: - // -- Static factory pointers: - static Abstract_AnalysisHandler* (*__factory0)(const std::string&); - static Abstract_AnalysisHandler* (*__factory1)(); - - // -- Other member variables: - - // Member functions: - public: - ::std::string runName() const; - - long unsigned int numEvents() const; - - double sumW() const; - - double sumW2() const; - - const ::std::vector& weightNames() const; - - long unsigned int numWeights() const; - - bool haveNamedWeights() const; - - void setWeightNames(const HepMC3::GenEvent& ge); - - long unsigned int defaultWeightIndex() const; - - void setWeightCap(const double maxWeight); - - void setNLOSmearing(double frac); - - void skipMultiWeights(bool ignore); - - void skipMultiWeights(); - - void selectMultiWeights(std::string patterns); - - void selectMultiWeights(); - - void deselectMultiWeights(std::string patterns); - - void deselectMultiWeights(); - - void setNominalWeightName(std::string name); - - void setNominalWeightName(); - - void setCrossSection(const std::pair& xsec, bool isUserSupplied); - - void setCrossSection(const std::pair& xsec); - - void setCrossSection(double xsec, double xsecerr, bool isUserSupplied); - - void setCrossSection(double xsec, double xsecerr); - - double nominalCrossSection() const; - - ::std::pair beamIds() const; - - double sqrtS() const; - - void checkBeams(bool check); - - void checkBeams(); - - void setIgnoreBeams(bool ignore); - - void setIgnoreBeams(); - - ::std::vector analysisNames() const; - - ::std::vector stdAnalysisNames() const; - - Rivet::AnalysisHandler& addAnalysis(const std::string& analysisname); - - Rivet::AnalysisHandler& addAnalysis(const std::string& analysisname, std::map pars); - - Rivet::AnalysisHandler& addAnalyses(const std::vector& analysisnames); - - Rivet::AnalysisHandler& removeAnalysis(const std::string& analysisname); - - Rivet::AnalysisHandler& removeAnalyses(const std::vector& analysisnames); - - void init(const HepMC3::GenEvent& event); - - void analyze(const HepMC3::GenEvent& event); - - void analyze(const HepMC3::GenEvent* event); - - void finalize(); - - void readData(const std::string& filename); - - ::std::vector> getYodaAOs(bool includeraw) const; - - ::std::vector> getYodaAOs() const; - - void writeData(std::ostream& ostr, const std::string& fmt) const; - - void writeData(const std::string& filename) const; - - void dummy(YODA::AnalysisObject* arg_1) const; - - void setAODump(const std::string& dumpfile, int period); - - void setNoAODump(); - - void dump(const std::string& dumpfile, int period); - - void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches, bool equiv); - - void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches); - - void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches); - - void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts); - - void mergeYodas(const std::vector& aofiles, const std::vector& delopts); - - void mergeYodas(const std::vector& aofiles); - - - // Wrappers for original constructors: - public: - AnalysisHandler(const std::string& runname); - AnalysisHandler(); - - // Special pointer-based constructor: - AnalysisHandler(Abstract_AnalysisHandler* in); - - // Copy constructor: - AnalysisHandler(const AnalysisHandler& in); - - // Assignment operator: - AnalysisHandler& operator=(const AnalysisHandler& in); - - // Destructor: - ~AnalysisHandler(); - - // Returns correctly casted pointer to Abstract class: - Abstract_AnalysisHandler* get_BEptr() const; - - }; - } - -} - - -#include "gambit/Backends/backend_undefs.hpp" - -#endif /* __wrapper_AnalysisHandler_decl_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_def.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_def.hh deleted file mode 100644 index 0c969cd868..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_def.hh +++ /dev/null @@ -1,371 +0,0 @@ -#ifndef __wrapper_AnalysisHandler_def_Rivet_3_1_5_hh__ -#define __wrapper_AnalysisHandler_def_Rivet_3_1_5_hh__ - -#include -#include -#include -#include -#include -#include "HepMC3/GenEvent.h" -#include "YODA/AnalysisObject.h" - -#include "identification.hpp" - -namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) -{ - - namespace Rivet - { - - // Member functions: - inline ::std::string AnalysisHandler::runName() const - { - return get_BEptr()->runName(); - } - - inline long unsigned int AnalysisHandler::numEvents() const - { - return get_BEptr()->numEvents(); - } - - inline double AnalysisHandler::sumW() const - { - return get_BEptr()->sumW(); - } - - inline double AnalysisHandler::sumW2() const - { - return get_BEptr()->sumW2(); - } - - inline const ::std::vector& AnalysisHandler::weightNames() const - { - return get_BEptr()->weightNames(); - } - - inline long unsigned int AnalysisHandler::numWeights() const - { - return get_BEptr()->numWeights(); - } - - inline bool AnalysisHandler::haveNamedWeights() const - { - return get_BEptr()->haveNamedWeights(); - } - - inline void AnalysisHandler::setWeightNames(const HepMC3::GenEvent& ge) - { - get_BEptr()->setWeightNames(ge); - } - - inline long unsigned int AnalysisHandler::defaultWeightIndex() const - { - return get_BEptr()->defaultWeightIndex(); - } - - inline void AnalysisHandler::setWeightCap(const double maxWeight) - { - get_BEptr()->setWeightCap(maxWeight); - } - - inline void AnalysisHandler::setNLOSmearing(double frac) - { - get_BEptr()->setNLOSmearing(frac); - } - - inline void AnalysisHandler::skipMultiWeights(bool ignore) - { - get_BEptr()->skipMultiWeights(ignore); - } - - inline void AnalysisHandler::skipMultiWeights() - { - get_BEptr()->skipMultiWeights__BOSS(); - } - - inline void AnalysisHandler::selectMultiWeights(std::string patterns) - { - get_BEptr()->selectMultiWeights(patterns); - } - - inline void AnalysisHandler::selectMultiWeights() - { - get_BEptr()->selectMultiWeights__BOSS(); - } - - inline void AnalysisHandler::deselectMultiWeights(std::string patterns) - { - get_BEptr()->deselectMultiWeights(patterns); - } - - inline void AnalysisHandler::deselectMultiWeights() - { - get_BEptr()->deselectMultiWeights__BOSS(); - } - - inline void AnalysisHandler::setNominalWeightName(std::string name) - { - get_BEptr()->setNominalWeightName(name); - } - - inline void AnalysisHandler::setNominalWeightName() - { - get_BEptr()->setNominalWeightName__BOSS(); - } - - inline void AnalysisHandler::setCrossSection(const std::pair& xsec, bool isUserSupplied) - { - get_BEptr()->setCrossSection(xsec, isUserSupplied); - } - - inline void AnalysisHandler::setCrossSection(const std::pair& xsec) - { - get_BEptr()->setCrossSection__BOSS(xsec); - } - - inline void AnalysisHandler::setCrossSection(double xsec, double xsecerr, bool isUserSupplied) - { - get_BEptr()->setCrossSection(xsec, xsecerr, isUserSupplied); - } - - inline void AnalysisHandler::setCrossSection(double xsec, double xsecerr) - { - get_BEptr()->setCrossSection__BOSS(xsec, xsecerr); - } - - inline double AnalysisHandler::nominalCrossSection() const - { - return get_BEptr()->nominalCrossSection(); - } - - inline ::std::pair AnalysisHandler::beamIds() const - { - return get_BEptr()->beamIds(); - } - - inline double AnalysisHandler::sqrtS() const - { - return get_BEptr()->sqrtS(); - } - - inline void AnalysisHandler::checkBeams(bool check) - { - get_BEptr()->checkBeams(check); - } - - inline void AnalysisHandler::checkBeams() - { - get_BEptr()->checkBeams__BOSS(); - } - - inline void AnalysisHandler::setIgnoreBeams(bool ignore) - { - get_BEptr()->setIgnoreBeams(ignore); - } - - inline void AnalysisHandler::setIgnoreBeams() - { - get_BEptr()->setIgnoreBeams__BOSS(); - } - - inline ::std::vector AnalysisHandler::analysisNames() const - { - return get_BEptr()->analysisNames(); - } - - inline ::std::vector AnalysisHandler::stdAnalysisNames() const - { - return get_BEptr()->stdAnalysisNames(); - } - - inline Rivet::AnalysisHandler& AnalysisHandler::addAnalysis(const std::string& analysisname) - { - return get_BEptr()->addAnalysis__BOSS(analysisname).get_init_wref(); - } - - inline Rivet::AnalysisHandler& AnalysisHandler::addAnalysis(const std::string& analysisname, std::map pars) - { - return get_BEptr()->addAnalysis__BOSS(analysisname, pars).get_init_wref(); - } - - inline Rivet::AnalysisHandler& AnalysisHandler::addAnalyses(const std::vector& analysisnames) - { - return get_BEptr()->addAnalyses__BOSS(analysisnames).get_init_wref(); - } - - inline Rivet::AnalysisHandler& AnalysisHandler::removeAnalysis(const std::string& analysisname) - { - return get_BEptr()->removeAnalysis__BOSS(analysisname).get_init_wref(); - } - - inline Rivet::AnalysisHandler& AnalysisHandler::removeAnalyses(const std::vector& analysisnames) - { - return get_BEptr()->removeAnalyses__BOSS(analysisnames).get_init_wref(); - } - - inline void AnalysisHandler::init(const HepMC3::GenEvent& event) - { - get_BEptr()->init(event); - } - - inline void AnalysisHandler::analyze(const HepMC3::GenEvent& event) - { - get_BEptr()->analyze(event); - } - - inline void AnalysisHandler::analyze(const HepMC3::GenEvent* event) - { - get_BEptr()->analyze(event); - } - - inline void AnalysisHandler::finalize() - { - get_BEptr()->finalize(); - } - - inline void AnalysisHandler::readData(const std::string& filename) - { - get_BEptr()->readData(filename); - } - - inline ::std::vector> AnalysisHandler::getYodaAOs(bool includeraw) const - { - return get_BEptr()->getYodaAOs(includeraw); - } - - inline ::std::vector> AnalysisHandler::getYodaAOs() const - { - return get_BEptr()->getYodaAOs__BOSS(); - } - - inline void AnalysisHandler::writeData(std::ostream& ostr, const std::string& fmt) const - { - get_BEptr()->writeData(ostr, fmt); - } - - inline void AnalysisHandler::writeData(const std::string& filename) const - { - get_BEptr()->writeData(filename); - } - - inline void AnalysisHandler::dummy(YODA::AnalysisObject* arg_1) const - { - get_BEptr()->dummy(arg_1); - } - - inline void AnalysisHandler::setAODump(const std::string& dumpfile, int period) - { - get_BEptr()->setAODump(dumpfile, period); - } - - inline void AnalysisHandler::setNoAODump() - { - get_BEptr()->setNoAODump(); - } - - inline void AnalysisHandler::dump(const std::string& dumpfile, int period) - { - get_BEptr()->dump(dumpfile, period); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches, bool equiv) - { - get_BEptr()->mergeYodas(aofiles, delopts, addopts, matches, unmatches, equiv); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches) - { - get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts, matches, unmatches); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches) - { - get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts, matches); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts) - { - get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts) - { - get_BEptr()->mergeYodas__BOSS(aofiles, delopts); - } - - inline void AnalysisHandler::mergeYodas(const std::vector& aofiles) - { - get_BEptr()->mergeYodas__BOSS(aofiles); - } - - - // Wrappers for original constructors: - inline AnalysisHandler::AnalysisHandler(const std::string& runname) : - WrapperBase(__factory0(runname)) - { - get_BEptr()->set_wptr(this); - get_BEptr()->set_delete_wrapper(false); - } - - inline AnalysisHandler::AnalysisHandler() : - WrapperBase(__factory1()) - { - get_BEptr()->set_wptr(this); - get_BEptr()->set_delete_wrapper(false); - } - - // Special pointer-based constructor: - inline AnalysisHandler::AnalysisHandler(Abstract_AnalysisHandler* in) : - WrapperBase(in) - { - get_BEptr()->set_wptr(this); - get_BEptr()->set_delete_wrapper(false); - } - - // Copy constructor: - inline AnalysisHandler::AnalysisHandler(const AnalysisHandler& in) : - WrapperBase(in.get_BEptr()->pointer_copy__BOSS()) - { - get_BEptr()->set_wptr(this); - get_BEptr()->set_delete_wrapper(false); - } - - // Assignment operator: - inline AnalysisHandler& AnalysisHandler::operator=(const AnalysisHandler& in) - { - if (this != &in) - { - get_BEptr()->pointer_assign__BOSS(in.get_BEptr()); - } - return *this; - } - - - // Destructor: - inline AnalysisHandler::~AnalysisHandler() - { - if (get_BEptr() != 0) - { - get_BEptr()->set_delete_wrapper(false); - if (can_delete_BEptr()) - { - delete BEptr; - BEptr = 0; - } - } - set_delete_BEptr(false); - } - - // Returns correctly casted pointer to Abstract class: - inline Abstract_AnalysisHandler* Rivet::AnalysisHandler::get_BEptr() const - { - return dynamic_cast(BEptr); - } - } - -} - - -#include "gambit/Backends/backend_undefs.hpp" - -#endif /* __wrapper_AnalysisHandler_def_Rivet_3_1_5_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/abstract_AnalysisHandler.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/abstract_AnalysisHandler.hh new file mode 100644 index 0000000000..b84e8ac4a9 --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/abstract_AnalysisHandler.hh @@ -0,0 +1,206 @@ +#ifndef __abstract_AnalysisHandler_Rivet_3_1_8_hh__ +#define __abstract_AnalysisHandler_Rivet_3_1_8_hh__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "gambit/Backends/abstractbase.hpp" +#include "forward_decls_abstract_classes.hh" +#include "forward_decls_wrapper_classes.hh" +#include "HepMC3/GenEvent.h" +#include "YODA/AnalysisObject.h" + +#include "identification.hpp" + +namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) +{ + + + namespace Rivet + { + class Abstract_AnalysisHandler : public virtual AbstractBase + { + public: + + virtual ::std::string runName() const =0; + + virtual long unsigned int numEvents() const =0; + + virtual double sumW() const =0; + + virtual double sumW2() const =0; + + virtual const ::std::vector& weightNames() const =0; + + virtual long unsigned int numWeights() const =0; + + virtual bool haveNamedWeights() const =0; + + virtual void setWeightNames(const HepMC3::GenEvent&) =0; + + virtual long unsigned int defaultWeightIndex() const =0; + + virtual void setWeightCap(const double) =0; + + virtual void setNLOSmearing(double) =0; + + virtual void skipMultiWeights(bool) =0; + + virtual void skipMultiWeights__BOSS() =0; + + virtual void selectMultiWeights(std::string) =0; + + virtual void selectMultiWeights__BOSS() =0; + + virtual void deselectMultiWeights(std::string) =0; + + virtual void deselectMultiWeights__BOSS() =0; + + virtual void setNominalWeightName(std::string) =0; + + virtual void setNominalWeightName__BOSS() =0; + + virtual void setCrossSection(const std::vector>&, bool) =0; + + virtual void setCrossSection__BOSS(const std::vector>&) =0; + + virtual void setCrossSection(const std::pair&, bool) =0; + + virtual void setCrossSection__BOSS(const std::pair&) =0; + + virtual void setCrossSection(double, double, bool) =0; + + virtual void setCrossSection__BOSS(double, double) =0; + + virtual double nominalCrossSection() const =0; + + virtual ::std::pair beamIds() const =0; + + virtual double sqrtS() const =0; + + virtual void checkBeams(bool) =0; + + virtual void checkBeams__BOSS() =0; + + virtual void setIgnoreBeams(bool) =0; + + virtual void setIgnoreBeams__BOSS() =0; + + virtual ::std::vector analysisNames() const =0; + + virtual ::std::vector stdAnalysisNames() const =0; + + virtual Rivet::Abstract_AnalysisHandler& addAnalysis__BOSS(const std::string&) =0; + + virtual Rivet::Abstract_AnalysisHandler& addAnalysis__BOSS(const std::string&, std::map) =0; + + virtual Rivet::Abstract_AnalysisHandler& addAnalyses__BOSS(const std::vector&) =0; + + virtual Rivet::Abstract_AnalysisHandler& removeAnalysis__BOSS(const std::string&) =0; + + virtual Rivet::Abstract_AnalysisHandler& removeAnalyses__BOSS(const std::vector&) =0; + + virtual void init(const HepMC3::GenEvent&) =0; + + virtual void analyze(const HepMC3::GenEvent&) =0; + + virtual void analyze(const HepMC3::GenEvent*) =0; + + virtual void finalize() =0; + + virtual void readData(std::istream&, const std::string&, bool) =0; + + virtual void readData__BOSS(std::istream&, const std::string&) =0; + + virtual void readData(const std::string&, bool) =0; + + virtual void readData__BOSS(const std::string&) =0; + + virtual ::std::vector> getYodaAOs(bool) const =0; + + virtual ::std::vector> getYodaAOs__BOSS() const =0; + + virtual void writeData(std::ostream&, const std::string&) const =0; + + virtual void writeData(const std::string&) const =0; + + virtual void dummy(YODA::AnalysisObject*) const =0; + + virtual void setAODump(const std::string&, int) =0; + + virtual void setNoAODump() =0; + + virtual void dump(const std::string&, int) =0; + + virtual void mergeYodas(const std::vector&, const std::vector&, const std::vector&, const std::vector&, const std::vector&, bool) =0; + + virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&, const std::vector&, const std::vector&) =0; + + virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&, const std::vector&) =0; + + virtual void mergeYodas__BOSS(const std::vector&, const std::vector&, const std::vector&) =0; + + virtual void mergeYodas__BOSS(const std::vector&, const std::vector&) =0; + + virtual void mergeYodas__BOSS(const std::vector&) =0; + + virtual void merge__BOSS(Rivet::Abstract_AnalysisHandler&) =0; + + public: + virtual void pointer_assign__BOSS(Abstract_AnalysisHandler*) =0; + virtual Abstract_AnalysisHandler* pointer_copy__BOSS() =0; + + private: + AnalysisHandler* wptr; + bool delete_wrapper; + public: + AnalysisHandler* get_wptr() { return wptr; } + void set_wptr(AnalysisHandler* wptr_in) { wptr = wptr_in; } + bool get_delete_wrapper() { return delete_wrapper; } + void set_delete_wrapper(bool del_wrp_in) { delete_wrapper = del_wrp_in; } + + public: + Abstract_AnalysisHandler() + { + wptr = 0; + delete_wrapper = false; + } + + Abstract_AnalysisHandler(const Abstract_AnalysisHandler&) + { + wptr = 0; + delete_wrapper = false; + } + + Abstract_AnalysisHandler& operator=(const Abstract_AnalysisHandler&) { return *this; } + + virtual void init_wrapper() =0; + + AnalysisHandler* get_init_wptr() + { + init_wrapper(); + return wptr; + } + + AnalysisHandler& get_init_wref() + { + init_wrapper(); + return *wptr; + } + + virtual ~Abstract_AnalysisHandler() =0; + }; + } + +} + + +#include "gambit/Backends/backend_undefs.hpp" + + +#endif /* __abstract_AnalysisHandler_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_abstract_classes.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_abstract_classes.hh new file mode 100644 index 0000000000..01264ebfb1 --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_abstract_classes.hh @@ -0,0 +1,24 @@ +#ifndef __forward_decls_abstract_classes_Rivet_3_1_8_hh__ +#define __forward_decls_abstract_classes_Rivet_3_1_8_hh__ + + +#include "identification.hpp" + +namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) +{ + + + namespace Rivet + { + class Abstract_AnalysisHandler; + } + + + + +} + + +#include "gambit/Backends/backend_undefs.hpp" + +#endif /* __forward_decls_abstract_classes_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_wrapper_classes.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_wrapper_classes.hh new file mode 100644 index 0000000000..e37c114288 --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/forward_decls_wrapper_classes.hh @@ -0,0 +1,22 @@ +#ifndef __forward_decls_wrapper_classes_Rivet_3_1_8_hh__ +#define __forward_decls_wrapper_classes_Rivet_3_1_8_hh__ + + +#include "identification.hpp" + +namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) +{ + + + namespace Rivet + { + class AnalysisHandler; + } + + +} + + +#include "gambit/Backends/backend_undefs.hpp" + +#endif /* __forward_decls_wrapper_classes_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/identification.hpp similarity index 81% rename from Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp rename to Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/identification.hpp index aa1d8d3137..af5a1e7975 100644 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/identification.hpp @@ -4,8 +4,8 @@ #define BACKENDNAME Rivet #define BACKENDLANG CXX -#define VERSION 3.1.5 -#define SAFE_VERSION 3_1_5 +#define VERSION 3.1.8 +#define SAFE_VERSION 3_1_8 #define REFERENCE Bierlich:2019rhm #undef DO_CLASSLOADING diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/loaded_types.hpp b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/loaded_types.hpp similarity index 83% rename from Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/loaded_types.hpp rename to Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/loaded_types.hpp index 16d6990376..77b62470ee 100644 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/loaded_types.hpp +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/loaded_types.hpp @@ -1,5 +1,5 @@ -#ifndef __loaded_types_Rivet_3_1_5_hpp__ -#define __loaded_types_Rivet_3_1_5_hpp__ 1 +#ifndef __loaded_types_Rivet_3_1_8_hpp__ +#define __loaded_types_Rivet_3_1_8_hpp__ 1 #ifndef EXCLUDE_YODA #ifndef EXCLUDE_HEPMC @@ -10,7 +10,7 @@ #include "gambit/Utils/end_ignore_warnings.hpp" // Indicate which types are provided by this backend, and what the symbols of their factories are. -#define Rivet_3_1_5_all_data \ +#define Rivet_3_1_8_all_data \ (( /*class*/(Rivet)(AnalysisHandler), /*constructors*/(("Factory_AnalysisHandler_0__BOSS_1",(const std::string&))) (("Factory_AnalysisHandler_1__BOSS_2",())) )) \ // If the default version has been loaded, set it as default. @@ -24,4 +24,4 @@ #endif #endif -#endif /* __loaded_types_Rivet_3_1_5_hpp__ */ +#endif /* __loaded_types_Rivet_3_1_8_hpp__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler.hh new file mode 100644 index 0000000000..447ecacc6f --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler.hh @@ -0,0 +1,9 @@ +#ifndef __wrapper_AnalysisHandler_Rivet_3_1_8_hh__ +#define __wrapper_AnalysisHandler_Rivet_3_1_8_hh__ + + +#include "wrapper_AnalysisHandler_decl.hh" +#include "wrapper_AnalysisHandler_def.hh" + + +#endif /* __wrapper_AnalysisHandler_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_decl.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_decl.hh new file mode 100644 index 0000000000..86321a7ef8 --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_decl.hh @@ -0,0 +1,190 @@ +#ifndef __wrapper_AnalysisHandler_decl_Rivet_3_1_8_hh__ +#define __wrapper_AnalysisHandler_decl_Rivet_3_1_8_hh__ + +#include +#include +#include +#include +#include +#include +#include +#include "forward_decls_wrapper_classes.hh" +#include "gambit/Backends/wrapperbase.hpp" +#include "abstract_AnalysisHandler.hh" +#include "HepMC3/GenEvent.h" +#include "YODA/AnalysisObject.h" + +#include "identification.hpp" + +namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) +{ + + namespace Rivet + { + + class AnalysisHandler : public WrapperBase + { + // Member variables: + public: + // -- Static factory pointers: + static Abstract_AnalysisHandler* (*__factory0)(const std::string&); + static Abstract_AnalysisHandler* (*__factory1)(); + + // -- Other member variables: + + // Member functions: + public: + ::std::string runName() const; + + long unsigned int numEvents() const; + + double sumW() const; + + double sumW2() const; + + const ::std::vector& weightNames() const; + + long unsigned int numWeights() const; + + bool haveNamedWeights() const; + + void setWeightNames(const HepMC3::GenEvent& ge); + + long unsigned int defaultWeightIndex() const; + + void setWeightCap(const double maxWeight); + + void setNLOSmearing(double frac); + + void skipMultiWeights(bool ignore); + + void skipMultiWeights(); + + void selectMultiWeights(std::string patterns); + + void selectMultiWeights(); + + void deselectMultiWeights(std::string patterns); + + void deselectMultiWeights(); + + void setNominalWeightName(std::string name); + + void setNominalWeightName(); + + void setCrossSection(const std::vector>& xsecs, bool isUserSupplied); + + void setCrossSection(const std::vector>& xsecs); + + void setCrossSection(const std::pair& xsec, bool isUserSupplied); + + void setCrossSection(const std::pair& xsec); + + void setCrossSection(double xsec, double xsecerr, bool isUserSupplied); + + void setCrossSection(double xsec, double xsecerr); + + double nominalCrossSection() const; + + ::std::pair beamIds() const; + + double sqrtS() const; + + void checkBeams(bool check); + + void checkBeams(); + + void setIgnoreBeams(bool ignore); + + void setIgnoreBeams(); + + ::std::vector analysisNames() const; + + ::std::vector stdAnalysisNames() const; + + Rivet::AnalysisHandler& addAnalysis(const std::string& analysisname); + + Rivet::AnalysisHandler& addAnalysis(const std::string& analysisname, std::map pars); + + Rivet::AnalysisHandler& addAnalyses(const std::vector& analysisnames); + + Rivet::AnalysisHandler& removeAnalysis(const std::string& analysisname); + + Rivet::AnalysisHandler& removeAnalyses(const std::vector& analysisnames); + + void init(const HepMC3::GenEvent& event); + + void analyze(const HepMC3::GenEvent& event); + + void analyze(const HepMC3::GenEvent* event); + + void finalize(); + + void readData(std::istream& istr, const std::string& fmt, bool preload); + + void readData(std::istream& istr, const std::string& fmt); + + void readData(const std::string& filename, bool preload); + + void readData(const std::string& filename); + + ::std::vector> getYodaAOs(bool includeraw) const; + + ::std::vector> getYodaAOs() const; + + void writeData(std::ostream& ostr, const std::string& fmt) const; + + void writeData(const std::string& filename) const; + + void dummy(YODA::AnalysisObject* arg_1) const; + + void setAODump(const std::string& dumpfile, int period); + + void setNoAODump(); + + void dump(const std::string& dumpfile, int period); + + void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches, bool equiv); + + void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches); + + void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches); + + void mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts); + + void mergeYodas(const std::vector& aofiles, const std::vector& delopts); + + void mergeYodas(const std::vector& aofiles); + + void merge(Rivet::AnalysisHandler& other); + + + // Wrappers for original constructors: + public: + AnalysisHandler(const std::string& runname); + AnalysisHandler(); + + // Special pointer-based constructor: + AnalysisHandler(Abstract_AnalysisHandler* in); + + // Copy constructor: + AnalysisHandler(const AnalysisHandler& in); + + // Assignment operator: + AnalysisHandler& operator=(const AnalysisHandler& in); + + // Destructor: + ~AnalysisHandler(); + + // Returns correctly casted pointer to Abstract class: + Abstract_AnalysisHandler* get_BEptr() const; + + }; + } + +} + + +#include "gambit/Backends/backend_undefs.hpp" + +#endif /* __wrapper_AnalysisHandler_decl_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_def.hh b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_def.hh new file mode 100644 index 0000000000..deccff8bb3 --- /dev/null +++ b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_def.hh @@ -0,0 +1,402 @@ +#ifndef __wrapper_AnalysisHandler_def_Rivet_3_1_8_hh__ +#define __wrapper_AnalysisHandler_def_Rivet_3_1_8_hh__ + +#include +#include +#include +#include +#include +#include +#include "HepMC3/GenEvent.h" +#include "YODA/AnalysisObject.h" + +#include "identification.hpp" + +namespace CAT_3(BACKENDNAME,_,SAFE_VERSION) +{ + + namespace Rivet + { + + // Member functions: + inline ::std::string AnalysisHandler::runName() const + { + return get_BEptr()->runName(); + } + + inline long unsigned int AnalysisHandler::numEvents() const + { + return get_BEptr()->numEvents(); + } + + inline double AnalysisHandler::sumW() const + { + return get_BEptr()->sumW(); + } + + inline double AnalysisHandler::sumW2() const + { + return get_BEptr()->sumW2(); + } + + inline const ::std::vector& AnalysisHandler::weightNames() const + { + return get_BEptr()->weightNames(); + } + + inline long unsigned int AnalysisHandler::numWeights() const + { + return get_BEptr()->numWeights(); + } + + inline bool AnalysisHandler::haveNamedWeights() const + { + return get_BEptr()->haveNamedWeights(); + } + + inline void AnalysisHandler::setWeightNames(const HepMC3::GenEvent& ge) + { + get_BEptr()->setWeightNames(ge); + } + + inline long unsigned int AnalysisHandler::defaultWeightIndex() const + { + return get_BEptr()->defaultWeightIndex(); + } + + inline void AnalysisHandler::setWeightCap(const double maxWeight) + { + get_BEptr()->setWeightCap(maxWeight); + } + + inline void AnalysisHandler::setNLOSmearing(double frac) + { + get_BEptr()->setNLOSmearing(frac); + } + + inline void AnalysisHandler::skipMultiWeights(bool ignore) + { + get_BEptr()->skipMultiWeights(ignore); + } + + inline void AnalysisHandler::skipMultiWeights() + { + get_BEptr()->skipMultiWeights__BOSS(); + } + + inline void AnalysisHandler::selectMultiWeights(std::string patterns) + { + get_BEptr()->selectMultiWeights(patterns); + } + + inline void AnalysisHandler::selectMultiWeights() + { + get_BEptr()->selectMultiWeights__BOSS(); + } + + inline void AnalysisHandler::deselectMultiWeights(std::string patterns) + { + get_BEptr()->deselectMultiWeights(patterns); + } + + inline void AnalysisHandler::deselectMultiWeights() + { + get_BEptr()->deselectMultiWeights__BOSS(); + } + + inline void AnalysisHandler::setNominalWeightName(std::string name) + { + get_BEptr()->setNominalWeightName(name); + } + + inline void AnalysisHandler::setNominalWeightName() + { + get_BEptr()->setNominalWeightName__BOSS(); + } + + inline void AnalysisHandler::setCrossSection(const std::vector>& xsecs, bool isUserSupplied) + { + get_BEptr()->setCrossSection(xsecs, isUserSupplied); + } + + inline void AnalysisHandler::setCrossSection(const std::vector>& xsecs) + { + get_BEptr()->setCrossSection__BOSS(xsecs); + } + + inline void AnalysisHandler::setCrossSection(const std::pair& xsec, bool isUserSupplied) + { + get_BEptr()->setCrossSection(xsec, isUserSupplied); + } + + inline void AnalysisHandler::setCrossSection(const std::pair& xsec) + { + get_BEptr()->setCrossSection__BOSS(xsec); + } + + inline void AnalysisHandler::setCrossSection(double xsec, double xsecerr, bool isUserSupplied) + { + get_BEptr()->setCrossSection(xsec, xsecerr, isUserSupplied); + } + + inline void AnalysisHandler::setCrossSection(double xsec, double xsecerr) + { + get_BEptr()->setCrossSection__BOSS(xsec, xsecerr); + } + + inline double AnalysisHandler::nominalCrossSection() const + { + return get_BEptr()->nominalCrossSection(); + } + + inline ::std::pair AnalysisHandler::beamIds() const + { + return get_BEptr()->beamIds(); + } + + inline double AnalysisHandler::sqrtS() const + { + return get_BEptr()->sqrtS(); + } + + inline void AnalysisHandler::checkBeams(bool check) + { + get_BEptr()->checkBeams(check); + } + + inline void AnalysisHandler::checkBeams() + { + get_BEptr()->checkBeams__BOSS(); + } + + inline void AnalysisHandler::setIgnoreBeams(bool ignore) + { + get_BEptr()->setIgnoreBeams(ignore); + } + + inline void AnalysisHandler::setIgnoreBeams() + { + get_BEptr()->setIgnoreBeams__BOSS(); + } + + inline ::std::vector AnalysisHandler::analysisNames() const + { + return get_BEptr()->analysisNames(); + } + + inline ::std::vector AnalysisHandler::stdAnalysisNames() const + { + return get_BEptr()->stdAnalysisNames(); + } + + inline Rivet::AnalysisHandler& AnalysisHandler::addAnalysis(const std::string& analysisname) + { + return get_BEptr()->addAnalysis__BOSS(analysisname).get_init_wref(); + } + + inline Rivet::AnalysisHandler& AnalysisHandler::addAnalysis(const std::string& analysisname, std::map pars) + { + return get_BEptr()->addAnalysis__BOSS(analysisname, pars).get_init_wref(); + } + + inline Rivet::AnalysisHandler& AnalysisHandler::addAnalyses(const std::vector& analysisnames) + { + return get_BEptr()->addAnalyses__BOSS(analysisnames).get_init_wref(); + } + + inline Rivet::AnalysisHandler& AnalysisHandler::removeAnalysis(const std::string& analysisname) + { + return get_BEptr()->removeAnalysis__BOSS(analysisname).get_init_wref(); + } + + inline Rivet::AnalysisHandler& AnalysisHandler::removeAnalyses(const std::vector& analysisnames) + { + return get_BEptr()->removeAnalyses__BOSS(analysisnames).get_init_wref(); + } + + inline void AnalysisHandler::init(const HepMC3::GenEvent& event) + { + get_BEptr()->init(event); + } + + inline void AnalysisHandler::analyze(const HepMC3::GenEvent& event) + { + get_BEptr()->analyze(event); + } + + inline void AnalysisHandler::analyze(const HepMC3::GenEvent* event) + { + get_BEptr()->analyze(event); + } + + inline void AnalysisHandler::finalize() + { + get_BEptr()->finalize(); + } + + inline void AnalysisHandler::readData(std::istream& istr, const std::string& fmt, bool preload) + { + get_BEptr()->readData(istr, fmt, preload); + } + + inline void AnalysisHandler::readData(std::istream& istr, const std::string& fmt) + { + get_BEptr()->readData__BOSS(istr, fmt); + } + + inline void AnalysisHandler::readData(const std::string& filename, bool preload) + { + get_BEptr()->readData(filename, preload); + } + + inline void AnalysisHandler::readData(const std::string& filename) + { + get_BEptr()->readData__BOSS(filename); + } + + inline ::std::vector> AnalysisHandler::getYodaAOs(bool includeraw) const + { + return get_BEptr()->getYodaAOs(includeraw); + } + + inline ::std::vector> AnalysisHandler::getYodaAOs() const + { + return get_BEptr()->getYodaAOs__BOSS(); + } + + inline void AnalysisHandler::writeData(std::ostream& ostr, const std::string& fmt) const + { + get_BEptr()->writeData(ostr, fmt); + } + + inline void AnalysisHandler::writeData(const std::string& filename) const + { + get_BEptr()->writeData(filename); + } + + inline void AnalysisHandler::dummy(YODA::AnalysisObject* arg_1) const + { + get_BEptr()->dummy(arg_1); + } + + inline void AnalysisHandler::setAODump(const std::string& dumpfile, int period) + { + get_BEptr()->setAODump(dumpfile, period); + } + + inline void AnalysisHandler::setNoAODump() + { + get_BEptr()->setNoAODump(); + } + + inline void AnalysisHandler::dump(const std::string& dumpfile, int period) + { + get_BEptr()->dump(dumpfile, period); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches, bool equiv) + { + get_BEptr()->mergeYodas(aofiles, delopts, addopts, matches, unmatches, equiv); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches, const std::vector& unmatches) + { + get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts, matches, unmatches); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts, const std::vector& matches) + { + get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts, matches); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts, const std::vector& addopts) + { + get_BEptr()->mergeYodas__BOSS(aofiles, delopts, addopts); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles, const std::vector& delopts) + { + get_BEptr()->mergeYodas__BOSS(aofiles, delopts); + } + + inline void AnalysisHandler::mergeYodas(const std::vector& aofiles) + { + get_BEptr()->mergeYodas__BOSS(aofiles); + } + + inline void AnalysisHandler::merge(Rivet::AnalysisHandler& other) + { + get_BEptr()->merge__BOSS(*other.get_BEptr()); + } + + + // Wrappers for original constructors: + inline AnalysisHandler::AnalysisHandler(const std::string& runname) : + WrapperBase(__factory0(runname)) + { + get_BEptr()->set_wptr(this); + get_BEptr()->set_delete_wrapper(false); + } + + inline AnalysisHandler::AnalysisHandler() : + WrapperBase(__factory1()) + { + get_BEptr()->set_wptr(this); + get_BEptr()->set_delete_wrapper(false); + } + + // Special pointer-based constructor: + inline AnalysisHandler::AnalysisHandler(Abstract_AnalysisHandler* in) : + WrapperBase(in) + { + get_BEptr()->set_wptr(this); + get_BEptr()->set_delete_wrapper(false); + } + + // Copy constructor: + inline AnalysisHandler::AnalysisHandler(const AnalysisHandler& in) : + WrapperBase(in.get_BEptr()->pointer_copy__BOSS()) + { + get_BEptr()->set_wptr(this); + get_BEptr()->set_delete_wrapper(false); + } + + // Assignment operator: + inline AnalysisHandler& AnalysisHandler::operator=(const AnalysisHandler& in) + { + if (this != &in) + { + get_BEptr()->pointer_assign__BOSS(in.get_BEptr()); + } + return *this; + } + + + // Destructor: + inline AnalysisHandler::~AnalysisHandler() + { + if (get_BEptr() != 0) + { + get_BEptr()->set_delete_wrapper(false); + if (can_delete_BEptr()) + { + delete BEptr; + BEptr = 0; + } + } + set_delete_BEptr(false); + } + + // Returns correctly casted pointer to Abstract class: + inline Abstract_AnalysisHandler* Rivet::AnalysisHandler::get_BEptr() const + { + return dynamic_cast(BEptr); + } + } + +} + + +#include "gambit/Backends/backend_undefs.hpp" + +#endif /* __wrapper_AnalysisHandler_def_Rivet_3_1_8_hh__ */ diff --git a/Backends/include/gambit/Backends/default_bossed_versions.hpp b/Backends/include/gambit/Backends/default_bossed_versions.hpp index 56d90d9a38..9b9604bc61 100644 --- a/Backends/include/gambit/Backends/default_bossed_versions.hpp +++ b/Backends/include/gambit/Backends/default_bossed_versions.hpp @@ -30,6 +30,6 @@ #define Default_Pythia 8_212 #define Default_HepLike 2_0 #define Default_vevacious 1_0 -#define Default_Rivet 3_1_5 +#define Default_Rivet 3_1_8 // Defaults added by GUM (do not remove this comment). diff --git a/Backends/include/gambit/Backends/frontends/Contur_2_1_1.hpp b/Backends/include/gambit/Backends/frontends/Contur_2_4_4.hpp similarity index 94% rename from Backends/include/gambit/Backends/frontends/Contur_2_1_1.hpp rename to Backends/include/gambit/Backends/frontends/Contur_2_4_4.hpp index e2ee802032..82a8593e6b 100644 --- a/Backends/include/gambit/Backends/frontends/Contur_2_1_1.hpp +++ b/Backends/include/gambit/Backends/frontends/Contur_2_4_4.hpp @@ -19,13 +19,14 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 June +/// \date 2023 May, June /// /// ********************************************* #define BACKENDNAME Contur #define BACKENDLANG Python3 -#define VERSION 2.1.1 -#define SAFE_VERSION 2_1_1 +#define VERSION 2.4.4 +#define SAFE_VERSION 2_4_4 #define REFERENCE Butterworth:2016sqg LOAD_LIBRARY diff --git a/Backends/include/gambit/Backends/frontends/Rivet_3_1_5.hpp b/Backends/include/gambit/Backends/frontends/Rivet_3_1_8.hpp similarity index 77% rename from Backends/include/gambit/Backends/frontends/Rivet_3_1_5.hpp rename to Backends/include/gambit/Backends/frontends/Rivet_3_1_8.hpp index 864b8e56c5..b9c9284986 100644 --- a/Backends/include/gambit/Backends/frontends/Rivet_3_1_5.hpp +++ b/Backends/include/gambit/Backends/frontends/Rivet_3_1_8.hpp @@ -2,7 +2,7 @@ // ********************************************* /// \file /// -/// Frontend header generated by BOSS for GAMBIT backend Rivet 3.1.5. +/// Frontend header generated by BOSS for GAMBIT backend Rivet 3.1.8. /// /// ********************************************* /// @@ -15,22 +15,22 @@ #ifndef EXCLUDE_YODA #ifndef EXCLUDE_HEPMC -#include "gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp" +#include "gambit/Backends/backend_types/Rivet_3_1_8/identification.hpp" LOAD_LIBRARY namespace Gambit { - namespace Backends - { - namespace Rivet_3_1_5 + namespace Backends + { + namespace Rivet_3_1_8 + { + namespace Rivet { - namespace Rivet - { - typedef ::Rivet_3_1_5::Rivet::AnalysisHandler AnalysisHandler; - } + typedef ::Rivet_3_1_8::Rivet::AnalysisHandler AnalysisHandler; } - } + } + } } // Functions diff --git a/Backends/patches/contur/2.1.1/patch_contur_2.1.1.dif b/Backends/patches/contur/2.1.1/patch_contur_2.1.1.dif deleted file mode 100644 index 124b8f2480..0000000000 --- a/Backends/patches/contur/2.1.1/patch_contur_2.1.1.dif +++ /dev/null @@ -1,38 +0,0 @@ -diff -rupN contur-2.1.1_original/contur/data/build_covariance.py contur-2.1.1_patched/contur/data/build_covariance.py ---- contur-2.1.1_original/contur/data/build_covariance.py 2021-09-26 16:58:41.000000000 +0200 -+++ contur-2.1.1_patched/contur/data/build_covariance.py 2023-02-20 16:46:47.086196512 +0100 -@@ -37,6 +37,7 @@ class CovarianceBuilder(object): - errMap_values[ibin]=0 - ibin=ibin+1 - for source in self.ao.variations(): -+ source = source.encode("utf-8") # GAMBIT patch - if len(source)>0 and not b"stat" in source and not b"Uncor" in source and not b"uncor" in source: - systErrs = np.zeros(self.nbins) - fracErrs = np.zeros(self.nbins) -diff -rupN contur-2.1.1_original/contur/util/utils.py contur-2.1.1_patched/contur/util/utils.py ---- contur-2.1.1_original/contur/util/utils.py 2021-09-26 16:58:41.000000000 +0200 -+++ contur-2.1.1_patched/contur/util/utils.py 2023-02-20 16:48:41.182701916 +0100 -@@ -16,12 +16,17 @@ import logging - - import scipy.stats as spstat - --## Import the tqdm progress-bar if possible, otherwise fall back to a safe do-nothing option --try: -- from tqdm import tqdm as progress_bar --except ImportError: -- def progress_bar(iterable, **kwargs): -- return iterable -+# GAMBIT patch to avoid importing tqdm below -+def progress_bar(iterable, **kwargs): -+ return iterable -+ -+# ## Import the tqdm progress-bar if possible, otherwise fall back to a safe do-nothing option -+# try: -+# from tqdm import tqdm as progress_bar -+# except ImportError: -+# def progress_bar(iterable, **kwargs): -+# return iterable -+ - - def mkoutdir(outdir): - """ diff --git a/Backends/patches/contur/2.4.4/patch_contur_2.4.4.dif b/Backends/patches/contur/2.4.4/patch_contur_2.4.4.dif new file mode 100644 index 0000000000..a545611522 --- /dev/null +++ b/Backends/patches/contur/2.4.4/patch_contur_2.4.4.dif @@ -0,0 +1,27 @@ +diff -rupN contur-2.4.4_original/contur/util/utils.py contur-2.4.4_patched/contur/util/utils.py +--- contur-2.4.4_original/contur/util/utils.py 2021-09-26 16:58:41.000000000 +0200 ++++ contur-2.4.4_patched/contur/util/utils.py 2023-02-20 16:48:41.182701916 +0100 +@@ -16,12 +16,17 @@ import logging + + import scipy.stats as spstat + +-## Import the tqdm progress-bar if possible, otherwise fall back to a safe do-nothing option +-try: +- from tqdm import tqdm as progress_bar +-except ImportError: +- def progress_bar(iterable, **kwargs): +- return iterable ++# GAMBIT patch to avoid importing tqdm below ++def progress_bar(iterable, **kwargs): ++ return iterable ++ ++# ## Import the tqdm progress-bar if possible, otherwise fall back to a safe do-nothing option ++# try: ++# from tqdm import tqdm as progress_bar ++# except ImportError: ++# def progress_bar(iterable, **kwargs): ++# return iterable ++ + + def mkoutdir(outdir): + """ \ No newline at end of file diff --git a/Backends/patches/rivet/3.1.5/make_patch_rivet_3.1.5.sh b/Backends/patches/rivet/3.1.5/make_patch_rivet_3.1.5.sh deleted file mode 100755 index f5eed2e926..0000000000 --- a/Backends/patches/rivet/3.1.5/make_patch_rivet_3.1.5.sh +++ /dev/null @@ -1,20 +0,0 @@ -cd ../../../downloaded -tar -xvf *rivet* -echo "diff -rupN Rivet-3.1.5/Makefile.in ../installed/rivet/3.1.5/Makefile.in" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/Makefile.in ../installed/rivet/3.1.5/Makefile.in >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/include/Rivet/Makefile.in ../installed/rivet/3.1.5/include/Rivet/Makefile.in" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/include/Rivet/Makefile.in ../installed/rivet/3.1.5/include/Rivet/Makefile.in >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/src/Core/Makefile.in ../installed/rivet/3.1.5/src/Core/Makefile.in" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/src/Core/Makefile.in ../installed/rivet/3.1.5/src/Core/Makefile.in >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.5/include/Rivet/AnalysisHandler.hh" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.5/include/Rivet/AnalysisHandler.hh >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.5/include/Rivet/Tools/RivetHepMC.hh" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.5/include/Rivet/Tools/RivetHepMC.hh >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.5/src/Core/AnalysisHandler.c" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.5/src/Core/AnalysisHandler.cc >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/analyses/Makefile.in ../installed/rivet/3.1.5/analyses/Makefile.in" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/analyses/Makefile.in ../installed/rivet/3.1.5/analyses/Makefile.in >> patch_rivet_3.1.5.dif -echo "diff -rupN Rivet-3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc ../installed/rivet/3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc" >> patch_rivet_3.1.5.dif -diff -rupN Rivet-3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc ../installed/rivet/3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc >> patch_rivet_3.1.5.dif -mv patch_rivet_3.1.5.dif ../patches/rivet/3.1.5/ -cd ../patches/rivet/3.1.5 diff --git a/Backends/patches/rivet/3.1.5/patch_rivet_3.1.5.dif b/Backends/patches/rivet/3.1.5/patch_rivet_3.1.5.dif deleted file mode 100644 index 0c07fdf2ef..0000000000 --- a/Backends/patches/rivet/3.1.5/patch_rivet_3.1.5.dif +++ /dev/null @@ -1,483 +0,0 @@ -diff -rupN Rivet-3.1.5/Makefile.in ../installed/rivet/3.1.5/Makefile.in ---- Rivet-3.1.5/Makefile.in 2021-11-05 18:37:59.000000000 +0100 -+++ ../installed/rivet/3.1.5/Makefile.in 2023-02-22 16:18:38.813232777 +0100 -@@ -455,6 +455,20 @@ pkgconfigdir = $(libdir)/pkgconfig - dist_pkgconfig_DATA = rivet.pc - DEST = login.hepforge.org:rivet/downloads/ - all: all-recursive -+# Added by GAMBIT -+libRivet.so: -+ cd ${top_builddir}/src/Core/yamlcpp && ${MAKE} $(AM_MAKEFLAGS) librivet-yaml-cpp.la -+ cd ${top_builddir}/src/Core && ${MAKE} $(AM_MAKEFLAGS) libRivetCore.la -+ cd ${top_builddir}/src/Projections && ${MAKE} $(AM_MAKEFLAGS) libRivetProjections.la -+ cd ${top_builddir}/src/Tools && ${MAKE} $(AM_MAKEFLAGS) libRivetTools.la -+ cd ${top_builddir}/src/AnalysisTools && ${MAKE} $(AM_MAKEFLAGS) libRivetAnalysisTools.la -+ cd ${top_builddir}/src && ${MAKE} $(AM_MAKEFLAGS) libRivet.la -+ cd ${top_builddir}/analyses && ${MAKE} $(AM_MAKEFLAGS) install -+ cd ${top_builddir}/pyext && ${MAKE} $(AM_MAKEFLAGS) install -+ mkdir -p ${libdir} -+ if test -e ${top_builddir}/src/.libs/libRivet.so ; then cp ${top_builddir}/src/.libs/libRivet.so ${libdir}/libRivet.so ; fi -+ if test -e ${top_builddir}/src/.libs/libRivet.dylib ; then cp ${top_builddir}/src/.libs/libRivet.dylib ${libdir}/libRivet.so ; fi -+ - - .SUFFIXES: - am--refresh: Makefile -@@ -527,6 +541,7 @@ mostlyclean-libtool: - - clean-libtool: - -rm -rf .libs _libs -+ -rm -rf ${libdir} - - distclean-libtool: - -rm -f libtool config.lt -diff -rupN Rivet-3.1.5/include/Rivet/Makefile.in ../installed/rivet/3.1.5/include/Rivet/Makefile.in ---- Rivet-3.1.5/include/Rivet/Makefile.in 2021-11-05 18:38:00.000000000 +0100 -+++ ../installed/rivet/3.1.5/include/Rivet/Makefile.in 2023-02-22 16:05:03.433033018 +0100 -@@ -377,10 +377,10 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --nobase_dist_noinst_HEADERS = Tools/osdir.hh Math/eigen3/COPYING.GPL \ -- Math/eigen3/README.md -+nobase_dist_noinst_HEADERS = Tools/osdir.hh - - # TODO: Move to Rivet/AnalysisTools header dir? -+# Modified by GAMBIT - nobase_pkginclude_HEADERS = Rivet.hh Run.hh Event.hh ParticleBase.hh \ - Particle.fhh Particle.hh Jet.fhh Jet.hh Projection.fhh \ - Projection.hh ProjectionApplier.hh ProjectionHandler.hh \ -@@ -456,174 +456,23 @@ - Math/Vector3.hh Math/VectorN.hh Math/MatrixN.hh \ - Math/MathConstants.hh Math/Vectors.hh Math/LorentzTrans.hh \ - Math/Matrix3.hh Math/MathUtils.hh Math/Vector4.hh Math/Math.hh \ -- Math/Units.hh Math/Constants.hh Math/eigen3/Cholesky \ -- Math/eigen3/Core Math/eigen3/Dense Math/eigen3/Eigenvalues \ -- Math/eigen3/Geometry Math/eigen3/Householder \ -- Math/eigen3/Jacobi Math/eigen3/LU Math/eigen3/QR \ -- Math/eigen3/src/Cholesky/LDLT.h Math/eigen3/src/Cholesky/LLT.h \ -- Math/eigen3/src/Core/arch/AltiVec/Complex.h \ -- Math/eigen3/src/Core/arch/AltiVec/MathFunctions.h \ -- Math/eigen3/src/Core/arch/AltiVec/PacketMath.h \ -- Math/eigen3/src/Core/arch/AVX/Complex.h \ -- Math/eigen3/src/Core/arch/AVX/MathFunctions.h \ -- Math/eigen3/src/Core/arch/AVX/PacketMath.h \ -- Math/eigen3/src/Core/arch/AVX/TypeCasting.h \ -- Math/eigen3/src/Core/arch/AVX512/MathFunctions.h \ -- Math/eigen3/src/Core/arch/AVX512/PacketMath.h \ -- Math/eigen3/src/Core/arch/CUDA/Complex.h \ -- Math/eigen3/src/Core/arch/CUDA/Half.h \ -- Math/eigen3/src/Core/arch/CUDA/MathFunctions.h \ -- Math/eigen3/src/Core/arch/CUDA/PacketMath.h \ -- Math/eigen3/src/Core/arch/CUDA/PacketMathHalf.h \ -- Math/eigen3/src/Core/arch/CUDA/TypeCasting.h \ -- Math/eigen3/src/Core/arch/Default/Settings.h \ -- Math/eigen3/src/Core/arch/NEON/Complex.h \ -- Math/eigen3/src/Core/arch/NEON/MathFunctions.h \ -- Math/eigen3/src/Core/arch/NEON/PacketMath.h \ -- Math/eigen3/src/Core/arch/SSE/Complex.h \ -- Math/eigen3/src/Core/arch/SSE/MathFunctions.h \ -- Math/eigen3/src/Core/arch/SSE/PacketMath.h \ -- Math/eigen3/src/Core/arch/SSE/TypeCasting.h \ -- Math/eigen3/src/Core/arch/ZVector/Complex.h \ -- Math/eigen3/src/Core/arch/ZVector/MathFunctions.h \ -- Math/eigen3/src/Core/arch/ZVector/PacketMath.h \ -- Math/eigen3/src/Core/Array.h Math/eigen3/src/Core/ArrayBase.h \ -- Math/eigen3/src/Core/ArrayWrapper.h \ -- Math/eigen3/src/Core/Assign.h \ -- Math/eigen3/src/Core/AssignEvaluator.h \ -- Math/eigen3/src/Core/BandMatrix.h Math/eigen3/src/Core/Block.h \ -- Math/eigen3/src/Core/BooleanRedux.h \ -- Math/eigen3/src/Core/CommaInitializer.h \ -- Math/eigen3/src/Core/ConditionEstimator.h \ -- Math/eigen3/src/Core/CoreEvaluators.h \ -- Math/eigen3/src/Core/CoreIterators.h \ -- Math/eigen3/src/Core/CwiseBinaryOp.h \ -- Math/eigen3/src/Core/CwiseNullaryOp.h \ -- Math/eigen3/src/Core/CwiseTernaryOp.h \ -- Math/eigen3/src/Core/CwiseUnaryOp.h \ -- Math/eigen3/src/Core/CwiseUnaryView.h \ -- Math/eigen3/src/Core/DenseBase.h \ -- Math/eigen3/src/Core/DenseCoeffsBase.h \ -- Math/eigen3/src/Core/DenseStorage.h \ -- Math/eigen3/src/Core/Diagonal.h \ -- Math/eigen3/src/Core/DiagonalMatrix.h \ -- Math/eigen3/src/Core/DiagonalProduct.h \ -- Math/eigen3/src/Core/Dot.h Math/eigen3/src/Core/EigenBase.h \ -- Math/eigen3/src/Core/functors/AssignmentFunctors.h \ -- Math/eigen3/src/Core/functors/BinaryFunctors.h \ -- Math/eigen3/src/Core/functors/NullaryFunctors.h \ -- Math/eigen3/src/Core/functors/StlFunctors.h \ -- Math/eigen3/src/Core/functors/TernaryFunctors.h \ -- Math/eigen3/src/Core/functors/UnaryFunctors.h \ -- Math/eigen3/src/Core/Fuzzy.h \ -- Math/eigen3/src/Core/GeneralProduct.h \ -- Math/eigen3/src/Core/GenericPacketMath.h \ -- Math/eigen3/src/Core/GlobalFunctions.h \ -- Math/eigen3/src/Core/Inverse.h Math/eigen3/src/Core/IO.h \ -- Math/eigen3/src/Core/Map.h Math/eigen3/src/Core/MapBase.h \ -- Math/eigen3/src/Core/MathFunctions.h \ -- Math/eigen3/src/Core/MathFunctionsImpl.h \ -- Math/eigen3/src/Core/Matrix.h \ -- Math/eigen3/src/Core/MatrixBase.h \ -- Math/eigen3/src/Core/NestByValue.h \ -- Math/eigen3/src/Core/NoAlias.h \ -- Math/eigen3/src/Core/NumTraits.h \ -- Math/eigen3/src/Core/PermutationMatrix.h \ -- Math/eigen3/src/Core/PlainObjectBase.h \ -- Math/eigen3/src/Core/Product.h \ -- Math/eigen3/src/Core/ProductEvaluators.h \ -- Math/eigen3/src/Core/products/GeneralBlockPanelKernel.h \ -- Math/eigen3/src/Core/products/GeneralMatrixMatrix.h \ -- Math/eigen3/src/Core/products/GeneralMatrixMatrixTriangular.h \ -- Math/eigen3/src/Core/products/GeneralMatrixVector.h \ -- Math/eigen3/src/Core/products/Parallelizer.h \ -- Math/eigen3/src/Core/products/SelfadjointMatrixMatrix.h \ -- Math/eigen3/src/Core/products/SelfadjointMatrixVector.h \ -- Math/eigen3/src/Core/products/SelfadjointProduct.h \ -- Math/eigen3/src/Core/products/SelfadjointRank2Update.h \ -- Math/eigen3/src/Core/products/TriangularMatrixMatrix.h \ -- Math/eigen3/src/Core/products/TriangularMatrixVector.h \ -- Math/eigen3/src/Core/products/TriangularSolverMatrix.h \ -- Math/eigen3/src/Core/products/TriangularSolverVector.h \ -- Math/eigen3/src/Core/Random.h Math/eigen3/src/Core/Redux.h \ -- Math/eigen3/src/Core/Ref.h Math/eigen3/src/Core/Replicate.h \ -- Math/eigen3/src/Core/ReturnByValue.h \ -- Math/eigen3/src/Core/Reverse.h Math/eigen3/src/Core/Select.h \ -- Math/eigen3/src/Core/SelfAdjointView.h \ -- Math/eigen3/src/Core/SelfCwiseBinaryOp.h \ -- Math/eigen3/src/Core/Solve.h Math/eigen3/src/Core/SolverBase.h \ -- Math/eigen3/src/Core/SolveTriangular.h \ -- Math/eigen3/src/Core/StableNorm.h \ -- Math/eigen3/src/Core/Stride.h Math/eigen3/src/Core/Swap.h \ -- Math/eigen3/src/Core/Transpose.h \ -- Math/eigen3/src/Core/Transpositions.h \ -- Math/eigen3/src/Core/TriangularMatrix.h \ -- Math/eigen3/src/Core/util/BlasUtil.h \ -- Math/eigen3/src/Core/util/Constants.h \ -- Math/eigen3/src/Core/util/DisableStupidWarnings.h \ -- Math/eigen3/src/Core/util/ForwardDeclarations.h \ -- Math/eigen3/src/Core/util/Macros.h \ -- Math/eigen3/src/Core/util/Memory.h \ -- Math/eigen3/src/Core/util/Meta.h \ -- Math/eigen3/src/Core/util/MKL_support.h \ -- Math/eigen3/src/Core/util/NonMPL2.h \ -- Math/eigen3/src/Core/util/ReenableStupidWarnings.h \ -- Math/eigen3/src/Core/util/StaticAssert.h \ -- Math/eigen3/src/Core/util/XprHelper.h \ -- Math/eigen3/src/Core/VectorBlock.h \ -- Math/eigen3/src/Core/VectorwiseOp.h \ -- Math/eigen3/src/Core/Visitor.h \ -- Math/eigen3/src/Eigenvalues/ComplexEigenSolver.h \ -- Math/eigen3/src/Eigenvalues/ComplexSchur.h \ -- Math/eigen3/src/Eigenvalues/EigenSolver.h \ -- Math/eigen3/src/Eigenvalues/GeneralizedEigenSolver.h \ -- Math/eigen3/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h \ -- Math/eigen3/src/Eigenvalues/HessenbergDecomposition.h \ -- Math/eigen3/src/Eigenvalues/MatrixBaseEigenvalues.h \ -- Math/eigen3/src/Eigenvalues/RealQZ.h \ -- Math/eigen3/src/Eigenvalues/RealSchur.h \ -- Math/eigen3/src/Eigenvalues/SelfAdjointEigenSolver.h \ -- Math/eigen3/src/Eigenvalues/Tridiagonalization.h \ -- Math/eigen3/src/Geometry/AlignedBox.h \ -- Math/eigen3/src/Geometry/AngleAxis.h \ -- Math/eigen3/src/Geometry/arch/Geometry_SSE.h \ -- Math/eigen3/src/Geometry/EulerAngles.h \ -- Math/eigen3/src/Geometry/Homogeneous.h \ -- Math/eigen3/src/Geometry/Hyperplane.h \ -- Math/eigen3/src/Geometry/OrthoMethods.h \ -- Math/eigen3/src/Geometry/ParametrizedLine.h \ -- Math/eigen3/src/Geometry/Quaternion.h \ -- Math/eigen3/src/Geometry/Rotation2D.h \ -- Math/eigen3/src/Geometry/RotationBase.h \ -- Math/eigen3/src/Geometry/Scaling.h \ -- Math/eigen3/src/Geometry/Transform.h \ -- Math/eigen3/src/Geometry/Translation.h \ -- Math/eigen3/src/Geometry/Umeyama.h \ -- Math/eigen3/src/Householder/BlockHouseholder.h \ -- Math/eigen3/src/Householder/Householder.h \ -- Math/eigen3/src/Householder/HouseholderSequence.h \ -- Math/eigen3/src/Jacobi/Jacobi.h \ -- Math/eigen3/src/LU/arch/Inverse_SSE.h \ -- Math/eigen3/src/LU/Determinant.h \ -- Math/eigen3/src/LU/FullPivLU.h \ -- Math/eigen3/src/LU/InverseImpl.h \ -- Math/eigen3/src/LU/PartialPivLU.h Math/eigen3/src/misc/Image.h \ -- Math/eigen3/src/misc/Kernel.h \ -- Math/eigen3/src/misc/RealSvd2x2.h \ -- Math/eigen3/src/plugins/ArrayCwiseBinaryOps.h \ -- Math/eigen3/src/plugins/ArrayCwiseUnaryOps.h \ -- Math/eigen3/src/plugins/BlockMethods.h \ -- Math/eigen3/src/plugins/CommonCwiseBinaryOps.h \ -- Math/eigen3/src/plugins/CommonCwiseUnaryOps.h \ -- Math/eigen3/src/plugins/MatrixCwiseBinaryOps.h \ -- Math/eigen3/src/plugins/MatrixCwiseUnaryOps.h \ -- Math/eigen3/src/QR/ColPivHouseholderQR.h \ -- Math/eigen3/src/QR/CompleteOrthogonalDecomposition.h \ -- Math/eigen3/src/QR/FullPivHouseholderQR.h \ -- Math/eigen3/src/QR/HouseholderQR.h \ -- Math/eigen3/src/SVD/BDCSVD.h Math/eigen3/src/SVD/JacobiSVD.h \ -- Math/eigen3/src/SVD/SVDBase.h \ -- Math/eigen3/src/SVD/UpperBidiagonalization.h Math/eigen3/SVD -+ Math/Units.hh Math/Constants.hh \ -+ ../gambit/Backends/abstractbase.hpp \ -+ ../gambit/Backends/backend_undefs.hpp \ -+ ../gambit/Backends/wrapperbase.hpp \ -+ ../gambit/Backends/abstracttypedefs.hh \ -+ ../gambit/Backends/BOSS_wrapperutils.hh \ -+ ../gambit/Backends/wrappertypedefs.hh \ -+ ../gambit/Backends/function_return_utils.hpp \ -+ ../gambit/Utils/cats.hpp \ -+ ../backend_types/Rivet_3_1_5/identification.hpp \ -+ ../backend_types/Rivet_3_1_5/forward_decls_abstract_classes.hh \ -+ ../backend_types/Rivet_3_1_5/forward_decls_wrapper_classes.hh \ -+ ../backend_types/Rivet_3_1_5/abstract_AnalysisHandler.hh \ -+ ../backend_types/Rivet_3_1_5/wrapper_AnalysisHandler.hh \ -+ ../backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_decl.hh \ -+ ../backend_types/Rivet_3_1_5/wrapper_AnalysisHandler_def.hh -+ - all: all-am - - .SUFFIXES: -diff -rupN Rivet-3.1.5/src/Core/Makefile.in ../installed/rivet/3.1.5/src/Core/Makefile.in ---- Rivet-3.1.5/src/Core/Makefile.in 2021-11-05 18:38:00.000000000 +0100 -+++ ../installed/rivet/3.1.5/src/Core/Makefile.in 2023-02-22 16:05:03.433033018 +0100 -@@ -110,6 +110,7 @@ CONFIG_CLEAN_VPATH_FILES = - LTLIBRARIES = $(noinst_LTLIBRARIES) - libRivetCore_la_DEPENDENCIES = \ - $(builddir)/yamlcpp/librivet-yaml-cpp.la -+# Modified by GAMBIT - am_libRivetCore_la_OBJECTS = libRivetCore_la-Run.lo \ - libRivetCore_la-Event.lo libRivetCore_la-Jet.lo \ - libRivetCore_la-Particle.lo \ -@@ -118,7 +119,12 @@ am_libRivetCore_la_OBJECTS = libRivetCor - libRivetCore_la-AnalysisLoader.lo \ - libRivetCore_la-AnalysisInfo.lo \ - libRivetCore_la-AnalysisHandler.lo \ -- libRivetCore_la-ProjectionHandler.lo -+ libRivetCore_la-ProjectionHandler.lo \ -+ libRivetCore_la-BOSS_wrapperutils.lo \ -+ libRivetCore_la-BOSS_AnalysisHandler.lo \ -+ libRivetCore_la-BOSS_factory_AnalysisHandler.lo \ -+ libRivetCore_la-BOSS_func_addAnalysisLibPath.lo \ -+ libRivetCore_la-BOSS_function_return_utils.lo - libRivetCore_la_OBJECTS = $(am_libRivetCore_la_OBJECTS) - AM_V_lt = $(am__v_lt_@AM_V@) - am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -@@ -431,11 +437,17 @@ top_srcdir = @top_srcdir@ - SUBDIRS = yamlcpp - EXTRA_DIST = zstr - noinst_LTLIBRARIES = libRivetCore.la -+# Modified by GAMBIT - libRivetCore_la_SOURCES = \ - Run.cc Event.cc Jet.cc Particle.cc \ - ProjectionApplier.cc Projection.cc \ - Analysis.cc AnalysisLoader.cc AnalysisInfo.cc \ -- AnalysisHandler.cc ProjectionHandler.cc -+ AnalysisHandler.cc ProjectionHandler.cc \ -+ BOSS_wrapperutils.cc \ -+ BOSS_AnalysisHandler.cc \ -+ BOSS_factory_AnalysisHandler.cc \ -+ BOSS_func_addAnalysisLibPath.cc \ -+ BOSS_function_return_utils.cc - - libRivetCore_la_CPPFLAGS = -I$(srcdir)/yamlcpp -DYAML_NAMESPACE=RIVET_YAML $(AM_CPPFLAGS) - libRivetCore_la_LIBADD = $(builddir)/yamlcpp/librivet-yaml-cpp.la -@@ -504,6 +516,12 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-ProjectionApplier.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-ProjectionHandler.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-Run.Plo@am__quote@ -+# Added by GAMBIT -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo@am__quote@ - - .cc.o: - @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@@ -603,6 +621,42 @@ libRivetCore_la-ProjectionHandler.lo: Pr - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-ProjectionHandler.lo `test -f 'ProjectionHandler.cc' || echo '$(srcdir)/'`ProjectionHandler.cc - -+# Added by GAMBIT -+libRivetCore_la-BOSS_wrapperutils.lo: BOSS_wrapperutils.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_wrapperutils.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Tpo -c -o libRivetCore_la-BOSS_wrapperutils.lo `test -f 'BOSS_wrapperutils.cc' || echo '$(srcdir)/'`BOSS_wrapperutils.cc -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Tpo $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_wrapperutils.cc' object='libRivetCore_la-BOSS_wrapperutils.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_wrapperutils.lo `test -f 'BOSS_wrapperutils.cc' || echo '$(srcdir)/'`BOSS_wrapperutils.cc -+ -+libRivetCore_la-BOSS_AnalysisHandler.lo: BOSS_AnalysisHandler.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_AnalysisHandler.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Tpo -c -o libRivetCore_la-BOSS_AnalysisHandler.lo `test -f 'BOSS_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_AnalysisHandler.cc -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Tpo $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_AnalysisHandler.cc' object='libRivetCore_la-BOSS_AnalysisHandler.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_AnalysisHandler.lo `test -f 'BOSS_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_AnalysisHandler.cc -+ -+libRivetCore_la-BOSS_factory_AnalysisHandler.lo: BOSS_factory_AnalysisHandler.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_factory_AnalysisHandler.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Tpo -c -o libRivetCore_la-BOSS_factory_AnalysisHandler.lo `test -f 'BOSS_factory_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_factory_AnalysisHandler.cc -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Tpo $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_factory_AnalysisHandler.cc' object='libRivetCore_la-BOSS_factory_AnalysisHandler.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_factory_AnalysisHandler.lo `test -f 'BOSS_factory_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_factory_AnalysisHandler.cc -+ -+libRivetCore_la-BOSS_func_addAnalysisLibPath.lo: BOSS_func_addAnalysisLibPath.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_func_addAnalysisLibPath.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Tpo -c -o libRivetCore_la-BOSS_func_addAnalysisLibPath.lo `test -f 'BOSS_func_addAnalysisLibPath.cc' || echo '$(srcdir)/'`BOSS_func_addAnalysisLibPath.cc -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Tpo $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_func_addAnalysisLibPath.cc' object='libRivetCore_la-BOSS_func_addAnalysisLibPath.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_func_addAnalysisLibPath.lo `test -f 'BOSS_func_addAnalysisLibPath.cc' || echo '$(srcdir)/'`BOSS_func_addAnalysisLibPath.cc -+ -+libRivetCore_la-BOSS_function_return_utils.lo: BOSS_function_return_utils.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_function_return_utils.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Tpo -c -o libRivetCore_la-BOSS_function_return_utils.lo `test -f 'BOSS_function_return_utils.cc' || echo '$(srcdir)/'`BOSS_function_return_utils.cc -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Tpo $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_function_return_utils.cc' object='libRivetCore_la-BOSS_function_return_utils.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_function_return_utils.lo `test -f 'BOSS_function_return_utils.cc' || echo '$(srcdir)/'`BOSS_function_return_utils.cc -+ - mostlyclean-libtool: - -rm -f *.lo - -diff -rupN Rivet-3.1.5/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.5/include/Rivet/AnalysisHandler.hh ---- Rivet-3.1.5/include/Rivet/AnalysisHandler.hh 2021-04-27 21:21:47.000000000 +0200 -+++ ../installed/rivet/3.1.5/include/Rivet/AnalysisHandler.hh 2023-02-22 16:05:03.433033018 +0100 -@@ -27,10 +27,10 @@ namespace Rivet { - AnalysisHandler(const string& runname=""); - - /// The copy constructor is deleted, so it can never be called. -- AnalysisHandler(const AnalysisHandler&) = delete; -+ //AnalysisHandler(const AnalysisHandler&) = delete; // Commented by GAMBIT - - /// The assignment operator is deleted, so it can never be called. -- AnalysisHandler& operator=(const AnalysisHandler&) = delete; -+ //AnalysisHandler& operator=(const AnalysisHandler&) = delete; // Commented by GAMBIT - - /// The destructor is not virtual, as this class should not be inherited from. - ~AnalysisHandler(); -@@ -267,6 +267,9 @@ namespace Rivet { - /// Write all analyses' plots (via getData) to the named file. - void writeData(const string& filename) const; - -+ // Added by GAMBIT, Dummy function to force BOSS to add the headers for the YODA::AnalysisObject type -+ void dummy(YODA::AnalysisObject*) const; -+ - /// @brief Configure the AnalysisObject dump rate and destination. - /// - /// Tell Rivet to dump intermediate result to a file named @a -diff -rupN Rivet-3.1.5/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.5/include/Rivet/Tools/RivetHepMC.hh ---- Rivet-3.1.5/include/Rivet/Tools/RivetHepMC.hh 2020-04-07 16:43:14.000000000 +0200 -+++ ../installed/rivet/3.1.5/include/Rivet/Tools/RivetHepMC.hh 2023-02-22 16:05:03.433033018 +0100 -@@ -8,7 +8,7 @@ - #include - - --#ifdef RIVET_ENABLE_HEPMC_3 -+//#ifdef RIVET_ENABLE_HEPMC_3 // Commented by GAMBIT - - #include "HepMC3/HepMC3.h" - #include "HepMC3/Relatives.h" -@@ -34,7 +34,8 @@ namespace Rivet { - using PdfInfo = RivetHepMC::GenPdfInfo; - } - --#else // HEPMC_2 -+// Commented by GAMBIT -+/*#else // HEPMC_2 - - #include "HepMC/GenEvent.h" - #include "HepMC/GenParticle.h" -@@ -75,7 +76,7 @@ namespace Rivet { - using PdfInfo = RivetHepMC::PdfInfo; - } - --#endif -+#endif*/ - - - namespace Rivet { -diff -rupN Rivet-3.1.5/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.5/src/Core/AnalysisHandler.c ---- Rivet-3.1.5/src/Core/AnalysisHandler.cc 2021-07-11 23:34:05.000000000 +0200 -+++ ../installed/rivet/3.1.5/src/Core/AnalysisHandler.cc 2023-02-22 16:05:03.433033018 +0100 -@@ -121,7 +121,8 @@ namespace Rivet { - if (num_anas_requested > 0 && analysisNames().empty()) { - MSG_ERROR("All analyses were incompatible with the first event's beams\n" - << "Exiting, since this probably wasn't intentional!"); -- exit(1); -+ //exit(1); // Commented by GAMBIT -+ throw std::runtime_error("All analyses were incompatible with the first event's beams\n"); // Added by GAMBIT - } - - // Warn if any analysis' status is not unblemished -@@ -916,6 +917,12 @@ namespace Rivet { - - } - -+ // Added by GAMBIT, dummy function to force BOSS to add the headers for the YODA::AnalysisObject type -+ void AnalysisHandler::dummy(YODA::AnalysisObject* object) const { -+ -+ // Nothing to do here -+ -+ } - - string AnalysisHandler::runName() const { - return _runname; -diff -rupN Rivet-3.1.5/analyses/Makefile.in ../installed/rivet/3.1.5/analyses/Makefile.in ---- Rivet-3.1.5/analyses/Makefile.in 2021-11-05 18:37:59.000000000 +0100 -+++ ../installed/rivet/3.1.5/analyses/Makefile.in 2023-02-22 16:05:03.437033017 +0100 -@@ -329,12 +329,16 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = -Wno-portability --@ENABLE_ANALYSES_TRUE@PLUGIN_DIRS = $(shell ls -d $(srcdir)/plugin*) -+#@ENABLE_ANALYSES_TRUE@PLUGIN_DIRS = $(shell ls -d $(srcdir)/plugin*) # Commented by GAMBIT -+@ENABLE_ANALYSES_TRUE@PLUGIN_DIRS = $(shell ls -d $(srcdir)/pluginATLAS $(srcdir)/pluginCMS) # Added by GAMBIT - @ENABLE_ANALYSES_TRUE@PLUGIN_NAMES = $(notdir $(subst plugin,,$(PLUGIN_DIRS))) - @ENABLE_ANALYSES_TRUE@PLUGIN_LIBS = $(patsubst %,Rivet%Analyses.so,$(PLUGIN_NAMES)) --@ENABLE_ANALYSES_TRUE@PLUGIN_INFOFILES = $(shell ls $(abs_srcdir)/plugin*/*.info) --@ENABLE_ANALYSES_TRUE@PLUGIN_PLOTFILES = $(shell ls $(abs_srcdir)/plugin*/*.plot) --@ENABLE_ANALYSES_TRUE@PLUGIN_YODAFILES = $(shell ls $(abs_srcdir)/plugin*/*.yoda*) -+#@ENABLE_ANALYSES_TRUE@PLUGIN_INFOFILES = $(shell ls $(abs_srcdir)/plugin*/*.info) # Commented by GAMBIT -+@ENABLE_ANALYSES_TRUE@PLUGIN_INFOFILES = $(shell ls $(abs_srcdir)/pluginATLAS/*.info $(abs_srcdir)/pluginCMS/*.info) # Added by GAMBIT -+#@ENABLE_ANALYSES_TRUE@PLUGIN_PLOTFILES = $(shell ls $(abs_srcdir)/plugin*/*.plot) # Commented by GAMBIT -+@ENABLE_ANALYSES_TRUE@PLUGIN_PLOTFILES = $(shell ls $(abs_srcdir)/pluginATLAS/*.plot $(abs_srcdir)/pluginCMS/*.plot) # Added by GAMBIT -+#@ENABLE_ANALYSES_TRUE@PLUGIN_YODAFILES = $(shell ls $(abs_srcdir)/plugin*/*.yoda*) # Commented by GAMBIT -+@ENABLE_ANALYSES_TRUE@PLUGIN_YODAFILES = $(shell ls $(abs_srcdir)/pluginATLAS/*.yoda* $(abs_srcdir)/pluginCMS/*.yoda*) # Added by GAMBIT - @ENABLE_ANALYSES_TRUE@PLUGIN_DATAFILES = $(PLUGIN_INFOFILES) $(PLUGIN_PLOTFILES) $(PLUGIN_YODAFILES) - @ENABLE_ANALYSES_TRUE@CLEANFILES = $(PLUGIN_LIBS) - @ENABLE_ANALYSES_TRUE@EXTRA_DIST = $(PLUGIN_DIRS) -diff -rupN Rivet-3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc ../installed/rivet/3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc ---- Rivet-3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc 2021-11-08 21:05:48.000000000 +0100 -+++ ../installed/rivet/3.1.5/analyses/pluginCMS/CMS_2018_I1663958.cc 2023-02-22 16:05:03.437033017 +0100 -@@ -120,7 +120,7 @@ namespace Rivet { - - const Particles& photons = apply(event, "MyPhotons").particles(Cuts::abseta < 2.4 && Cuts::pT > 15*GeV); - for (const Particle& ph : photons) { -- double isolation = sum(filter_select(isopars, deltaRLess(ph, 0.4)), pT, 0.); -+ double isolation = sum(filter_select(isopars, deltaRLess(ph, 0.4)), Kin::pT, 0.); - isolation = isolation/ph.pt() - 1.; - if (isolation > 0.25) continue; - additionalobjects += ph; -diff -rupN Rivet-3.1.5/include/Rivet/Math/MatrixN.hh ../installed/rivet/3.1.5/include/Rivet/Math/MatrixN.hh ---- Rivet-3.1.5/include/Rivet/Math/MatrixN.hh 2020-01-06 11:36:55.000000000 +0100 -+++ ../installed/rivet/3.1.5/include/Rivet/Math/MatrixN.hh 2024-01-16 12:03:46.891785360 +0100 -@@ -5,7 +5,7 @@ - #include "Rivet/Math/MathUtils.hh" - #include "Rivet/Math/Vectors.hh" - --#include "Rivet/Math/eigen3/Dense" -+#include - - namespace Rivet { - -diff -rupN Rivet-3.1.5/include/Rivet/Math/VectorN.hh ../installed/rivet/3.1.5/include/Rivet/Math/VectorN.hh ---- Rivet-3.1.5/include/Rivet/Math/VectorN.hh 2020-01-06 11:36:55.000000000 +0100 -+++ ../installed/rivet/3.1.5/include/Rivet/Math/VectorN.hh 2024-01-16 12:03:46.891785360 +0100 -@@ -4,7 +4,7 @@ - #include "Rivet/Math/MathConstants.hh" - #include "Rivet/Math/MathUtils.hh" - --#include "Rivet/Math/eigen3/Dense" -+#include - - namespace Rivet { - diff --git a/Backends/patches/rivet/3.1.8/make_patch_rivet_3.1.8.sh b/Backends/patches/rivet/3.1.8/make_patch_rivet_3.1.8.sh new file mode 100755 index 0000000000..679f9a975d --- /dev/null +++ b/Backends/patches/rivet/3.1.8/make_patch_rivet_3.1.8.sh @@ -0,0 +1,21 @@ +cd ../../../downloaded +tar -xvf *rivet* +echo "diff -rupN Rivet-3.1.8/Makefile.in ../installed/rivet/3.1.8/Makefile.in" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/Makefile.in ../installed/rivet/3.1.8/Makefile.in >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/include/Rivet/Makefile.in ../installed/rivet/3.1.8/include/Rivet/Makefile.in" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/include/Rivet/Makefile.in ../installed/rivet/3.1.8/include/Rivet/Makefile.in >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/src/Core/Makefile.in ../installed/rivet/3.1.8/src/Core/Makefile.in" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/src/Core/Makefile.in ../installed/rivet/3.1.8/src/Core/Makefile.in >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.8/include/Rivet/AnalysisHandler.hh" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.8/include/Rivet/AnalysisHandler.hh >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.8/include/Rivet/Tools/RivetHepMC.hh" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.8/include/Rivet/Tools/RivetHepMC.hh >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/analyses/Makefile.in ../installed/rivet/3.1.8/analyses/Makefile.in" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/analyses/Makefile.in ../installed/rivet/3.1.8/analyses/Makefile.in >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.8/src/Core/AnalysisHandler.cc" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.8/src/Core/AnalysisHandler.cc >> patch_rivet_3.1.8.dif +echo "diff -rupN Rivet-3.1.8/configure ../installed/rivet/3.1.8/configure" >> patch_rivet_3.1.8.dif +diff -rupN Rivet-3.1.8/configure ../installed/rivet/3.1.8/configure >> patch_rivet_3.1.8.dif + +mv patch_rivet_3.1.8.dif ../patches/rivet/3.1.8/ +cd ../patches/rivet/3.1.8 diff --git a/Backends/patches/rivet/3.1.8/patch_rivet_3.1.8.dif b/Backends/patches/rivet/3.1.8/patch_rivet_3.1.8.dif new file mode 100644 index 0000000000..d822fdf485 --- /dev/null +++ b/Backends/patches/rivet/3.1.8/patch_rivet_3.1.8.dif @@ -0,0 +1,327 @@ +diff -rupN Rivet-3.1.8/Makefile.in ../installed/rivet/3.1.8/Makefile.in +--- Rivet-3.1.8/Makefile.in 2022-09-28 14:32:46.000000000 +0100 ++++ ../installed/rivet/3.1.8/Makefile.in 2023-04-14 14:55:04.096679845 +0100 +@@ -457,6 +457,21 @@ pkgconfigdir = $(libdir)/pkgconfig + dist_pkgconfig_DATA = rivet.pc + DEST = login.hepforge.org:rivet/downloads/ + all: all-recursive ++# Added by GAMBIT ++libRivet.so: ++ cd ${top_builddir}/src/Core/yamlcpp && ${MAKE} $(AM_MAKEFLAGS) librivet-yaml-cpp.la ++ cd ${top_builddir}/src/Core && ${MAKE} $(AM_MAKEFLAGS) libRivetCore.la ++ cd ${top_builddir}/src/Projections && ${MAKE} $(AM_MAKEFLAGS) libRivetProjections.la ++ cd ${top_builddir}/src/Tools && ${MAKE} $(AM_MAKEFLAGS) libRivetTools.la ++ cd ${top_builddir}/src/AnalysisTools && ${MAKE} $(AM_MAKEFLAGS) libRivetAnalysisTools.la ++ cd ${top_builddir}/src && ${MAKE} $(AM_MAKEFLAGS) libRivet.la ++ cd ${top_builddir}/analyses && ${MAKE} $(AM_MAKEFLAGS) install ++ cd ${top_builddir}/pyext && ${MAKE} $(AM_MAKEFLAGS) install ++ cd ${top_builddir}/analyses && ${MAKE} $(AM_MAKEFLAGS) RivetATLASAnalyses.so RivetCMSAnalyses.so RivetLHCbAnalyses.so ++ mkdir -p ${libdir} ++ if test -e ${top_builddir}/src/.libs/libRivet.so ; then cp ${top_builddir}/src/.libs/libRivet.so ${libdir}/libRivet.so ; fi ++ if test -e ${top_builddir}/src/.libs/libRivet.dylib ; then cp ${top_builddir}/src/.libs/libRivet.dylib ${libdir}/libRivet.so ; fi ++ + + .SUFFIXES: + am--refresh: Makefile +@@ -529,6 +544,7 @@ mostlyclean-libtool: + + clean-libtool: + -rm -rf .libs _libs ++ -rm -rf ${libdir} + + distclean-libtool: + -rm -f libtool config.lt +diff -rupN Rivet-3.1.8/include/Rivet/Makefile.in ../installed/rivet/3.1.8/include/Rivet/Makefile.in +--- Rivet-3.1.8/include/Rivet/Makefile.in 2022-09-28 14:33:10.000000000 +0100 ++++ ../installed/rivet/3.1.8/include/Rivet/Makefile.in 2023-04-14 15:30:58.413175143 +0100 +@@ -381,6 +381,7 @@ nobase_dist_noinst_HEADERS = Tools/osdir + Math/eigen3/README.md + + # TODO: Move to Rivet/AnalysisTools header dir? ++# Modified by GAMBIT + nobase_pkginclude_HEADERS = Rivet.hh Run.hh Event.hh ParticleBase.hh \ + Particle.fhh Particle.hh Jet.fhh Jet.hh Projection.fhh \ + Projection.hh ProjectionApplier.hh ProjectionHandler.hh \ +@@ -763,7 +764,21 @@ nobase_pkginclude_HEADERS = Rivet.hh RunF5 + Math/eigen3/src/SparseCore/SparseDiagonalProduct.h \ + Math/eigen3/src/SparseCore/SparseMatrixBase.h \ + Math/eigen3/src/SparseCore/SparseRef.h Math/eigen3/Geometry \ +- Math/eigen3/SparseCore ++ Math/eigen3/SparseCore \ ++ ../gambit/Backends/backend_undefs.hpp \ ++ ../gambit/Backends/wrapperbase.hpp \ ++ ../gambit/Backends/abstracttypedefs.hh \ ++ ../gambit/Backends/BOSS_wrapperutils.hh \ ++ ../gambit/Backends/wrappertypedefs.hh \ ++ ../gambit/Backends/function_return_utils.hpp \ ++ ../gambit/Utils/cats.hpp \ ++ ../backend_types/Rivet_3_1_8/identification.hpp \ ++ ../backend_types/Rivet_3_1_8/forward_decls_abstract_classes.hh \ ++ ../backend_types/Rivet_3_1_8/forward_decls_wrapper_classes.hh \ ++ ../backend_types/Rivet_3_1_8/abstract_AnalysisHandler.hh \ ++ ../backend_types/Rivet_3_1_8/wrapper_AnalysisHandler.hh \ ++ ../backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_decl.hh \ ++ ../backend_types/Rivet_3_1_8/wrapper_AnalysisHandler_def.hh + all: all-am + + .SUFFIXES: +diff -rupN Rivet-3.1.8/src/Core/Makefile.in ../installed/rivet/3.1.8/src/Core/Makefile.in +--- Rivet-3.1.8/src/Core/Makefile.in 2022-09-28 14:33:10.000000000 +0100 ++++ ../installed/rivet/3.1.8/src/Core/Makefile.in 2023-04-18 15:47:59.480540099 +0100 +@@ -118,7 +118,12 @@ am_libRivetCore_la_OBJECTS = libRivetCor + libRivetCore_la-AnalysisLoader.lo \ + libRivetCore_la-AnalysisInfo.lo \ + libRivetCore_la-AnalysisHandler.lo \ +- libRivetCore_la-ProjectionHandler.lo ++ libRivetCore_la-ProjectionHandler.lo \ ++ libRivetCore_la-BOSS_wrapperutils.lo \ ++ libRivetCore_la-BOSS_AnalysisHandler.lo \ ++ libRivetCore_la-BOSS_factory_AnalysisHandler.lo \ ++ libRivetCore_la-BOSS_func_addAnalysisLibPath.lo \ ++ libRivetCore_la-BOSS_function_return_utils.lo + libRivetCore_la_OBJECTS = $(am_libRivetCore_la_OBJECTS) + AM_V_lt = $(am__v_lt_@AM_V@) + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +@@ -143,6 +148,11 @@ am__depfiles_remade = ./$(DEPDIR)/libRiv + ./$(DEPDIR)/libRivetCore_la-AnalysisHandler.Plo \ + ./$(DEPDIR)/libRivetCore_la-AnalysisInfo.Plo \ + ./$(DEPDIR)/libRivetCore_la-AnalysisLoader.Plo \ ++ ./$(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo \ ++ ./$(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo \ ++ ./$(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo \ ++ ./$(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo \ ++ ./$(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo \ + ./$(DEPDIR)/libRivetCore_la-Event.Plo \ + ./$(DEPDIR)/libRivetCore_la-Jet.Plo \ + ./$(DEPDIR)/libRivetCore_la-Particle.Plo \ +@@ -446,7 +456,12 @@ libRivetCore_la_SOURCES = \ + Run.cc Event.cc Jet.cc Particle.cc \ + ProjectionApplier.cc Projection.cc \ + Analysis.cc AnalysisLoader.cc AnalysisInfo.cc \ +- AnalysisHandler.cc ProjectionHandler.cc ++ AnalysisHandler.cc ProjectionHandler.cc \ ++ BOSS_wrapperutils.cc \ ++ BOSS_AnalysisHandler.cc \ ++ BOSS_factory_AnalysisHandler.cc \ ++ BOSS_func_addAnalysisLibPath.cc \ ++ BOSS_function_return_utils.cc + + libRivetCore_la_CPPFLAGS = -I$(srcdir)/yamlcpp -DYAML_NAMESPACE=RIVET_YAML $(AM_CPPFLAGS) + libRivetCore_la_LIBADD = $(builddir)/yamlcpp/librivet-yaml-cpp.la +@@ -508,6 +523,11 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-AnalysisHandler.Plo@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-AnalysisInfo.Plo@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-AnalysisLoader.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-Event.Plo@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-Jet.Plo@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libRivetCore_la-Particle.Plo@am__quote@ # am--include-marker +@@ -620,6 +640,41 @@ libRivetCore_la-ProjectionHandler.lo: Pr + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-ProjectionHandler.lo `test -f 'ProjectionHandler.cc' || echo '$(srcdir)/'`ProjectionHandler.cc + ++libRivetCore_la-BOSS_wrapperutils.lo: BOSS_wrapperutils.cc ++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_wrapperutils.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Tpo -c -o libRivetCore_la-BOSS_wrapperutils.lo `test -f 'BOSS_wrapperutils.cc' || echo '$(srcdir)/'`BOSS_wrapperutils.cc ++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Tpo $(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_wrapperutils.cc' object='libRivetCore_la-BOSS_wrapperutils.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_wrapperutils.lo `test -f 'BOSS_wrapperutils.cc' || echo '$(srcdir)/'`BOSS_wrapperutils.cc ++ ++libRivetCore_la-BOSS_AnalysisHandler.lo: BOSS_AnalysisHandler.cc ++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_AnalysisHandler.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Tpo -c -o libRivetCore_la-BOSS_AnalysisHandler.lo `test -f 'BOSS_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_AnalysisHandler.cc ++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Tpo $(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_AnalysisHandler.cc' object='libRivetCore_la-BOSS_AnalysisHandler.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_AnalysisHandler.lo `test -f 'BOSS_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_AnalysisHandler.cc ++ ++libRivetCore_la-BOSS_factory_AnalysisHandler.lo: BOSS_factory_AnalysisHandler.cc ++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_factory_AnalysisHandler.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Tpo -c -o libRivetCore_la-BOSS_factory_AnalysisHandler.lo `test -f 'BOSS_factory_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_factory_AnalysisHandler.cc ++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Tpo $(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_factory_AnalysisHandler.cc' object='libRivetCore_la-BOSS_factory_AnalysisHandler.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_factory_AnalysisHandler.lo `test -f 'BOSS_factory_AnalysisHandler.cc' || echo '$(srcdir)/'`BOSS_factory_AnalysisHandler.cc ++ ++libRivetCore_la-BOSS_func_addAnalysisLibPath.lo: BOSS_func_addAnalysisLibPath.cc ++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_func_addAnalysisLibPath.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Tpo -c -o libRivetCore_la-BOSS_func_addAnalysisLibPath.lo `test -f 'BOSS_func_addAnalysisLibPath.cc' || echo '$(srcdir)/'`BOSS_func_addAnalysisLibPath.cc ++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Tpo $(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_func_addAnalysisLibPath.cc' object='libRivetCore_la-BOSS_func_addAnalysisLibPath.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_func_addAnalysisLibPath.lo `test -f 'BOSS_func_addAnalysisLibPath.cc' || echo '$(srcdir)/'`BOSS_func_addAnalysisLibPath.cc ++ ++libRivetCore_la-BOSS_function_return_utils.lo: BOSS_function_return_utils.cc ++@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libRivetCore_la-BOSS_function_return_utils.lo -MD -MP -MF $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Tpo -c -o libRivetCore_la-BOSS_function_return_utils.lo `test -f 'BOSS_function_return_utils.cc' || echo '$(srcdir)/'`BOSS_function_return_utils.cc ++@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Tpo $(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='BOSS_function_return_utils.cc' object='libRivetCore_la-BOSS_function_return_utils.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libRivetCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libRivetCore_la-BOSS_function_return_utils.lo `test -f 'BOSS_function_return_utils.cc' || echo '$(srcdir)/'`BOSS_function_return_utils.cc ++ + mostlyclean-libtool: + -rm -f *.lo + +@@ -828,6 +883,11 @@ distclean: distclean-recursive + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisHandler.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisInfo.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisLoader.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Event.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Jet.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Particle.Plo +@@ -884,6 +944,11 @@ maintainer-clean: maintainer-clean-recur + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisHandler.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisInfo.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-AnalysisLoader.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_AnalysisHandler.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_factory_AnalysisHandler.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_func_addAnalysisLibPath.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_function_return_utils.Plo ++ -rm -f ./$(DEPDIR)/libRivetCore_la-BOSS_wrapperutils.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Event.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Jet.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Particle.Plo +diff -rupN Rivet-3.1.8/include/Rivet/AnalysisHandler.hh ../installed/rivet/3.1.8/include/Rivet/AnalysisHandler.hh +--- Rivet-3.1.8/include/Rivet/AnalysisHandler.hh 2022-05-05 15:06:25.000000000 +0100 ++++ ../installed/rivet/3.1.8/include/Rivet/AnalysisHandler.hh 2023-04-14 14:55:04.096679845 +0100 +@@ -27,10 +27,10 @@ namespace Rivet { + AnalysisHandler(const string& runname=""); + + /// The copy constructor is deleted, so it can never be called. +- AnalysisHandler(const AnalysisHandler&) = delete; ++ //AnalysisHandler(const AnalysisHandler&) = delete; // Commented by GAMBIT + + /// The assignment operator is deleted, so it can never be called. +- AnalysisHandler& operator=(const AnalysisHandler&) = delete; ++ //AnalysisHandler& operator=(const AnalysisHandler&) = delete; // Commented by GAMBIT + + /// The destructor is not virtual, as this class should not be inherited from. + ~AnalysisHandler(); +@@ -281,6 +281,9 @@ namespace Rivet { + /// Write all analyses' plots (via getData) to the named file. + void writeData(const string& filename) const; + ++ // Added by GAMBIT, Dummy function to force BOSS to add the headers for the YODA::AnalysisObject type ++ void dummy(YODA::AnalysisObject*) const; ++ + /// @brief Configure the AnalysisObject dump rate and destination. + /// + /// Tell Rivet to dump intermediate result to a file named @a +diff -rupN Rivet-3.1.8/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/3.1.8/include/Rivet/Tools/RivetHepMC.hh +--- Rivet-3.1.8/include/Rivet/Tools/RivetHepMC.hh 2022-05-05 12:26:28.000000000 +0100 ++++ ../installed/rivet/3.1.8/include/Rivet/Tools/RivetHepMC.hh 2023-04-14 14:55:04.096679845 +0100 +@@ -8,7 +8,7 @@ + #include + + +-#ifdef RIVET_ENABLE_HEPMC_3 ++//#ifdef RIVET_ENABLE_HEPMC_3 // Commented by GAMBIT + + #include "HepMC3/HepMC3.h" + #include "HepMC3/Relatives.h" +@@ -34,7 +34,8 @@ namespace Rivet { + using PdfInfo = RivetHepMC::GenPdfInfo; + } + +-#else // HEPMC_2 ++// Commented by GAMBIT ++/*#else // HEPMC_2 + + #include "HepMC/GenEvent.h" + #include "HepMC/GenParticle.h" +@@ -75,7 +76,7 @@ namespace Rivet { + using PdfInfo = RivetHepMC::PdfInfo; + } + +-#endif ++#endif*/ + + + namespace Rivet { +diff -rupN Rivet-3.1.8/analyses/Makefile.in ../installed/rivet/3.1.8/analyses/Makefile.in +--- Rivet-3.1.8/analyses/Makefile.in 2022-09-28 14:33:10.000000000 +0100 ++++ ../installed/rivet/3.1.8/analyses/Makefile.in 2023-04-19 21:07:06.580845603 +0100 +@@ -329,10 +329,10 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + AUTOMAKE_OPTIONS = -Wno-portability +-PLUGIN_DIRS = $(shell ls -d $(srcdir)/plugin*) ++PLUGIN_DIRS = $(shell ls -d $(srcdir)/pluginCMS $(srcdir)/pluginATLAS $(srcdir)/pluginLHCb) + PLUGIN_NAMES = $(notdir $(subst plugin,,$(PLUGIN_DIRS))) + PLUGIN_LIBS = $(patsubst %,Rivet%Analyses.so,$(PLUGIN_NAMES)) +-PLUGIN_DATAFILES = $(shell ls $(abs_srcdir)/plugin*/*.*) ++PLUGIN_DATAFILES = $(shell ls $(abs_srcdir)/pluginCMS/*.* $(abs_srcdir)/pluginATLAS/*.* $(abs_srcdir)/pluginLHCb/*.*) + CLEANFILES = $(PLUGIN_LIBS) + EXTRA_DIST = $(PLUGIN_DIRS) examples + all: all-am +@@ -449,8 +449,8 @@ distclean-generic: + maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +-@ENABLE_ANALYSES_FALSE@install-data-local: + @ENABLE_ANALYSES_FALSE@install-exec-local: ++@ENABLE_ANALYSES_FALSE@install-data-local: + @ENABLE_ANALYSES_FALSE@uninstall-local: + clean: clean-am + +@@ -567,7 +567,7 @@ RivetTristanAnalyses.so: $(filter-out $( + + @ENABLE_ANALYSES_TRUE@all-local: $(PLUGIN_LIBS) $(PLUGIN_DATAFILES) + @ENABLE_ANALYSES_TRUE@ mkdir -p $(builddir)/data +-@ENABLE_ANALYSES_TRUE@ for pdir in $(abs_srcdir)/plugin*; do $(LN_S) -f $${pdir}/*.* $(builddir)/data; done ++@ENABLE_ANALYSES_TRUE@ for pdir in $(abs_srcdir)/pluginCMS $(abs_srcdir)/pluginATLAS $(abs_srcdir)/pluginLHCb; do $(LN_S) -f $${pdir}/*.* $(builddir)/data; done + + @ENABLE_ANALYSES_TRUE@install-exec-local: $(PLUGIN_LIBS) + @ENABLE_ANALYSES_TRUE@ $(MKDIR_P) $(DESTDIR)$(libdir)/Rivet +@@ -576,7 +576,7 @@ RivetTristanAnalyses.so: $(filter-out $( + @ENABLE_ANALYSES_TRUE@install-data-local: $(PLUGIN_DATAFILES) + @ENABLE_ANALYSES_TRUE@ @echo "Installing analysis data files..." + @ENABLE_ANALYSES_TRUE@ $(mkdir_p) $(DESTDIR)$(pkgdatadir) +-@ENABLE_ANALYSES_TRUE@ for pdir in $(srcdir)/plugin* $(srcdir)/examples; do $(FCP) $${pdir}/*.* $(DESTDIR)$(pkgdatadir)/; done ++@ENABLE_ANALYSES_TRUE@ for pdir in $(srcdir)/pluginCMS $(srcdir)/pluginLHCb $(srcdir)/pluginATLAS $(srcdir)/examples; do $(FCP) $${pdir}/*.* $(DESTDIR)$(pkgdatadir)/; done + + @ENABLE_ANALYSES_TRUE@uninstall-local: + @ENABLE_ANALYSES_TRUE@ cd $(DESTDIR)$(libdir) && rm -f $(PLUGIN_LIBS) +diff -rupN Rivet-3.1.8/src/Core/AnalysisHandler.cc ../installed/rivet/3.1.8/src/Core/AnalysisHandler.cc +--- Rivet-3.1.8/src/Core/AnalysisHandler.cc 2022-07-26 09:34:20.000000000 +0100 ++++ ../installed/rivet/3.1.8/src/Core/AnalysisHandler.cc 2023-04-14 14:55:04.100679799 +0100 +@@ -123,7 +123,8 @@ namespace Rivet { + if (num_anas_requested > 0 && analysisNames().empty()) { + MSG_ERROR("All analyses were incompatible with the first event's beams\n" + << "Exiting, since this probably wasn't intentional!"); +- exit(1); ++ //exit(1); // Commented by GAMBIT ++ throw std::runtime_error("All analyses were incompatible with the first event's beams\n"); // Added by GAMBIT + } + + // Warn if any analysis' status is not unblemished +@@ -1087,6 +1088,12 @@ namespace Rivet { + + } + ++ // Added by GAMBIT, dummy function to force BOSS to add the headers for the YODA::AnalysisObject type ++ void AnalysisHandler::dummy(YODA::AnalysisObject* object) const { ++ ++ // Nothing to do here ++ ++ } + + string AnalysisHandler::runName() const { + return _runname; +diff -rupN Rivet-3.1.8/configure ../installed/rivet/3.1.8/configure +--- Rivet-3.1.8/configure 2023-04-27 14:14:13.000000000 +0200 ++++ ../installed/rivet/3.1.8/configure 2023-05-11 12:18:52.365835672 +0200 +@@ -21243,7 +21243,7 @@ printf "%s\n" "$fjversion" >&6; } + if test "$fjmajor" -lt 3 -o "$fjminor" -lt 2 ; then #< only works for v3.x + as_fn_error $? "FastJet version 3.2.0 or later is required" "$LINENO" 5 + fi +- FASTJETLIBADD="$($FJCONFIG --libs --plugins --rpath=no)" ++ FASTJETLIBADD="$($FJCONFIG --libs --plugins)" + else + FASTJETLIBADD="-L$FASTJETLIBPATH -l$FASTJETLIBNAME -lfastjetplugins" + fi diff --git a/Backends/patches/rivet/3.1.5/touch_files.sh b/Backends/patches/rivet/3.1.8/touch_files.sh similarity index 100% rename from Backends/patches/rivet/3.1.5/touch_files.sh rename to Backends/patches/rivet/3.1.8/touch_files.sh diff --git a/Backends/scripts/BOSS/configs/rivet_3_1_5.py b/Backends/scripts/BOSS/configs/rivet_3_1_8.py similarity index 93% rename from Backends/scripts/BOSS/configs/rivet_3_1_5.py rename to Backends/scripts/BOSS/configs/rivet_3_1_8.py index 8a2c9240cc..bb8e9c82c1 100644 --- a/Backends/scripts/BOSS/configs/rivet_3_1_5.py +++ b/Backends/scripts/BOSS/configs/rivet_3_1_8.py @@ -22,13 +22,13 @@ castxml_cc_id = 'gnu' # Reference compiler: 'gnu', 'gnu-c', 'msvc', 'msvc-c' castxml_cc = 'g++' # Name a specific compiler: 'g++', 'cl', ... -castxml_cc_opt = '-std=c++11' # Additional option string passed to the compiler in castxml_cc (e.g. '-m32') +castxml_cc_opt = '-std=c++14' # Additional option string passed to the compiler in castxml_cc (e.g. '-m32') # ~~~~~ GAMBIT-specific options ~~~~~ gambit_backend_name = 'Rivet' -gambit_backend_version = '3.1.5' +gambit_backend_version = '3.1.8' gambit_backend_reference = 'Bierlich:2019rhm' gambit_base_namespace = '' @@ -44,8 +44,8 @@ include_paths = [ '../../../Backends/installed/rivet/'+gambit_backend_version+'/include', '../../../contrib/HepMC3-3.2.5/local/include', - '../../../contrib/YODA-1.9.7/local/include', - '../../../Backends/installed/fastjet/3.3.2/local/include' + '../../../contrib/YODA-1.9.9/local/include', + '../../../Backends/installed/fastjet/3.4.0/local/include' ] base_paths = ['../../../Backends/installed/rivet/'+gambit_backend_version] @@ -76,7 +76,7 @@ header_extension = '.hh' source_extension = '.cc' -indent = 3 +indent = 2 # ~~~~~ Information about other known types ~~~~~ diff --git a/Backends/src/backend_types/Contur.cpp b/Backends/src/backend_types/Contur.cpp index 2841239918..e80d562b70 100644 --- a/Backends/src/backend_types/Contur.cpp +++ b/Backends/src/backend_types/Contur.cpp @@ -13,6 +13,7 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 October +/// \date 2023 May /// /// ********************************************* @@ -23,24 +24,33 @@ namespace Gambit #ifdef HAVE_PYBIND11 - void Contur_output::print_Contur_output_debug(std::ostream&outstream) const + void Contur_subOutput::print_Contur_subOutput_debug(std::ostream&outstream) const { - outstream << "\nContur Output Object.\n\tLLR is: " << - LLR << "\n\tPool LLR's:"; + outstream << "\n\tContur subOutput Object.\n\t\tLLR is: " << + LLR << "\n\t\tPool LLR's:"; for (auto pool : pool_LLR) { - outstream << "\n\t\t" << pool.first << ": " << pool.second; + outstream << "\n\t\t\t" << pool.first << ": " << pool.second; } - outstream << "\n\tPool Histotags:"; + outstream << "\n\t\tPool Histotags:"; for (auto pool : pool_tags) { - outstream << "\n\t\t" << pool.first << ": " << pool.second; + outstream << "\n\t\t\t" << pool.first << ": " << pool.second; } outstream << std::endl; } - Contur_output merge_contur_outputs(const Contur_output& output1, const Contur_output& output2) + void Contur_output::print_Contur_output_debug(std::ostream&outstream) const + { + outstream << "\nContur Output Object.\n"; + for (const str & bkg : _bkg_types){ + outstream << "\t" << bkg << ":"; + outputs.at(bkg).print_Contur_subOutput_debug(outstream); + } + } + + Contur_subOutput merge_contur_subOutputs(const Contur_subOutput& output1, const Contur_subOutput& output2) { map_str_str new_pool_tags {}; map_str_dbl new_pool_LLR {}; @@ -65,7 +75,15 @@ namespace Gambit } //Return the object - return Contur_output(output1.LLR + output2.LLR, new_pool_LLR, new_pool_tags); + return Contur_subOutput(output1.LLR + output2.LLR, new_pool_LLR, new_pool_tags); + } + + Contur_output merge_contur_outputs(const Contur_output& output1, const Contur_output& output2){ + Contur_output out; + for (const str & bkg : output1._bkg_types){ + out.outputs[bkg] = merge_contur_subOutputs(output1.outputs.at(bkg), output2.outputs.at(bkg)); + } + return out; } //This assumes that the same contur instances belong in each run. If this isn't the case, something very bad has gone wrong! diff --git a/Backends/src/frontends/Contur_2_1_1.cpp b/Backends/src/frontends/Contur_2_4_4.cpp similarity index 77% rename from Backends/src/frontends/Contur_2_1_1.cpp rename to Backends/src/frontends/Contur_2_4_4.cpp index 5b12e833fa..f536800f63 100644 --- a/Backends/src/frontends/Contur_2_1_1.cpp +++ b/Backends/src/frontends/Contur_2_4_4.cpp @@ -15,6 +15,7 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 June +/// \date 2023 May /// /// \author Anders Kvellestad /// (anders.kvellestad@fys.uio.no) @@ -23,7 +24,7 @@ /// ********************************************* #include "gambit/Backends/frontend_macros.hpp" -#include "gambit/Backends/frontends/Contur_2_1_1.hpp" +#include "gambit/Backends/frontends/Contur_2_4_4.hpp" #ifdef HAVE_PYBIND11 @@ -37,6 +38,7 @@ void Contur_add_GAMBIT_default_args(pybind11::dict& args_dict) { args_dict[pybind11::cast("QUIET")] = pybind11::bool_(true); + args_dict[pybind11::cast("NOMULTIP")] = pybind11::bool_(true); args_dict[pybind11::cast("YODASTREAM_API_OUTPUT_OPTIONS")] = pybind11::list(); args_dict[pybind11::cast("YODASTREAM_API_OUTPUT_OPTIONS")].attr("append")("LLR"); args_dict[pybind11::cast("YODASTREAM_API_OUTPUT_OPTIONS")].attr("append")("Pool_LLR"); @@ -83,14 +85,33 @@ //to study. void Contur_get_analyses_from_beam(std::vector& analyses, std::string& beamString) { - std::vector obtained_analyses; - # pragma omp critical + pybind11::list beams; + pybind11::object theBeam; + bool beamFound = false; + #pragma omp critical { - obtained_analyses = Contur.attr("static_db").attr("getAnalyses")(pybind11::none(), beamString).cast>(); + beams = Contur.attr("static_db").attr("get_beams")(); + } + for (size_t i = 0; i <= pybind11::len(beams); ++i){ + if (beams[i].attr("id").cast() == beamString){ + theBeam = beams[i]; + beamFound = true; + break; + } + } + if (! beamFound ){ + // TODO: give appropriate warning that we're returning an empty vector. + analyses = {}; + return; } - for (std::string analysis : obtained_analyses){ - analyses.push_back(analysis); + # pragma omp critical + { + pybind11::list anaObjectList = Contur.attr("static_db").attr("get_analyses")(pybind11::none(), pybind11::none(), theBeam); + for (const pybind11::handle anaObject : anaObjectList){ + analyses.push_back(anaObject.attr("name").cast()); + } } + } } END_BE_NAMESPACE diff --git a/Backends/src/frontends/Rivet_3_1_5.cpp b/Backends/src/frontends/Rivet_3_1_8.cpp similarity index 89% rename from Backends/src/frontends/Rivet_3_1_5.cpp rename to Backends/src/frontends/Rivet_3_1_8.cpp index 6d40e1e5fc..8d2fb64a52 100644 --- a/Backends/src/frontends/Rivet_3_1_5.cpp +++ b/Backends/src/frontends/Rivet_3_1_8.cpp @@ -13,6 +13,7 @@ /// \author Tomek Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 July +/// \date 2023 April, May /// ********************************************* #include "gambit/Backends/frontend_macros.hpp" @@ -20,7 +21,7 @@ #ifndef EXCLUDE_YODA #ifndef EXCLUDE_HEPMC -#include "gambit/Backends/frontends/Rivet_3_1_5.hpp" +#include "gambit/Backends/frontends/Rivet_3_1_8.hpp" #include "gambit/Utils/util_functions.hpp" @@ -31,7 +32,7 @@ BE_INI_FUNCTION if (scan_level) { std::string rivet_analyses_dir = std::string(GAMBIT_DIR)+ - "/Backends/installed/rivet/3.1.5/analyses"; + "/Backends/installed/rivet/3.1.8/analyses"; //Check if the rivet_analyses_dir if it actually exists: if it //doesn't then installation probably hasn't installed properly. diff --git a/ColliderBit/examples/solo.cpp b/ColliderBit/examples/solo.cpp index eb803b95eb..e91d3d6390 100755 --- a/ColliderBit/examples/solo.cpp +++ b/ColliderBit/examples/solo.cpp @@ -27,10 +27,10 @@ #define NULIKE_VERSION "1.0.9" #define NULIKE_SAFE_VERSION 1_0_9 -#define RIVET_VERSION "3.1.5" -#define RIVET_SAFE_VERSION 3_1_5 -#define CONTUR_VERSION "2.1.1" -#define CONTUR_SAFE_VERSION 2_1_1 +#define RIVET_VERSION "3.1.8" +#define RIVET_SAFE_VERSION 3_1_8 +#define CONTUR_VERSION "2.4.4" +#define CONTUR_SAFE_VERSION 2_4_4 #define FULLLIKES_VERSION "1.0" #define FULLLIKES_SAFE_VERSION 1_0 diff --git a/ColliderBit/src/ColliderBit_measurements.cpp b/ColliderBit/src/ColliderBit_measurements.cpp index 1964fc12f2..248f8c5b90 100644 --- a/ColliderBit/src/ColliderBit_measurements.cpp +++ b/ColliderBit/src/ColliderBit_measurements.cpp @@ -15,6 +15,7 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date June 2021 +/// \date May 2023 /// /// ********************************************* @@ -317,13 +318,13 @@ namespace Gambit #pragma omp critical { ///Call contur - temp_result = BEreq::Contur_Measurements(std::move(yodastream), yaml_contur_options); + Contur_output altOut = BEreq::Contur_Measurements(std::move(yodastream), yaml_contur_options); + temp_result = altOut; } } results.push_back(temp_result); #ifdef COLLIDERBIT_DEBUG - std::cout << "\n\nSINGLE COLLIDER CCONTUR OBTAINED: "; temp_result.print_Contur_output_debug(); #endif } @@ -450,8 +451,13 @@ namespace Gambit void Contur_LHC_measurements_LogLike(double &result) { using namespace Pipes::Contur_LHC_measurements_LogLike; + //Which background type to use in the calculation. + const static string background_type = runOptions->getValueOrDef("DATABG", "background"); + if (background_type != "DATABG" && background_type != "SMBG" && background_type != "EXP"){ + ColliderBit_error().raise(LOCAL_INFO, "Requested Contur Background type does not exist"); + } Contur_output contur_likelihood_object = *Dep::LHC_measurements; - result = contur_likelihood_object.LLR; + result = contur_likelihood_object.outputs.at(background_type).LLR; } // Extracts the likelihood value for every set of contur settings from a map @@ -463,7 +469,9 @@ namespace Gambit for (auto Contur_name : contur_likelihood_object) { - result[Contur_name.first + "_LLR"] = Contur_name.second.LLR; + for (const str & bkg : Contur_name.second._bkg_types){ + result[Contur_name.first + "_" + bkg + "_LLR"] = Contur_name.second.outputs.at(bkg).LLR; + } } } @@ -473,7 +481,11 @@ namespace Gambit using namespace Pipes::Multi_Contur_LHC_measurements_LogLike_single; Multi_Contur_output contur_likelihood_object = *Dep::LHC_measurements; static const std::string which_as_LLR = runOptions->getValueOrDef("Contur", "Use_as_likelihood"); - result = contur_likelihood_object[which_as_LLR].LLR; + static const string background_type = runOptions->getValueOrDef("DATABG", "background"); + if (background_type != "DATABG" && background_type != "SMBG" && background_type != "EXP"){ + ColliderBit_error().raise(LOCAL_INFO, "Requested Contur Background type does not exist"); + } + result = contur_likelihood_object[which_as_LLR].outputs.at(background_type).LLR; } // Extracts the likelihood contribution from each contur pool from Contur_output @@ -482,7 +494,7 @@ namespace Gambit using namespace Pipes::Contur_LHC_measurements_LogLike_perPool; std::stringstream summary_line; summary_line << "LHC Contur LogLikes per pool: "; - result = (*Dep::LHC_measurements).pool_LLR; + result = (*Dep::LHC_measurements).pool_LLR(); for (auto const& entry : result) { @@ -501,7 +513,7 @@ namespace Gambit Multi_Contur_output contur_likelihood_object = *Dep::LHC_measurements; for (const auto& contur_output_instance : contur_likelihood_object) { - for (auto const& pool_LLR_entry : contur_output_instance.second.pool_LLR) + for (auto const& pool_LLR_entry : contur_output_instance.second.pool_LLR()) { result[pool_LLR_entry.first + "_" + contur_output_instance.first] = pool_LLR_entry.second; } @@ -517,10 +529,10 @@ namespace Gambit // Note map_str_str will not print to hdf5! Use for ASCII debug only. void Contur_LHC_measurements_histotags_perPool(map_str_str &result) { - using namespace Pipes::Contur_LHC_measurements_LogLike_perPool; + using namespace Pipes::Contur_LHC_measurements_histotags_perPool; std::stringstream summary_line; summary_line << "LHC Contur LogLikes per pool: "; - result = (*Dep::LHC_measurements).pool_tags; + result = (*Dep::LHC_measurements).pool_tags(); for (auto const& entry : result) { @@ -542,7 +554,7 @@ namespace Gambit Multi_Contur_output contur_likelihood_object = *Dep::LHC_measurements; for (const auto& contur_output_instance : contur_likelihood_object) { - for (auto const& pool_LLR_entry : contur_output_instance.second.pool_tags) + for (auto const& pool_LLR_entry : contur_output_instance.second.pool_tags()) { result[pool_LLR_entry.first + "_" + contur_output_instance.first] = pool_LLR_entry.second; } diff --git a/HISTORY b/HISTORY index f6273647e1..e9928c43a0 100644 --- a/HISTORY +++ b/HISTORY @@ -3,8 +3,12 @@ GAMBIT Revision History Full details can be found in the git log. Only a summary of the changes in each new version is given here. +v2.4.4 +Bugfix release +- Fix bug on HEPLike url + v2.4.3 -Bufix release +Bugfix release - Remove usage of binary functions - Removed plc_data from building by default with backends - Used archived backends for broken links diff --git a/cmake/backends.cmake b/cmake/backends.cmake index 9d1a3c802c..4f49c76c0b 100644 --- a/cmake/backends.cmake +++ b/cmake/backends.cmake @@ -569,7 +569,7 @@ endif() # HepLike set(name "heplike") set(ver "2.0") -set(dl "https://github.com/tegonzalo/HEPLike/archive/v${ver}.zip") +set(dl "https://github.com/tegonzalo/HEPLike/archive/V${ver}.zip") set(dir "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}") set(md5 "a9b674b8a11037a15bfed69835aac1a6") set(HL_CXXFLAGS "${BACKEND_CXX_FLAGS} -I${yaml_INCLUDE_DIR}") @@ -1974,14 +1974,14 @@ endif() # Fastjet set(name "fastjet") -set(ver "3.3.2") -set(dl "http://fastjet.fr/repo/fastjet-3.3.2.tar.gz") -set(md5 "ca3708785c9194513717a54c1087bfb0") +set(ver "3.4.0") +set(dl "http://fastjet.fr/repo/fastjet-3.4.0.tar.gz") +set(md5 "69879b19006fb6dc7d0b98d01c5cd115") set(dir "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}") # OpenMP flags don't play nicely with clang and FastJet's antiquated libtoolized build system. string(REGEX REPLACE "-Xclang -fopenmp" "" FJ_C_FLAGS "${BACKEND_C_FLAGS}") string(REGEX REPLACE "-Xclang -fopenmp" "" FJ_CXX_FLAGS "${BACKEND_CXX_FLAGS}") -# FastJet 3.3.2 depends on std::auto_ptr which is removed in c++17, so we need to fall back to c++14 (or c++11) +# FastJet 3.4.0 depends on std::auto_ptr which is removed in c++17, so we need to fall back to c++14 (or c++11) string(REGEX REPLACE "-std=c\\+\\+17" "-std=c++14" FJ_CXX_FLAGS "${FJ_CXX_FLAGS}") string(REGEX REPLACE "-std=c\\+\\+17" "-std=c++14" FJ_C_FLAGS "${FJ_C_FLAGS}") set_compiler_warning("no-deprecated-declarations" FJ_CXX_FLAGS) @@ -2010,7 +2010,7 @@ set(dl "http://fastjet.hepforge.org/contrib/downloads/${name}-${ver}.tar.gz") set(md5 "b37674a8701af52b58ebced94a270877") set(dir "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}") set(fastjet_name "fastjet") -set(fastjet_ver "3.3.2") +set(fastjet_ver "3.4.0") set(fastjet_dir "${PROJECT_SOURCE_DIR}/Backends/installed/${fastjet_name}/${fastjet_ver}") set(FJCONTRIB_CXX_FLAGS "${FJ_CXX_FLAGS} -I${dir}/RecursiveTools") set(patch "${PROJECT_SOURCE_DIR}/Backends/patches/${name}/${ver}/patch_${name}_${ver}.dif") @@ -2040,17 +2040,17 @@ endif() # Rivet set(name "rivet") -set(ver "3.1.5") +set(ver "3.1.8") set(Rivet_ver "${ver}") set(dl "https://rivet.hepforge.org/downloads/?f=Rivet-${ver}.tar.gz") -set(md5 "7f3397b16386c0bfcb49420c2eb395b1") +set(md5 "e60c75562572905ed9984c67ada1241b") set(dir "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}") set(yoda_name "yoda") set(yoda_dir "${YODA_PATH}/local") set(hepmc_name "hepmc") set(hepmc_dir "${HEPMC_PATH}/local") set(fastjet_name "fastjet") -set(fastjet_ver "3.3.2") +set(fastjet_ver "3.4.0") set(fastjet_dir "${PROJECT_SOURCE_DIR}/Backends/installed/${fastjet_name}/${fastjet_ver}/local") set(fjcontrib_name "fjcontrib") set(fjcontrib_ver "1.041") @@ -2083,7 +2083,9 @@ set(ditch_if_absent "HepMC;YODA;c++14") gambit_find_python_module(cython) if(PY_cython_FOUND) set(pyext yes) + #Note weird extra pypath due to weird behaviour of 3.1.8 on some operating systems. set(Rivet_PY_PATH "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}/local/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages") + set(Rivet_alt_PY_PATH "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}/local/local/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/dist-packages") set(Rivet_LIB "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}/local/lib/libRivet.so") message(" Backends depending on Rivet's python extension will be enabled.") else() @@ -2102,7 +2104,7 @@ if(NOT ditched_${name}_${ver}) SOURCE_DIR ${dir} BUILD_IN_SOURCE 1 PATCH_COMMAND patch -p1 < ${patch} - CONFIGURE_COMMAND ./configure CC=${CMAKE_C_COMPILER} CFLAGS=${Rivet_C_FLAGS} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${Rivet_CXX_FLAGS} LDFLAGS=${Rivet_LD_FLAGS} CPPFLAGS=${Rivet_CPP_FLAGS} PYTHON=${PYTHON_EXECUTABLE} --with-yoda=${yoda_dir} --with-hepmc3=${hepmc_dir} -with-fastjet=${fastjet_dir} --prefix=${dir}/local --enable-shared=yes --enable-static=no --libdir=${dir}/local/lib --enable-pyext=${pyext} + CONFIGURE_COMMAND ./configure CC=${CMAKE_C_COMPILER} CFLAGS=${Rivet_C_FLAGS} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${Rivet_CXX_FLAGS} LDFLAGS=${Rivet_LD_FLAGS} CPPFLAGS=${Rivet_CPP_FLAGS} PYTHON=${PYTHON_EXECUTABLE} --with-yoda=${yoda_dir} --with-hepmc3=${hepmc_dir} --with-fastjet=${fastjet_dir} --prefix=${dir}/local --enable-shared=yes --enable-static=no --libdir=${dir}/local/lib --enable-pyext=${pyext} COMMAND ${CMAKE_COMMAND} -E echo "Rivet_dirs=\"${Rivet_dirs}\"" > touch_files.sh COMMAND sh -c "cat ${patch_dir}/touch_files.sh" >> touch_files.sh COMMAND chmod u+x touch_files.sh @@ -2117,15 +2119,15 @@ endif() # Contur set(name "contur") -set(ver "2.1.1") +set(ver "2.4.4") set(dl "https://gitlab.com/hepcedar/${name}/-/archive/${name}-${ver}/${name}-${name}-${ver}.tar.gz") -set(md5 "ecb91229775b62e5d71c8089d78b2ff6") +set(md5 "07c99d1656f4a40ed84bc6c3f313c63f") set(dir "${PROJECT_SOURCE_DIR}/Backends/installed/${name}/${ver}") set(contur_dir "${dir}/contur") set(init_file ${contur_dir}/init_by_GAMBIT.py) set(Rivet_name "rivet") set(ditch_if_absent "Python;SQLITE3;YODA;HepMC;Rivet") -set(required_modules "cython;configobj;pandas;matplotlib;") +set(required_modules "cython;configobj;pandas;matplotlib;pathos;joblib") set(patch "${PROJECT_SOURCE_DIR}/Backends/patches/${name}/${ver}/patch_${name}_${ver}.dif") check_ditch_status(${name} ${ver} ${dir} ${ditch_if_absent}) if(NOT ditched_${name}_${ver}) @@ -2142,9 +2144,13 @@ if(NOT ditched_${name}_${ver}) CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "import sys" > ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "import os" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "sys.path.append('${YODA_PY_PATH}')" >> ${init_file} + COMMAND ${CMAKE_COMMAND} -E echo "sys.path.append('${YODA_ALT_PY_PATH}')" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "sys.path.append('${Rivet_PY_PATH}')" >> ${init_file} + COMMAND ${CMAKE_COMMAND} -E echo "sys.path.append('${Rivet_alt_PY_PATH}')" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "sys.path.append('${dir}')" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "os.environ[\"CONTUR_ROOT\"]='${dir}'" >> ${init_file} + COMMAND ${CMAKE_COMMAND} -E echo "os.environ[\"CONTUR_DATA_PATH\"]='${dir}'" >> ${init_file} + COMMAND ${CMAKE_COMMAND} -E echo "os.environ[\"CONTUR_USER_DIR\"]='${dir}/data/DB'" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "from ctypes import *" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "cdll.LoadLibrary(\"${Rivet_LIB}\")" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "from run import run_analysis" >> ${init_file} @@ -2155,7 +2161,7 @@ if(NOT ditched_${name}_${ver}) COMMAND ${CMAKE_COMMAND} -E echo "addAnalysisLibPath(\"${dir}/data/Rivet\")" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "addAnalysisDataPath(\"${dir}/data/Rivet\")" >> ${init_file} COMMAND ${CMAKE_COMMAND} -E echo "addAnalysisDataPath(\"${dir}/data/Theory\")" >> ${init_file} - BUILD_COMMAND ${MAKE_PARALLEL} "data/DB/analyses.db" + BUILD_COMMAND cd ${dir}/data/DB && ${MAKE_PARALLEL} "analyses.db" && cd - INSTALL_COMMAND "" ) endif() diff --git a/cmake/contrib.cmake b/cmake/contrib.cmake index ae6d289788..4cabbfe57c 100644 --- a/cmake/contrib.cmake +++ b/cmake/contrib.cmake @@ -282,7 +282,7 @@ else() endif() set(name "yoda") -set(ver "1.9.7") +set(ver "1.9.9") set(dir "${PROJECT_SOURCE_DIR}/contrib/YODA-${ver}") if(WITH_YODA) message("-- YODA-dependent functions in ColliderBit will be activated.") @@ -298,7 +298,7 @@ endif() if(NOT EXCLUDE_YODA) set(lib "YODA") set(dl "https://yoda.hepforge.org/downloads/?f=YODA-${ver}.tar.gz") - set(md5 "c5bc336d3caa3f357db484536c10dbc8") + set(md5 "9bdbcaa570c4a04d525f0f7ee6e06d54") include_directories("${dir}/include") set(YODA_PATH "${dir}") set(YODA_LIB "${dir}/local/lib") @@ -311,6 +311,8 @@ if(NOT EXCLUDE_YODA) set_compiler_warning("no-deprecated-copy" YODA_CXX_FLAGS) set_compiler_warning("no-implicit-fallthrough" YODA_CXX_FLAGS) set(YODA_PY_PATH "${dir}/local/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages") + #TODO (TP Dec 23): Bodge to cover different forms of python install: would be good to be able to autodetect + set(YODA_ALT_PY_PATH "${dir}/local/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/dist-packages") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};${YODA_LIB}") # If cython is not installed disable the python extension gambit_find_python_module(cython) @@ -635,4 +637,4 @@ else() set (EXCLUDE_FLEXIBLESUSY TRUE) -endif() \ No newline at end of file +endif() diff --git a/cmake/tarball_info.cmake b/cmake/tarball_info.cmake index 5b686bd6f2..31efd07915 100644 --- a/cmake/tarball_info.cmake +++ b/cmake/tarball_info.cmake @@ -5,6 +5,6 @@ set(GAMBIT_VERSION_MAJOR 2) set(GAMBIT_VERSION_MINOR 4) -set(GAMBIT_VERSION_REVISION 3) +set(GAMBIT_VERSION_REVISION 4) set(GAMBIT_VERSION_PATCH ) -set(GAMBIT_VERSION_FULL 2.4.3) +set(GAMBIT_VERSION_FULL 2.4.4) diff --git a/config/backend_locations.yaml.default b/config/backend_locations.yaml.default index ac7e61dfcc..f5c3f2b60d 100644 --- a/config/backend_locations.yaml.default +++ b/config/backend_locations.yaml.default @@ -36,7 +36,7 @@ classy_exo: 2.7.2: ./Backends/installed/classy/exo_2.7.2/lib/classy_exo_2_7_2.py Contur: - 2.1.1: ./Backends/installed/contur/2.1.1/contur/init_by_GAMBIT.py + 2.4.4: ./Backends/installed/contur/2.4.4/contur/init_by_GAMBIT.py DarkAges: 1.2.0: ./Backends/installed/darkages/1.2.0/DarkAges_1_2_0 @@ -149,7 +149,7 @@ Pythia: 8.212: ./Backends/installed/pythia/8.212/lib/libpythia8.so Rivet: - 3.1.5: ./Backends/installed/rivet/3.1.5/local/lib/libRivet.so + 3.1.8: ./Backends/installed/rivet/3.1.8/local/lib/libRivet.so SPheno: 3.3.8: ./Backends/installed/spheno/3.3.8/lib/libSPheno.so diff --git a/config/capabilities.dat b/config/capabilities.dat index 709834f5d2..e2c77069ba 100644 --- a/config/capabilities.dat +++ b/config/capabilities.dat @@ -216,7 +216,7 @@ run_light_quark_test: | ptr_arr_tests: | Function that tests array and -> operators on deps and BE vars. -libMathematicaTest_1_0_init: | +LibMathematicaTest_1_0_init: | Initialises the backend for Mathematica tests. MathematicaTest: | @@ -6315,7 +6315,7 @@ varNames: | # Rivet & Contur capabilites #----------------------- -Rivet_3_1_5_init: | +Rivet_3_1_8_init: | Initialise Rivet backend Rivet_measurements: | @@ -6324,7 +6324,7 @@ Rivet_measurements: | addAnalysisLibPath: | Wrapper for Rivet's addaAnalysisLibPath. Adds a path to Rivet's AnalysisLibPath environment variable. -Contur_2_1_1_init: | +Contur_2_4_4_init: | Initialise Contur backend Contur_GetAnalyses: |