diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03e1e6f279..edb54fd06b 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/identification.hpp b/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp deleted file mode 100644 index aa1d8d3137..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Identify backend and set macro flags - -#include "gambit/Utils/cats.hpp" - -#define BACKENDNAME Rivet -#define BACKENDLANG CXX -#define VERSION 3.1.5 -#define SAFE_VERSION 3_1_5 -#define REFERENCE Bierlich:2019rhm - -#undef DO_CLASSLOADING -#define DO_CLASSLOADING 1 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_5/loaded_types.hpp deleted file mode 100644 index 08ce54353f..0000000000 --- a/Backends/include/gambit/Backends/backend_types/Rivet_3_1_5/loaded_types.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __loaded_types_Rivet_3_1_5_hpp__ -#define __loaded_types_Rivet_3_1_5_hpp__ 1 - -#ifndef EXCLUDE_YODA -#ifndef EXCLUDE_HEPMC - -#include "gambit/Utils/begin_ignore_warnings_rivet_backend.hpp" -#include "wrapper_AnalysisHandler.hh" -#include "identification.hpp" -#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 \ - (( /*class*/(Rivet)(AnalysisHandler), /*constructors*/((("Factory_AnalysisHandler_0__BOSS_1","_Factory_AnalysisHandler_0__BOSS_1"),(const std::string&))) ((("Factory_AnalysisHandler_1__BOSS_2","_Factory_AnalysisHandler_1__BOSS_2"),())) )) \ - -// If the default version has been loaded, set it as default. -#if ALREADY_LOADED(CAT_3(BACKENDNAME,_,CAT(Default_,BACKENDNAME))) - SET_DEFAULT_VERSION_FOR_LOADING_TYPES(BACKENDNAME,SAFE_VERSION,CAT(Default_,BACKENDNAME)) -#endif - -// Undefine macros to avoid conflict with other backends. -#include "gambit/Backends/backend_undefs.hpp" - -#endif -#endif - -#endif /* __loaded_types_Rivet_3_1_5_hpp__ */ 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/default_bossed_versions.hpp b/Backends/include/gambit/Backends/default_bossed_versions.hpp index 1fa1f55743..e7fe93efe6 100644 --- a/Backends/include/gambit/Backends/default_bossed_versions.hpp +++ b/Backends/include/gambit/Backends/default_bossed_versions.hpp @@ -30,7 +30,7 @@ #define Default_Pythia 8_312 #define Default_HepLike 2_0 #define Default_vevacious 1_0 -#define Default_Rivet 3_1_5 +#define Default_Rivet 4_1_0 #define Default_obscura 1_1_0 // 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_3_0_0.hpp similarity index 93% rename from Backends/include/gambit/Backends/frontends/Contur_2_1_1.hpp rename to Backends/include/gambit/Backends/frontends/Contur_3_0_0.hpp index e2ee802032..becdc8faf1 100644 --- a/Backends/include/gambit/Backends/frontends/Contur_2_1_1.hpp +++ b/Backends/include/gambit/Backends/frontends/Contur_3_0_0.hpp @@ -19,13 +19,15 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 June +/// \date 2023 May, June +/// \date 2024 Oct /// /// ********************************************* #define BACKENDNAME Contur #define BACKENDLANG Python3 -#define VERSION 2.1.1 -#define SAFE_VERSION 2_1_1 +#define VERSION 3.0.0 +#define SAFE_VERSION 3_0_0 #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_5.hpp deleted file mode 100644 index 864b8e56c5..0000000000 --- a/Backends/include/gambit/Backends/frontends/Rivet_3_1_5.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// GAMBIT: Global and Modular BSM Inference Tool -// ********************************************* -/// \file -/// -/// Frontend header generated by BOSS for GAMBIT backend Rivet 3.1.5. -/// -/// ********************************************* -/// -/// Authors (add name and date if you modify): -/// -/// \author The GAMBIT Collaboration -/// -/// ********************************************* - -#ifndef EXCLUDE_YODA -#ifndef EXCLUDE_HEPMC - -#include "gambit/Backends/backend_types/Rivet_3_1_5/identification.hpp" - -LOAD_LIBRARY - -namespace Gambit -{ - namespace Backends - { - namespace Rivet_3_1_5 - { - namespace Rivet - { - typedef ::Rivet_3_1_5::Rivet::AnalysisHandler AnalysisHandler; - } - } - } -} - -// Functions -BE_FUNCTION(addAnalysisLibPath, void, (const std::string&), ("addAnalysisLibPath__BOSS_3","_addAnalysisLibPath__BOSS_3"), "addAnalysisLibPath") -// Variables - -// Initialisation function (dependencies) - -// Convenience functions (registration) - - -// Convenience functions (definitions) - -// End -#include "gambit/Backends/backend_undefs.hpp" - -#endif -#endif 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/3.0.0/patch_contur_3.0.0.dif b/Backends/patches/contur/3.0.0/patch_contur_3.0.0.dif new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Backends/patches/contur/3.0.0/patch_contur_3.0.0.dif @@ -0,0 +1 @@ + diff --git a/Backends/patches/higgsbounds/4.3.1/patch_higgsbounds_4.3.1.dif b/Backends/patches/higgsbounds/4.3.1/patch_higgsbounds_4.3.1.dif index a2d260b5c9..bc9e5f14a9 100644 --- a/Backends/patches/higgsbounds/4.3.1/patch_higgsbounds_4.3.1.dif +++ b/Backends/patches/higgsbounds/4.3.1/patch_higgsbounds_4.3.1.dif @@ -1,6 +1,6 @@ diff -rupN HiggsBounds-4.3.1/usefulbits.f90 ../installed/higgsbounds/4.3.1/usefulbits.f90 ---- HiggsBounds-4.3.1/usefulbits.f90 2017-03-24 05:52:07.000000000 +1100 -+++ ../installed/higgsbounds/4.3.1/usefulbits.f90 2019-09-05 20:19:22.396325325 +1000 +--- HiggsBounds-4.3.1/usefulbits.f90 2017-03-23 19:52:07.000000000 +0100 ++++ ../installed/higgsbounds/4.3.1/usefulbits.f90 2025-03-21 14:08:06.017576373 +0100 @@ -15,7 +15,7 @@ module usefulbits integer :: using_likelihood = 0 @@ -11,8 +11,8 @@ diff -rupN HiggsBounds-4.3.1/usefulbits.f90 ../installed/higgsbounds/4.3.1/usefu character(LEN=5) :: whichanalyses character(LEN=4) :: whichinput diff -rupN HiggsBounds-4.3.1/interpolate.f90 ../installed/higgsbounds/4.3.1/interpolate.f90 ---- HiggsBounds-4.3.1/interpolate.f90 2017-03-24 05:47:53.000000000 +1100 -+++ ../installed/higgsbounds/4.3.1/interpolate.f90 2019-09-24 14:46:04.538021946 +1000 +--- HiggsBounds-4.3.1/interpolate.f90 2017-03-23 19:47:53.000000000 +0100 ++++ ../installed/higgsbounds/4.3.1/interpolate.f90 2025-03-21 14:08:06.017576373 +0100 @@ -524,9 +524,14 @@ module interpolate intable=.False. else !#1 @@ -31,3 +31,28 @@ diff -rupN HiggsBounds-4.3.1/interpolate.f90 ../installed/higgsbounds/4.3.1/inte if(abs(z_below-z).lt.small)then !z is the same as z_below c_z=z_below +diff -rupN HiggsBounds-4.3.1/S95tables_type3.F90 ../installed/higgsbounds/4.3.1/S95tables_type3.F90 +--- HiggsBounds-4.3.1/S95tables_type3.F90 2017-03-23 19:48:54.000000000 +0100 ++++ ../installed/higgsbounds/4.3.1/S95tables_type3.F90 2025-03-21 14:23:14.401112251 +0100 +@@ -31,10 +31,10 @@ module S95tables_type3 + + integer,parameter :: skip=3 + #ifdef SETCLSBTABLEDIR +- character(len=100),parameter :: pathtofolder& ++ character(len=300),parameter :: pathtofolder& + &=SETCLSBTABLEDIR + #else +- character(len=100),parameter :: pathtofolder='/home/Karina/Work/HiggsBounds/clsb_tables/' ++ character(len=300),parameter :: pathtofolder='/home/Karina/Work/HiggsBounds/clsb_tables/' + #endif + double precision,parameter :: deltaMhinfilename=10.0D0 ! results split into sections of size deltaMhinfilename. check carefully if deltaMhinfilename is not a whole number + integer,parameter :: deltaMhinfilenamebits=5 !which is then split into 5 sections +@@ -53,7 +53,7 @@ module S95tables_type3 + #endif + + character(len=300),allocatable :: filename(:) +- character(len=100) :: foldername ++ character(len=300) :: foldername + + !---------------------------------- + type(table3),allocatable :: clsb_t3(:) 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/4.1.0/make_patch_rivet_4.1.0.sh b/Backends/patches/rivet/4.1.0/make_patch_rivet_4.1.0.sh new file mode 100755 index 0000000000..cb259d4133 --- /dev/null +++ b/Backends/patches/rivet/4.1.0/make_patch_rivet_4.1.0.sh @@ -0,0 +1,21 @@ +cd ../../../downloaded +tar -xvf *rivet* +echo "diff -rupN Rivet-4.1.0/Makefile.in ../installed/rivet/4.1.0/Makefile.in" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/Makefile.in ../installed/rivet/4.1.0/Makefile.in >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/include/Rivet/Makefile.in ../installed/rivet/4.1.0/include/Rivet/Makefile.in" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/include/Rivet/Makefile.in ../installed/rivet/4.1.0/include/Rivet/Makefile.in >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/src/Core/Makefile.in ../installed/rivet/4.1.0/src/Core/Makefile.in" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/src/Core/Makefile.in ../installed/rivet/4.1.0/src/Core/Makefile.in >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/include/Rivet/AnalysisHandler.hh ../installed/rivet/4.1.0/include/Rivet/AnalysisHandler.hh" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/include/Rivet/AnalysisHandler.hh ../installed/rivet/4.1.0/include/Rivet/AnalysisHandler.hh >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/4.1.0/include/Rivet/Tools/RivetHepMC.hh" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/4.1.0/include/Rivet/Tools/RivetHepMC.hh >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/analyses/Makefile.in ../installed/rivet/4.1.0/analyses/Makefile.in" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/analyses/Makefile.in ../installed/rivet/4.1.0/analyses/Makefile.in >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/src/Core/AnalysisHandler.cc ../installed/rivet/4.1.0/src/Core/AnalysisHandler.cc" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/src/Core/AnalysisHandler.cc ../installed/rivet/4.1.0/src/Core/AnalysisHandler.cc >> patch_rivet_4.1.0.dif +echo "diff -rupN Rivet-4.1.0/configure ../installed/rivet/4.1.0/configure" >> patch_rivet_4.1.0.dif +diff -rupN Rivet-4.1.0/configure ../installed/rivet/4.1.0/configure >> patch_rivet_4.1.0.dif + +mv patch_rivet_4.1.0.dif ../patches/rivet/4.1.0/ +cd ../patches/rivet/4.1.0 diff --git a/Backends/patches/rivet/4.1.0/patch_rivet_4.1.0.dif b/Backends/patches/rivet/4.1.0/patch_rivet_4.1.0.dif new file mode 100644 index 0000000000..7db9322b3d --- /dev/null +++ b/Backends/patches/rivet/4.1.0/patch_rivet_4.1.0.dif @@ -0,0 +1,310 @@ +diff -rupN Rivet-4.1.0/Makefile.in ../installed/rivet/4.1.0/Makefile.in +--- Rivet-4.1.0/Makefile.in 2024-07-07 23:10:54.000000000 +0900 ++++ ../installed/rivet/4.1.0/Makefile.in 2024-10-15 14:22:43.930488154 +0900 +@@ -478,6 +478,24 @@ 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 ++ mkdir -p ${libdir} ++ mkdir -p ${datadir} ++ ls ${libdir} ++ 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 ++ 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 + @: +@@ -549,6 +567,7 @@ mostlyclean-libtool: + + clean-libtool: + -rm -rf .libs _libs ++ -rm -rf ${libdir} + + distclean-libtool: + -rm -f libtool config.lt +diff -rupN Rivet-4.1.0/include/Rivet/Makefile.in ../installed/rivet/4.1.0/include/Rivet/Makefile.in +--- Rivet-4.1.0/include/Rivet/Makefile.in 2024-07-07 23:10:54.000000000 +0900 ++++ ../installed/rivet/4.1.0/include/Rivet/Makefile.in 2024-10-15 14:42:58.436319591 +0900 +@@ -1175,7 +1175,22 @@ nobase_pkginclude_HEADERS = Rivet.hh Run + 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_4_1_0/identification.hpp \ ++ ../backend_types/Rivet_4_1_0/forward_decls_abstract_classes.hh \ ++ ../backend_types/Rivet_4_1_0/forward_decls_wrapper_classes.hh \ ++ ../backend_types/Rivet_4_1_0/abstract_AnalysisHandler.hh \ ++ ../backend_types/Rivet_4_1_0/wrapper_AnalysisHandler.hh \ ++ ../backend_types/Rivet_4_1_0/wrapper_AnalysisHandler_decl.hh \ ++ ../backend_types/Rivet_4_1_0/wrapper_AnalysisHandler_def.hh ++ + all: all-am + + .SUFFIXES: +diff -rupN Rivet-4.1.0/src/Core/Makefile.in ../installed/rivet/4.1.0/src/Core/Makefile.in +--- Rivet-4.1.0/src/Core/Makefile.in 2024-07-07 23:10:54.000000000 +0900 ++++ ../installed/rivet/4.1.0/src/Core/Makefile.in 2024-10-15 15:36:51.203169607 +0900 +@@ -120,7 +120,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@) +@@ -145,6 +150,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-DressedLepton.Plo \ + ./$(DEPDIR)/libRivetCore_la-Event.Plo \ + ./$(DEPDIR)/libRivetCore_la-Jet.Plo \ +@@ -468,7 +478,12 @@ libRivetCore_la_SOURCES = \ + Jet.cc Particle.cc DressedLepton.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 +@@ -530,6 +545,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-DressedLepton.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 +@@ -650,6 +670,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 + ++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 + +@@ -858,6 +914,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-DressedLepton.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Event.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Jet.Plo +@@ -915,6 +976,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-DressedLepton.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Event.Plo + -rm -f ./$(DEPDIR)/libRivetCore_la-Jet.Plo +diff -rupN Rivet-4.1.0/include/Rivet/AnalysisHandler.hh ../installed/rivet/4.1.0/include/Rivet/AnalysisHandler.hh +--- Rivet-4.1.0/include/Rivet/AnalysisHandler.hh 2024-07-07 06:16:35.000000000 +0900 ++++ ../installed/rivet/4.1.0/include/Rivet/AnalysisHandler.hh 2024-10-15 14:46:32.214039304 +0900 +@@ -40,10 +49,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; + + /// The assignment operator is deleted, so it can never be called. +- AnalysisHandler& operator=(const AnalysisHandler&) = delete; ++ // AnalysisHandler& operator=(const AnalysisHandler&) = delete; + + /// The destructor is not virtual, as this class should not be inherited from. + ~AnalysisHandler(); +@@ -425,6 +434,10 @@ 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-4.1.0/include/Rivet/Tools/RivetHepMC.hh ../installed/rivet/4.1.0/include/Rivet/Tools/RivetHepMC.hh +diff -rupN Rivet-4.1.0/analyses/Makefile.in ../installed/rivet/4.1.0/analyses/Makefile.in +--- Rivet-4.1.0/analyses/Makefile.in 2024-07-07 23:10:54.000000000 +0900 ++++ ../installed/rivet/4.1.0/analyses/Makefile.in 2024-10-15 14:22:43.931488097 +0900 +@@ -350,7 +350,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + with_highfive = @with_highfive@ + AUTOMAKE_OPTIONS = -Wno-portability +-PLUGIN_DIRS = $(shell ls -d $(srcdir)/plugin*) ++PLUGIN_DIRS = $(shell ls -d $(srcdir)/pluginCMS $(srcdir)/pluginATLAS $(srcdir)/pluginLHCb) + PLUGIN_NAMES_ALL = $(notdir $(subst plugin,,$(PLUGIN_DIRS))) + FILTER_DISABLED = $(am__append_1) + #if !ENABLE_HIGHFIVE +@@ -358,7 +358,7 @@ FILTER_DISABLED = $(am__append_1) + #endif + PLUGIN_NAMES = $(filter-out $(FILTER_DISABLED),$(PLUGIN_NAMES_ALL)) + 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) data + EXTRA_DIST = $(PLUGIN_DIRS) examples + all: all-am +@@ -602,7 +602,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 $(srcdir)/pluginCMS $(srcdir)/pluginLHCb $(srcdir)/pluginATLAS $(srcdir)/examples; do $(FCP) $${pdir}/*.* $(DESTDIR)$(pkgdatadir)/; done + + # clean-local: + # rm -rf $(builddir)/data +diff -rupN Rivet-4.1.0/src/Core/AnalysisHandler.cc ../installed/rivet/4.1.0/src/Core/AnalysisHandler.cc +--- Rivet-4.1.0/src/Core/AnalysisHandler.cc 2024-07-07 06:16:35.000000000 +0900 ++++ ../installed/rivet/4.1.0/src/Core/AnalysisHandler.cc 2024-10-15 14:22:43.931488097 +0900 +@@ -897,7 +897,8 @@ namespace Rivet { + + if (allaos.empty()) { + cerr << "Insufficient pre-finalize AOs to do a reentrant run!" << endl; +- exit(1); ++ // exit(1); ++ throw std::runtime_error("Insufficient pre-finalize AOs to do a reentrant run!\n"); // Added by GAMBIT + } + + MSG_DEBUG("Finalize cross-section scaling ..."); +@@ -1159,7 +1160,8 @@ namespace Rivet { + a->syncDeclQueue(); + } catch (const Error& err) { + cerr << "Error in " << a->name() << "::init method: " << err.what() << endl; +- exit(1); ++ // exit(1); ++ throw std::runtime_error("Error in " + a->name() + "::init method:\n"); // Added by GAMBIT + } + MSG_TRACE("Done initialising analysis: " << a->name()); + } // analyses +@@ -1278,7 +1280,8 @@ namespace Rivet { + a->syncDeclQueue(); + } catch (const Error& err) { + cerr << "Error in " << a->name() << "::init method: " << err.what() << endl; +- exit(1); ++ // exit(1); ++ throw std::runtime_error("Error in " + a->name() + "::init method:\n"); // Added by GAMBIT + } + MSG_TRACE("Done initialising analysis: " << a->name()); + } // analyses +@@ -1300,7 +1303,8 @@ namespace Rivet { + deserializeContent(aoData); + } catch (const Error& err) { + cerr << "Error when trying to deserialize AO data: " << err.what() << endl; +- exit(1); ++ // exit(1); ++ throw std::runtime_error("Error when trying to deserialize AO data"); // Added by GAMBIT + } + *_fileCounter = *_eventCounter; + MSG_TRACE("Successfully deserialized AO data."); +@@ -1574,6 +1578,11 @@ 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-4.1.0/configure ../installed/rivet/4.1.0/configure +--- Rivet-4.1.0/configure 2024-07-07 23:10:54.000000000 +0900 ++++ ../installed/rivet/4.1.0/configure 2024-10-15 14:22:43.934487924 +0900 +@@ -20522,7 +20522,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/4.1.0/touch_files.sh similarity index 100% rename from Backends/patches/rivet/3.1.5/touch_files.sh rename to Backends/patches/rivet/4.1.0/touch_files.sh diff --git a/Backends/scripts/BOSS/configs/rivet_3_1_5.py b/Backends/scripts/BOSS/configs/rivet_4_1_0.py similarity index 93% rename from Backends/scripts/BOSS/configs/rivet_3_1_5.py rename to Backends/scripts/BOSS/configs/rivet_4_1_0.py index 8a2c9240cc..af6f59a45a 100644 --- a/Backends/scripts/BOSS/configs/rivet_3_1_5.py +++ b/Backends/scripts/BOSS/configs/rivet_4_1_0.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++17' # 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 = '4.1.0' 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-2.1.0/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_3_0_0.cpp similarity index 77% rename from Backends/src/frontends/Contur_2_1_1.cpp rename to Backends/src/frontends/Contur_3_0_0.cpp index 5b12e833fa..ea0e0188d2 100644 --- a/Backends/src/frontends/Contur_2_1_1.cpp +++ b/Backends/src/frontends/Contur_3_0_0.cpp @@ -15,6 +15,8 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 June +/// \date 2023 May +/// \date 2024 Oct /// /// \author Anders Kvellestad /// (anders.kvellestad@fys.uio.no) @@ -23,7 +25,7 @@ /// ********************************************* #include "gambit/Backends/frontend_macros.hpp" -#include "gambit/Backends/frontends/Contur_2_1_1.hpp" +#include "gambit/Backends/frontends/Contur_3_0_0.hpp" #ifdef HAVE_PYBIND11 @@ -37,6 +39,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 +86,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_4_1_0.cpp similarity index 86% rename from Backends/src/frontends/Rivet_3_1_5.cpp rename to Backends/src/frontends/Rivet_4_1_0.cpp index 6d40e1e5fc..4ba45a79e0 100644 --- a/Backends/src/frontends/Rivet_3_1_5.cpp +++ b/Backends/src/frontends/Rivet_4_1_0.cpp @@ -13,6 +13,9 @@ /// \author Tomek Procter /// (t.procter.1@research.gla.ac.uk) /// \date 2021 July +/// \date 2023 April, May +/// \date 2024 October +/// \date 2025 March /// ********************************************* #include "gambit/Backends/frontend_macros.hpp" @@ -20,7 +23,7 @@ #ifndef EXCLUDE_YODA #ifndef EXCLUDE_HEPMC -#include "gambit/Backends/frontends/Rivet_3_1_5.hpp" +#include "gambit/Backends/frontends/Rivet_4_1_0.hpp" #include "gambit/Utils/util_functions.hpp" @@ -31,7 +34,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/4.1.0/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 016727d4fb..f9e79cf314 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..2fac4852a6 100644 --- a/ColliderBit/src/ColliderBit_measurements.cpp +++ b/ColliderBit/src/ColliderBit_measurements.cpp @@ -15,6 +15,8 @@ /// \author Tomasz Procter /// (t.procter.1@research.gla.ac.uk) /// \date June 2021 +/// \date May 2023 +/// \date Oct 2024 /// /// ********************************************* @@ -62,24 +64,26 @@ namespace Gambit using namespace Pipes::Rivet_measurements; using namespace Rivet_default::Rivet; - static std::shared_ptr ah; - static bool studying_first_event; - static int events_analysed = 0; + static std::vector> anahandlers; + // TODO: Does event count ever go over int_max? Playing safe + thread_local long int events_analysed = 0; + static std::map events_analysed_perthread; + + static std::vector analyses; + static std::vector excluded_analyses; if (*Loop::iteration == COLLIDER_INIT) { - if (ah != nullptr) - { - ah->~AnalysisHandler(); - ah = nullptr; - } - ah = std::make_shared(); - studying_first_event = true; + // Wipe out all analysisHandlers (will be reinitialised in COLLIDER_INIT_OMP) + anahandlers.clear(); + + // Remainder of Loop iteration is to get analysis list. + analyses.clear(); + excluded_analyses.clear(); //Are we running in a standalone (i.e. CBS) or in GAMBIT proper - //This should be added manually - bool runningStandalone = runOptions->getValueOrDef(false, "runningStandalone"); - std::vector analyses, excluded_analyses; + //This should be added manually by the standalone + const static bool runningStandalone = runOptions->getValueOrDef(false, "runningStandalone"); if (!runningStandalone) { @@ -96,7 +100,6 @@ namespace Gambit if(not analyses.size()) ColliderBit_warning().raise(LOCAL_INFO, "No analyses set for Rivet. This means an empty yoda file will be passed to Contur"); - // TODO: Add somewhere a check to make sure we only do LHC analyses else { for (size_t i = 0; i < analyses.size() ; ++i) @@ -108,177 +111,176 @@ namespace Gambit { BEreq::Contur_GetAnalyses(analyses, analyses[i]); } - //If its a normal analyis just add it. - else - { - ah->addAnalysis(analyses[i]); - } } } + // Now we have a final list of all analyses to add/exclude + } - //If the yaml file wants to exclude analyses, remove them - //This feature was inspired by ATLAS_2016_I1469071, which is effectively - //invalid for most BSM cases and can cause crashes. - ah->removeAnalyses(excluded_analyses); - - //Write the utilised analyses to a file in yaml-like format - //This will list only the analyses that RIVET has succesfully loaded. - //Only do this the first time contur is run. - //TODO: the analysishandler can choose to autoremove analyses e.g. if the energy is wrong LATER. - // Should we account for this? E.g. By wiping the file in base_init. - const static bool output_used_analyses = runOptions->getValueOrDef(false, "drop_used_analyses"); - if (output_used_analyses) - { - static bool analysis_file_opened = false; - static std::map analyses_written_to_file_per_collider; - if (analyses_written_to_file_per_collider.count(Dep::RunMC->current_collider()) == 0) - { - std::ofstream analyses_output_file; - //TODO please feel free to change name/put in more appropriate location. - str filename = "/GAMBIT_rivet_analyses.log"; - if (!analysis_file_opened) - { - analyses_output_file.open(GAMBIT_DIR+std::string(filename)); - analysis_file_opened = true; - } - else - { - analyses_output_file.open(GAMBIT_DIR+std::string(filename),std::ios_base::app); - analyses_output_file << "\n"; - } - analyses_output_file << Dep::RunMC->current_collider() << ":\n"; - analyses_output_file << " analyses:"; - for (std::string an_analysis_string : ah->analysisNames()) + if (*Loop::iteration == COLLIDER_INIT_OMP){ + + #pragma omp critical + { + anahandlers.emplace_back(std::make_unique()); + events_analysed_perthread[omp_get_thread_num()] = 0L; + + for (const std::string& ananame : analyses){ + // Rememeber analysis list already formed. + if (!(ananame == "13TeV" || ananame == "8TeV" || ananame == "7TeV")) + anahandlers.back()->addAnalysis(ananame); + } + + //If the yaml file wants to exclude analyses, remove them + //This feature was inspired by ATLAS_2016_I1469071, which is effectively + //invalid for most BSM cases and can cause crashes. + anahandlers.back()->removeAnalyses(excluded_analyses); + + //Write the utilised analyses to a file in yaml-like format + //This will list only the analyses that RIVET has succesfully loaded. + //Only do this the first time contur is run. + if (omp_get_thread_num() == 0){ + const static bool output_used_analyses = runOptions->getValueOrDef(false, "drop_used_analyses"); + if (output_used_analyses) { - analyses_output_file << "\n - " << an_analysis_string; + static bool analysis_file_opened = false; + static std::map analyses_written_to_file_per_collider; + if (analyses_written_to_file_per_collider.count(Dep::RunMC->current_collider()) == 0) + { + std::ofstream analyses_output_file; + //TODO please feel free to change name/put in more appropriate location. + str filename = "/GAMBIT_rivet_analyses.log"; + if (!analysis_file_opened) + { + analyses_output_file.open(GAMBIT_DIR+std::string(filename)); + analysis_file_opened = true; + } + else + { + analyses_output_file.open(GAMBIT_DIR+std::string(filename),std::ios_base::app); + analyses_output_file << "\n"; + } + analyses_output_file << Dep::RunMC->current_collider() << ":\n"; + analyses_output_file << " analyses:"; + + // TODO: fix. + for (std::string an_analysis_string : anahandlers[0]->analysisNames()) + { + analyses_output_file << "\n - " << an_analysis_string; + } + analyses_output_file.close(); + analyses_written_to_file_per_collider[Dep::RunMC->current_collider()] = true; + } } - analyses_output_file.close(); - analyses_written_to_file_per_collider[Dep::RunMC->current_collider()] = true; } } + } + // TODO: think about this whole event number check is still needed. + if (*Loop::iteration == END_SUBPROCESS){ + //Save which threads have run enough events. + events_analysed_perthread[omp_get_thread_num()] = events_analysed; + #ifdef COLLIDERBIT_DEBUG + std::cout << "Rivet: thread " << omp_get_thread_num() << " analysed " << events_analysed << " events" << std::endl; + #endif } + // TODO: consider cleaning up. if (*Loop::iteration == COLLIDER_FINALIZE) { //Check if events have actually been generated. If not, don't call finalise, as //rivet hasn't been fully initialised. Just return a nullptr, the contur functions //will know what to do. - if (!studying_first_event) + // Test if thread 0 analysed any events. If not, very unlikely any threads did and merging won't work properly - skip. + if (events_analysed > 0) { #ifdef COLLIDERBIT_DEBUG std::cout << "Summary data from rivet:\n\tAnalyses used: "; - for (auto analysis : ah->analysisNames()) - { + for (auto analysis : anahandlers[0]->analysisNames()){ std::cout << analysis << ", "; } - std::cout << "\n\tBeam IDs are " << ah->beamIds().first << ", " << ah->beamIds().second; - std::cout << "\n\tXS: " << ah->nominalCrossSection(); - std::cout << "\n\tRunName: " << ah->runName(); - std::cout << "\n\tSqrtS: " << ah->sqrtS(); + std::cout << "\n\tBeam IDs are " << anahandlers[0]->beamIds().first << ", " << anahandlers[0]->beamIds().second; + std::cout << "\n\tXS: " << anahandlers[0]->nominalCrossSection(); + std::cout << "\n\tRunName: " << anahandlers[0]->runName(); + std::cout << "\n\tSqrtS: " << anahandlers[0]->sqrtS(); std::cout << "\n\tList of available analyses: "; - for (auto analysis : ah->stdAnalysisNames()) - { + for (auto analysis : anahandlers[0]->stdAnalysisNames()){ std::cout << analysis << ", "; } std::cout << std::flush; #endif //Initialise somewhere for the yoda file to be outputted. - //This circuitous route is necesarry because ostringstream does not support copy - //assignment or copy initialisation, and which is necesarry to access items via - //Gambit's backends system, so we need to go via a pointer. + //This circuitous route is necesarry because ostringstream does not support copy + //assignment or copy initialisation, and which is necesarry to access items via + //Gambit's backends system, so we need to go via a pointer. result = std::make_shared(); - #pragma omp critical - { - ah->finalize(); - ah->writeData(*result, "yoda"); + int count = 0; + for (const auto & handler : anahandlers){ + handler->finalize(); + handler->writeData("TEST_"+std::to_string(count++)+".yoda"); } + //Merge non-master threads back into master IF they analysed any events. + for (size_t j = 1; j < anahandlers.size(); ++j){ + //Note rivet needs uses the first event for init so need more than one to + // actually do analysis. + if (events_analysed_perthread[j] > 1){ + #ifdef COLLIDERBIT_DEBUG + std::cout << "Merging yoda from thread " << j << " into master." << std::endl; + #endif + anahandlers[0]->merge(*anahandlers[j]); + } + else { + std::cout << "Not merging yoda from thread " << j << " into master." << std::endl; + ColliderBit_warning().raise(LOCAL_INFO, "Thread "+std::to_string(j)+" did not get any events to Rivet analyse" ); + } + } + anahandlers[0]->finalize(); + anahandlers[0]->writeData(*result, "yoda"); + // Drop YODA file if requested - bool drop_YODA_file = runOptions->getValueOrDef(false, "drop_YODA_file"); + const static bool drop_YODA_file = runOptions->getValueOrDef(false, "drop_YODA_file"); if(drop_YODA_file) { - str filename = "GAMBIT_collider_measurements_"+Dep::RunMC->current_collider()+".yoda"; + str filename = "GAMBIT_collider_measurements_"+Dep::RunMC->current_collider()+".yoda"; #pragma omp critical { - try { ah->writeData(filename); } + try{ anahandlers[0]->writeData(filename); } catch (...) { ColliderBit_error().raise(LOCAL_INFO, "Unexpected error in writing YODA file"); } } } } - else - { + else{ result = nullptr; + ColliderBit_warning().raise(LOCAL_INFO, "Rivet didn't analyse any events at this point."); } - #pragma omp critical - { - ah->~AnalysisHandler(); - ah = nullptr; - } + anahandlers.clear(); } // Don't do anything else during special iterations if (*Loop::iteration < 0) return; - if (studying_first_event) - { - if (omp_get_thread_num() == 0) - { - // Get the HepMC event - HepMC3::GenEvent ge = *Dep::HardScatteringEvent; - try { ah->analyze(ge); } - catch(std::runtime_error &e) - { - ColliderBit_error().raise(LOCAL_INFO, e.what()); - } - studying_first_event = false; - } - #pragma omp barrier - if (omp_get_thread_num() != 0) - { + // Get the HepMC event + HepMC3::GenEvent ge = *Dep::HardScatteringEvent; + try { + // The first event only must be analysed single-threaded + if (events_analysed < 1){ #pragma omp critical { - // Get the HepMC event - HepMC3::GenEvent ge = *Dep::HardScatteringEvent; - // Save the old event number in case other bits of Gambit need it. - int old_events_analysed = ge.event_number(); - // Set the Event number to a stream independent total so Rivet can - // make sense of things. - ge.set_event_number(++events_analysed); - try { ah->analyze(ge); } - catch(std::runtime_error &e) - { - ColliderBit_error().raise(LOCAL_INFO, e.what()); - } - // Reset the old event number in case GAMBIT needs it elsewhere. - ge.set_event_number(old_events_analysed); + anahandlers[omp_get_thread_num()]->analyze(ge); } } + else { + anahandlers[omp_get_thread_num()]->analyze(ge); + } + events_analysed++; } - else + catch(std::runtime_error &e) { - # pragma omp critical - { - // Get the HepMC event - HepMC3::GenEvent ge = *Dep::HardScatteringEvent; - // Save the old event number in case other bits of Gambit need it. - int old_events_analysed = ge.event_number(); - // Set the Event number to a stream independent total so Rivet can - // make sense of things. - ge.set_event_number(++events_analysed); - try { ah->analyze(ge); } - catch(std::runtime_error &e) - { - ColliderBit_error().raise(LOCAL_INFO, e.what()); - } - // Reset the old event number in case GAMBIT needs it elsewhere. - ge.set_event_number(old_events_analysed); - } + ColliderBit_error().raise(LOCAL_INFO, e.what()); } } @@ -317,13 +319,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 +452,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 +470,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 +482,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 +495,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 +514,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 +530,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 +555,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/cmake/backends.cmake b/cmake/backends.cmake index 92d05a373a..8f6364b186 100644 --- a/cmake/backends.cmake +++ b/cmake/backends.cmake @@ -2095,14 +2095,14 @@ endif() # Fastjet set(name "fastjet") -set(ver "3.3.2") -set(dl "https://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) @@ -2126,14 +2126,14 @@ endif() # Fjcontrib set(name "fjcontrib") -set(ver "1.041") +set(ver "1.049") set(dl "http://fastjet.hepforge.org/contrib/downloads/${name}-${ver}.tar.gz") -set(md5 "b37674a8701af52b58ebced94a270877") +set(md5 "bfea8bfd311d958a40e445f76668bd32") 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(FJCONTRIB_CXX_FLAGS "${FJ_CXX_FLAGS} -std=c++17 -I${dir}/RecursiveTools") set(patch "${PROJECT_SOURCE_DIR}/Backends/patches/${name}/${ver}/patch_${name}_${ver}.dif") #set(FJCONTRIB_LD_FLAGS "${FJ_LINKER_FLAGS} -L${fastjet_dir}/local/lib -Wl,-rpath,${fastjet_dir}/local/lib") #set(FJCONTRIB_CXX_FLAGS ${BACKEND_CXX_FLAGS}) @@ -2161,22 +2161,23 @@ endif() # Rivet set(name "rivet") -set(ver "3.1.5") +set(ver "4.1.0") set(Rivet_ver "${ver}") set(dl "https://rivet.hepforge.org/downloads/?f=Rivet-${ver}.tar.gz") -set(md5 "7f3397b16386c0bfcb49420c2eb395b1") +set(md5 "9d33e74b9d64053a9e317ec437c71ff0") 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") +set(fjcontrib_ver "1.049") #set(Rivet_CXX_FLAGS "${BACKEND_CXX_FLAGS} -I${dir}/include/Rivet -faligned-new -O3") -set(Rivet_CXX_FLAGS "${FJ_CXX_FLAGS} -I${dir}/include/Rivet -I${EIGEN3_INCLUDE_DIR} -O3") +# TODO TP Oct 24: Atm this means CXX flags contains both -std=c++14 and -std=c++17, would be good to simplify +set(Rivet_CXX_FLAGS "${FJ_CXX_FLAGS} -I${dir}/include/Rivet -I${EIGEN3_INCLUDE_DIR} -O3 -std=c++17") set_compiler_warning("no-deprecated-declarations" Rivet_CXX_FLAGS) set_compiler_warning("no-deprecated-copy" Rivet_CXX_FLAGS) set_compiler_warning("no-type-limits" Rivet_CXX_FLAGS) @@ -2198,13 +2199,15 @@ endif() set(patch_dir "${PROJECT_SOURCE_DIR}/Backends/patches/${name}/${ver}") set(patch "${patch_dir}/patch_${name}_${ver}.dif") -## Rivet needs to be compiled with c++14 or c++17, otherwise it will fail to compile -set(ditch_if_absent "HepMC;YODA;c++14") +## Rivet needs to be compiled c++17, otherwise it will fail to compile +set(ditch_if_absent "HepMC;YODA;c++17") ## If cython is not installed disable the python extension 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() @@ -2223,7 +2226,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 @@ -2231,23 +2234,24 @@ if(NOT ditched_${name}_${ver}) BUILD_COMMAND ${MAKE_PARALLEL} libRivet.so INSTALL_COMMAND "" ) - BOSS_backend(${name} ${ver}) + BOSS_backend(${name} ${ver} "-I${HDF5_INCLUDE_DIR} -I${HDF5_INCLUDE_DIRS}") add_extra_targets("backend" ${name} ${ver} ${dir} ${dl} clean) set_as_default_version("backend" ${name} ${ver}) endif() # Contur set(name "contur") -set(ver "2.1.1") +set(ver "3.0.0") set(dl "https://gitlab.com/hepcedar/${name}/-/archive/${name}-${ver}/${name}-${name}-${ver}.tar.gz") -set(md5 "ecb91229775b62e5d71c8089d78b2ff6") +set(md5 "aee676621c6a2f4b66a94e456a96dac8") 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(patch "${PROJECT_SOURCE_DIR}/Backends/patches/${name}/${ver}/patch_${name}_${ver}.dif") +set(required_modules "cython;configobj;pandas;matplotlib;pathos;joblib") +# Contur 3.0.0 shouldn't need a patch. Leave command commented in case subsequent versions do. +#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}) check_python_modules(${name} ${ver} ${required_modules}) @@ -2259,13 +2263,18 @@ if(NOT ditched_${name}_${ver}) DOWNLOAD_COMMAND ${DL_BACKEND} ${dl} ${md5} ${dir} ${name} ${ver} SOURCE_DIR ${dir} BUILD_IN_SOURCE 1 - PATCH_COMMAND patch -p1 < ${patch} + # Contur 3.0.0 shouldn't need a patch. Leave command commented in case subsequent versions do. + # PATCH_COMMAND patch -p1 < ${patch} 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} @@ -2276,7 +2285,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 a1578fc462..bcc1855afb 100644 --- a/cmake/contrib.cmake +++ b/cmake/contrib.cmake @@ -281,7 +281,7 @@ else() endif() set(name "yoda") -set(ver "1.9.7") +set(ver "2.1.0") set(dir "${PROJECT_SOURCE_DIR}/contrib/YODA-${ver}") if(WITH_YODA) message("-- YODA-dependent functions in ColliderBit will be activated.") @@ -297,7 +297,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 "87da674a8e8127b54c408d1b465bf5f7") include_directories("${dir}/include") set(YODA_PATH "${dir}") set(YODA_LIB "${dir}/local/lib") @@ -310,6 +310,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) @@ -384,14 +386,14 @@ else() set(EXCLUDE_FASTJET TRUE) endif() -#contrib/fjcontrib-1.041; include only if Colliderbit is in use. +#contrib/fjcontrib-1.049; include only if Colliderbit is in use. if(";${GAMBIT_BITS};" MATCHES ";ColliderBit;") message(" ColliderBit included, include fjcontrib too") set(EXCLUDE_FJCONTRIB FALSE) - set(fjcontrib_dl "http://fastjet.hepforge.org/contrib/downloads/fjcontrib-1.041.tar.gz") - set(fjcontrib_md5 "b37674a8701af52b58ebced94a270877") - set(fjcontrib_dir "${PROJECT_SOURCE_DIR}/contrib/fjcontrib-1.041") + set(fjcontrib_dl "http://fastjet.hepforge.org/contrib/downloads/fjcontrib-1.049.tar.gz") + set(fjcontrib_md5 "bfea8bfd311d958a40e445f76668bd32") + set(fjcontrib_dir "${PROJECT_SOURCE_DIR}/contrib/fjcontrib-1.049") include_directories("${fjcontrib_dir}/RecursiveTools") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};${fjcontrib_dir}/local/lib") set(fjcontrib_LDFLAGS "-L${fastjet_dir}/local/lib -lRecursiveTools") @@ -405,10 +407,10 @@ if(";${GAMBIT_BITS};" MATCHES ";ColliderBit;") ExternalProject_Add(fjcontrib DEPENDS fastjet - DOWNLOAD_COMMAND ${DL_CONTRIB} ${fjcontrib_dl} ${fjcontrib_md5} ${fjcontrib_dir} fjcontrib 1.041 + DOWNLOAD_COMMAND ${DL_CONTRIB} ${fjcontrib_dl} ${fjcontrib_md5} ${fjcontrib_dir} fjcontrib 1.049 SOURCE_DIR ${fjcontrib_dir} BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND ./configure CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${FJCONTRIB_CXX_FLAGS} --fastjet-config=${fastjet_dir}/fastjet-config --prefix=${fastjet_dir}/local --only=RecursiveTools + CONFIGURE_COMMAND ./configure CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${FJCONTRIB_CXX_FLAGS} --fastjet-config=${fastjet_dir}/fastjet-config --prefix=${fastjet_dir}/local # --only=RecursiveTools BUILD_COMMAND ${MAKE_PARALLEL} CXX="${CMAKE_CXX_COMPILER}" fragile-shared-install INSTALL_COMMAND ${MAKE_INSTALL_PARALLEL} ) diff --git a/config/backend_locations.yaml.default b/config/backend_locations.yaml.default index b0d9a202c5..5b610ba07f 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 + 3.0.0: ./Backends/installed/contur/3.0.0/contur/init_by_GAMBIT.py DarkAges: 1.2.0: ./Backends/installed/darkages/1.2.0/DarkAges_1_2_0 @@ -155,7 +155,7 @@ Pythia: 8.312: ./Backends/installed/pythia/8.312/lib/libpythia8.so Rivet: - 3.1.5: ./Backends/installed/rivet/3.1.5/local/lib/libRivet.so + 4.1.0: ./Backends/installed/rivet/4.1.0/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 e76248496e..d6568bd5fe 100644 --- a/config/capabilities.dat +++ b/config/capabilities.dat @@ -6484,23 +6484,23 @@ varNames: | # Rivet & Contur capabilites #----------------------- -Rivet_3_1_5_init: | +Rivet_4_1_0_init: | Initialise Rivet backend Rivet_measurements: | Run's rivet on current hepmc event. Creates output YODA object on COLLIDER_FINALISE addAnalysisLibPath: | - Wrapper for Rivet's addaAnalysisLibPath. Adds a path to Rivet's AnalysisLibPath environment variable. + Wrapper for Rivet's addAnalysisLibPath. Adds a path to Rivet's AnalysisLibPath environment variable. -Contur_2_1_1_init: | +Contur_3_0_0_init: | Initialise Contur backend Contur_GetAnalyses: | Wrapper for Contur's static_db.getAnalyses(). Gets a string vector of all the analyses known to this version of Contur for a given beam energy, e.g. "13TeV". Contur_Measurements: | - Capability for a wrapper functions that can provide Contur output, e.g. from file or stream input. + Capability for wrapper functions that can provide Contur output, e.g. from file or stream input. LHC_measurements: | Produces a Contur_output object. Typically will require some form of yoda input to run contur on. diff --git a/yaml_files/ColliderBit_CMSSM.yaml b/yaml_files/ColliderBit_CMSSM.yaml index 218b139ab1..45fd1c13ee 100644 --- a/yaml_files/ColliderBit_CMSSM.yaml +++ b/yaml_files/ColliderBit_CMSSM.yaml @@ -424,12 +424,9 @@ Rules: - ATLAS_2015_I1408516:LMODE=MU LHC_13TeV: analyses: - # - 13TeV - - ATLAS_2016_I1458270 - - ATLAS_2017_I1514251:LMODE=EL - - ATLAS_2017_I1514251:LMODE=MU + - 13TeV exclude_analyses: - - ATLAS_2016_I1469071 # This analysis causes crashes if run on BSM outside of rivet. + - ATLAS_2016_I1469071 # This analysis no longer crashes if run on BSM outside of rivet, but is still not useful. @@ -450,17 +447,17 @@ Rules: function: Contur_LHC_measurements_LogLike_perPool - # Dummy likelihood that can be used to guide the scanner. - # (If used, remember subtract this loglike contribution from the - # total loglike again when analysing the scan results.) - - capability: TotalCrossSection_LogLike - function: calc_TotalCrossSection_LogLike - options: - cross_section_lowerlim_fb: 1.0 - cross_section_lowerlim_width_fb: 0.5 - # cross_section_upperlim_fb: 1.0e5 - # cross_section_upperlim_width_fb: 0.5e5 - # max_random_loglike_increase: 0.01 + # # Dummy likelihood that can be used to guide the scanner. + # # (If used, remember subtract this loglike contribution from the + # # total loglike again when analysing the scan results.) + # - capability: TotalCrossSection_LogLike + # function: calc_TotalCrossSection_LogLike + # options: + # cross_section_lowerlim_fb: 1.0 + # cross_section_lowerlim_width_fb: 0.5 + # # cross_section_upperlim_fb: 1.0e5 + # # cross_section_upperlim_width_fb: 0.5e5 + # # max_random_loglike_increase: 0.01 Logger: