Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ThePEG for openSUSE:Factory checked in at 2021-03-24 16:12:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ThePEG (Old) and /work/SRC/openSUSE:Factory/.ThePEG.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ThePEG" Wed Mar 24 16:12:31 2021 rev:16 rq:880525 version:2.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ThePEG/ThePEG.changes 2020-07-17 20:54:23.529141965 +0200 +++ /work/SRC/openSUSE:Factory/.ThePEG.new.2401/ThePEG.changes 2021-03-24 16:12:35.523916340 +0100 @@ -1,0 +2,8 @@ +Thu Mar 18 23:32:08 UTC 2021 - Atri Bhattacharya <[email protected]> + +- Update to version 2.2.2: + * Add meta mechanism to event record. + * Add option of preloading yoda files and remove support for + rivet-1 and aida. + +------------------------------------------------------------------- Old: ---- ThePEG-2.2.1.tar.bz2 New: ---- ThePEG-2.2.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ThePEG.spec ++++++ --- /var/tmp/diff_new_pack.gdjRzN/_old 2021-03-24 16:12:36.287917142 +0100 +++ /var/tmp/diff_new_pack.gdjRzN/_new 2021-03-24 16:12:36.291917147 +0100 @@ -1,7 +1,7 @@ # # spec file for package ThePEG # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %bcond_with java Name: ThePEG -Version: 2.2.1 +Version: 2.2.2 Release: 0 Summary: Toolkit providing a common platform for event generators in C++ License: GPL-2.0-only @@ -50,7 +50,6 @@ ThePEG project is a toolkit for providing a common platform for using and building event generators in C++. - %package -n ThePEG-libs Summary: Toolkit providing a common platform for event generators in C++ Group: System/Libraries ++++++ ThePEG-2.2.1.tar.bz2 -> ThePEG-2.2.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/Analysis/RivetAnalysis.cc new/ThePEG-2.2.2/Analysis/RivetAnalysis.cc --- old/ThePEG-2.2.1/Analysis/RivetAnalysis.cc 2019-07-08 10:03:17.000000000 +0200 +++ new/ThePEG-2.2.2/Analysis/RivetAnalysis.cc 2021-01-20 21:18:33.000000000 +0100 @@ -19,10 +19,11 @@ #include "Rivet/AnalysisHandler.hh" #include "Rivet/Tools/RivetPaths.hh" #include "Rivet/Tools/Logging.hh" +#include "ThePEG/Utilities/DescribeClass.h" using namespace ThePEG; -RivetAnalysis::RivetAnalysis() : debug(false), _rivet(), _nevent(0) +RivetAnalysis::RivetAnalysis() : _debug(false), _rivet(), _nevent(0) {} void RivetAnalysis::analyze(ThePEG::tEventPtr event, long ieve, int loop, int state) { @@ -34,9 +35,7 @@ // analyse the event if(_nevent>1) CurrentGenerator::Redirect stdout(cout); if ( _rivet ){ -#if ThePEG_RIVET_VERSION == 1 - _rivet->analyze(*hepmc); -#elif ThePEG_RIVET_VERSION > 1 +#if ThePEG_RIVET_VERSION > 1 try { _rivet->analyze(*hepmc); } catch (const YODA::Exception & e) { @@ -69,15 +68,17 @@ } void RivetAnalysis::persistentOutput(ThePEG::PersistentOStream & os) const { - os << _analyses << _paths << filename << debug; + os << _analyses << _preload << _paths << _filename << _debug; } void RivetAnalysis::persistentInput(ThePEG::PersistentIStream & is, int) { - is >> _analyses >> _paths >> filename >> debug; + is >> _analyses >> _preload >> _paths >> _filename >> _debug; } -ThePEG::ClassDescription<RivetAnalysis> RivetAnalysis::initRivetAnalysis; -// Definition of the static class description member. +// The following static variable is needed for the type +// description system in ThePEG. +DescribeClass<RivetAnalysis,AnalysisHandler> +describeRivetAnalysis("ThePEG::RivetAnalysis", "RivetAnalysis.so"); void RivetAnalysis::Init() { @@ -91,6 +92,12 @@ &RivetAnalysis::_analyses, -1, "", "","" "", false, false, ThePEG::Interface::nolimits); + static ParVector<RivetAnalysis,string> interfacePreLoad + ("PreLoad", + "The yoda files to be preloaded", + &RivetAnalysis::_preload, -1, "", "", "", + false, false, Interface::nolimits); + static ThePEG::ParVector<RivetAnalysis,string> interfacePaths ("Paths", "The directory paths where Rivet should look for analyses.", @@ -99,24 +106,20 @@ static Parameter<RivetAnalysis,string> interfaceFilename ("Filename", -#if ThePEG_RIVET_VERSION == 1 - "The name of the file where the AIDA histograms are put. If empty, " - "the run name will be used instead. '.aida' will in any case be " - "appended to the file name.", -#elif ThePEG_RIVET_VERSION > 1 +#if ThePEG_RIVET_VERSION > 1 "The name of the file where the YODA histograms are put. If empty, " "the run name will be used instead. '.yoda' will in any case be " "appended to the file name.", #else #error "Unknown ThePEG_RIVET_VERSION" #endif - &RivetAnalysis::filename, "", true, false); + &RivetAnalysis::_filename, "", true, false); static Switch<RivetAnalysis,bool> interfaceDebug ("Debug", "Enable debug information from Rivet", - &RivetAnalysis::debug, false, true, false); + &RivetAnalysis::_debug, false, true, false); static SwitchOption interfaceDebugNo (interfaceDebug, "No", @@ -145,11 +148,8 @@ #endif _rivet->finalize(); - string fname = filename; -#if ThePEG_RIVET_VERSION == 1 - if ( fname.empty() ) - fname = generator()->path() + "/" + generator()->runName() + ".aida"; -#elif ThePEG_RIVET_VERSION > 1 + string fname = _filename; +#if ThePEG_RIVET_VERSION > 1 if ( fname.empty() ) fname = generator()->path() + "/" + generator()->runName() + ".yoda"; #else @@ -186,7 +186,7 @@ AnalysisHandler::doinitrun(); // create Rivet analysis handler CurrentGenerator::Redirect stdout(cout); - _rivet = new Rivet::AnalysisHandler; //(fname); + _rivet = new Rivet::AnalysisHandler; for ( int i = 0, N = _paths.size(); i < N; ++i ) Rivet::addAnalysisLibPath(_paths[i]); _rivet->addAnalyses(_analyses); // check that analysis list is still available @@ -196,6 +196,16 @@ << "Use 'rivet --list-analyses' to check availability.\n" << ThePEG::Exception::runerror; } - if ( debug ) + // preload files +#if ThePEG_RIVET_VERSION > 2 + for(string fname : _preload) { + _rivet->readData(fname); + } +#else + if(!_preload.empty()) + throw Exception() << "You have requested yoda files are preloaded by Rivet but this only supported for Rivet 3 and above"; +#endif + // debugging + if ( _debug ) Rivet::Log::setLevel("Rivet",Rivet::Log::DEBUG); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/Analysis/RivetAnalysis.h new/ThePEG-2.2.2/Analysis/RivetAnalysis.h --- old/ThePEG-2.2.1/Analysis/RivetAnalysis.h 2019-04-23 11:50:32.000000000 +0200 +++ new/ThePEG-2.2.2/Analysis/RivetAnalysis.h 2021-01-20 21:18:33.000000000 +0100 @@ -136,6 +136,11 @@ vector<string> _analyses; /** + * Yoda files to be preloaded + */ + vector<string> _preload; + + /** * Search paths for finding rivet analyses. */ vector<string> _paths; @@ -143,12 +148,12 @@ /** * The base name of the output file. */ - string filename; + string _filename; /** * Enable debugging information from Rivet */ - bool debug; + bool _debug; /** * The RivetAnalysisHandler @@ -163,39 +168,4 @@ } -#include "ThePEG/Utilities/ClassTraits.h" - -namespace ThePEG { - -/** @cond TRAITSPECIALIZATIONS */ - -/** This template specialization informs ThePEG about the - * base classes of RivetAnalysis. */ -template <> -struct BaseClassTrait<RivetAnalysis,1> { - /** Typedef of the first base class of RivetAnalysis. */ - typedef AnalysisHandler NthBase; -}; - -/** This template specialization informs ThePEG about the name of - * the RivetAnalysis class and the shared object where it is defined. */ -template <> -struct ClassTraits<RivetAnalysis> - : public ClassTraitsBase<RivetAnalysis> { - /** Return a platform-independent class name */ - static string className() { return "ThePEG::RivetAnalysis"; } - /** - * The name of a file containing the dynamic library where the class - * RivetAnalysis is implemented. It may also include several, space-separated, - * libraries if the class RivetAnalysis depends on other classes (base classes - * excepted). In this case the listed libraries will be dynamically - * linked in the order they are specified. - */ - static string library() { return "RivetAnalysis.so"; } -}; - -/** @endcond */ - -} - #endif /* THEPEG_RivetAnalysis_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/EventRecord/Event.h new/ThePEG-2.2.2/EventRecord/Event.h --- old/ThePEG-2.2.1/EventRecord/Event.h 2019-12-03 11:37:45.000000000 +0100 +++ new/ThePEG-2.2.2/EventRecord/Event.h 2021-01-20 21:18:33.000000000 +0100 @@ -14,6 +14,7 @@ #include "StandardSelectors.h" #include "SubProcess.h" #include "ThePEG/Utilities/Named.h" +#include "ThePEG/Utilities/AnyReference.h" namespace ThePEG { @@ -261,6 +262,38 @@ */ void primaryCollision(tCollPtr c); +public: + + /** + * Check for meta information + */ + bool hasMeta(const string& id) const { + return theMeta.find(id) != theMeta.end(); + } + + /** + * Set meta information. + */ + template<class T> + void meta(const string& id, T& ref) { + theMeta[id] = AnyReference(ref); + } + + /** + * Erase meta information. + */ + void eraseMeta(const string& id) { + theMeta.erase(id); + } + + /** + * Retrieve meta information. + */ + template<class T> + T& meta(const string& id) const { + return theMeta.find(id)->second.cast<T>(); + } + protected: /** @@ -388,6 +421,11 @@ */ long theParticleNumber; + /** + * The meta information + */ + map<string,AnyReference> theMeta; + public: /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/NEWS new/ThePEG-2.2.2/NEWS --- old/ThePEG-2.2.1/NEWS 2020-04-10 19:27:00.000000000 +0200 +++ new/ThePEG-2.2.2/NEWS 2021-01-20 21:18:57.000000000 +0100 @@ -8,6 +8,12 @@ The latest version of ThePEG can be found at http://www.thep.lu.se/ThePEG or at https:///herwig.hepforge.org/ +* ThePEG-2.2.2 release: 2021-01-22 + +** add meta mechanism to event record + +** add option of preloading yoda files and remove support for rivet-1 and aida + * ThePEG-2.2.1 release: 2019-04-10 ** new release solely to keep Herwig and ThePEG version numbers in sync diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/PDF/LHAPDF6.cc new/ThePEG-2.2.2/PDF/LHAPDF6.cc --- old/ThePEG-2.2.1/PDF/LHAPDF6.cc 2019-12-03 11:37:44.000000000 +0100 +++ new/ThePEG-2.2.2/PDF/LHAPDF6.cc 2021-01-20 21:18:57.000000000 +0100 @@ -143,14 +143,36 @@ const vector<int> & flavs = pdfset.get_entry_as< vector<int> >("Flavors"); + // check for leptons and antileptons + bool hasLepton [3] = {false,false,false}; + bool hasAntiLepton[3] = {false,false,false}; + vector<int> flav2; + flav2.reserve(flavs.size()+3); + for (int val : flavs) { + if(abs(val) == 11 || abs(val) ==13 || abs(val)==15) { + int ilep = (abs(val)-11)/2; + if(val>0) hasLepton[ilep]=true; + else hasAntiLepton[ilep]=true; + } + flav2.push_back(val); + } + for(unsigned int ix=0;ix<3;++ix) { + if(hasLepton[ix] && !hasAntiLepton[ix]) { + int pid = 11+2*ix; + cerr << "Charged lepton with pid=" << pid << " found in PDF but not the antilepton" + << " assumming antilepton PDF is equal to the lepton one\n"; + flav2.push_back(-pid); + } + } + cPDVector ret; - ret.reserve( flavs.size() ); + ret.reserve( flav2.size() ); if ( canHandleParticle(particle) ) { - for ( size_t i=0; i < flavs.size(); ++i ) { - ret.push_back(getParticleData(flavs[i])); + for ( size_t i=0; i < flav2.size(); ++i ) { + ret.push_back(getParticleData(flav2[i])); } } - assert( ret.size() == flavs.size() ); + assert( ret.size() == flav2.size() ); return ret; } @@ -227,6 +249,12 @@ return thePDF->xfxQ2(g,x,Q2); case ParticleID::gamma: return thePDF->xfxQ2(ParticleID::gamma,x,Q2); + case ParticleID::eminus: case ParticleID::muminus: case ParticleID::tauminus: + case ParticleID::eplus : case ParticleID::muplus : case ParticleID::tauplus : + if(pid>0 || thePDF->hasFlavor(pid)) + return thePDF->xfxQ2(pid,x,Q2); + else + return thePDF->xfxQ2(-pid,x,Q2); } return 0.0; } @@ -384,6 +412,12 @@ return thePDF->xfxQ2(g,x,Q2); case ParticleID::gamma: return thePDF->xfxQ2(ParticleID::gamma,x,Q2); + case ParticleID::eminus: case ParticleID::muminus: case ParticleID::tauminus: + case ParticleID::eplus : case ParticleID::muplus : case ParticleID::tauplus : + if(pid>0 || thePDF->hasFlavor(pid)) + return thePDF->xfxQ2(pid,x,Q2); + else + return thePDF->xfxQ2(-pid,x,Q2); } return 0.0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/configure new/ThePEG-2.2.2/configure --- old/ThePEG-2.2.1/configure 2020-04-10 19:27:20.000000000 +0200 +++ new/ThePEG-2.2.2/configure 2021-01-20 21:19:04.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ThePEG 2.2.1. +# Generated by GNU Autoconf 2.69 for ThePEG 2.2.2. # # Report bugs to <http://www.thep.lu.se/ThePEG/>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='ThePEG' PACKAGE_TARNAME='ThePEG' -PACKAGE_VERSION='2.2.1' -PACKAGE_STRING='ThePEG 2.2.1' +PACKAGE_VERSION='2.2.2' +PACKAGE_STRING='ThePEG 2.2.2' PACKAGE_BUGREPORT='http://www.thep.lu.se/ThePEG/' PACKAGE_URL='' @@ -1409,7 +1409,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ThePEG 2.2.1 to adapt to many kinds of systems. +\`configure' configures ThePEG 2.2.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1480,7 +1480,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ThePEG 2.2.1:";; + short | recursive ) echo "Configuration of ThePEG 2.2.2:";; esac cat <<\_ACEOF @@ -1625,7 +1625,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ThePEG configure 2.2.1 +ThePEG configure 2.2.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2237,7 +2237,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ThePEG $as_me 2.2.1, which was +It was created by ThePEG $as_me 2.2.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3198,7 +3198,7 @@ # Define the identity of the package. PACKAGE='ThePEG' - VERSION='2.2.1' + VERSION='2.2.2' cat >>confdefs.h <<_ACEOF @@ -20356,7 +20356,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ThePEG $as_me 2.2.1, which was +This file was extended by ThePEG $as_me 2.2.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20422,7 +20422,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ThePEG config.status 2.2.1 +ThePEG config.status 2.2.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ThePEG-2.2.1/configure.ac new/ThePEG-2.2.2/configure.ac --- old/ThePEG-2.2.1/configure.ac 2020-04-10 19:27:00.000000000 +0200 +++ new/ThePEG-2.2.2/configure.ac 2021-01-20 21:18:57.000000000 +0100 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([ThePEG],[2.2.1],[http://www.thep.lu.se/ThePEG/],[ThePEG]) +AC_INIT([ThePEG],[2.2.2],[http://www.thep.lu.se/ThePEG/],[ThePEG]) AC_CONFIG_AUX_DIR([Config]) AC_CONFIG_MACRO_DIR([m4])
