Recent Releases of cepgen

cepgen - v1.2.5

What's changed

Core

  • Added an event content comparison operator
  • Test: added extra event filling cases to event output test

Extensions

  • Python: improved floating point variables output in Python auto-generated configuration snippets
  • HepMC2: particles status are now properly fed to HepMC2 event content. Fixes #88
  • CTML: improved internal linking of auto-generated HTML documentation

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.4...1.2.5

- C++
Published by forthommel almost 2 years ago

cepgen - v1.2.4patch1

What's Changed

Core

  • Fixed a few warnings and errors when compiling with clang++ (v16): explicit template specialisation for cepgen::ModuleFactory, a few unnecessary std::move, wrong signature in values comparisons, ...
  • Fixed an infinite recursion in Integrator::integrate

Utilities

  • Improved the cepgenScan user-steerable parameters, uniformised with other utilities

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.4...1.2.4patch1

- C++
Published by forthommel almost 2 years ago

cepgen - v1.2.4

What's Changed

Core

  • Improved Fortran interface, in https://github.com/cepgen/cepgen/pull/87 (e.g. allow handling multiple structure functions/couplings modellings)
  • Safer handling of parameters description + parameters list object, allow vector of limits to be handled
  • Refactoring of event by-role and by-particle status retrieval, improved parentage setting/retrieval
  • Added a few ParametersDescription::allow implementations in various modules

Physics

  • Asymmetric parton virtualities constraints, in https://github.com/cepgen/cepgen/pull/85

Extensions

  • APFEL++: αS, αEM, and F2/FL structure functions evolution algorithms interface, in https://github.com/cepgen/cepgen/pull/81

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.3...1.2.4

- C++
Published by forthommel almost 2 years ago

cepgen - v1.2.3

What's Changed

Core

  • Refactoring of the factories, only to accept string-keyed objects definitions, in https://github.com/cepgen/cepgen/pull/73. For backward compatibility, index-keyed modules (structure functions, sigma L/T ratios) are given integer aliases and can be constructed from it through an association map.
  • Parameters description now support sets of allowed values for a given parameter, in https://github.com/cepgen/cepgen/pull/76. This allows to spot a misconfiguration before launching a steered module, and improves general documentation.

Physics

  • LPAIR, and factorised processes allow to properly symmetrise the single-dissociation kinematics mode, in https://github.com/cepgen/cepgen/pull/79.

Extensions

  • Herwig6: added alpha(S), alpha(EM), and structure functions modellings in https://github.com/cepgen/cepgen/pull/74 and https://github.com/cepgen/cepgen/pull/77.
  • APFEL: added DIS structure functions modelling, in https://github.com/cepgen/cepgen/pull/75 (thanks to @hamzeh-khanpour's suggestion!)
  • Python steering of structure functions and sigma ratio modellings now count on automatically generated python_modules imports, instead of a manually maintained collection of modellings.

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.2...1.2.3

- C++
Published by forthommel about 2 years ago

cepgen - v1.2.2

What's Changed

Core

  • Phase space variables generator intermediate object, in https://github.com/cepgen/cepgen/pull/56. This sets the ground for faster phase space mappers algorithms to be interfaced, such as Rambo.
  • Refactoring of factories implementation, in https://github.com/cepgen/cepgen/pull/60
  • RPM packaging was added in CI since https://github.com/cepgen/cepgen/pull/59

Physics

  • Fix of LPAIR z-dependent distributions in SD mode, in https://github.com/cepgen/cepgen/pull/58
  • Allow signed PDG indices to be used in processes, and in particle properties definitions, in https://github.com/cepgen/cepgen/pull/61 and https://github.com/cepgen/cepgen/pull/62
  • Refactoring of steering cards interface, in https://github.com/cepgen/cepgen/pull/65
  • A new type of steered module with registration is handled: modules descriptor objects, in https://github.com/cepgen/cepgen/pull/66
  • Allows form factors to be set at the individual beam level, in case of asymmetric beam-beam interactions, in https://github.com/cepgen/cepgen/pull/71
  • LPAIR now allows asymmetric beams to be handled, in https://github.com/cepgen/cepgen/pull/72 (useful for pPb, or ep cases)

Extensions

  • Porting of the MG5_aMC features in the new factorised process environment, in https://github.com/cepgen/cepgen/pull/63
  • MadGraph5_aMC@NLO in CI, in https://github.com/cepgen/cepgen/pull/64
  • Bump actions/checkout from 3 to 4, and github/codeql-action from 2 to 3 in https://github.com/cepgen/cepgen/pull/67 and https://github.com/cepgen/cepgen/pull/68
  • Python+CTML documentation generators, in https://github.com/cepgen/cepgen/pull/69
  • Python: automatic modules steering generation, in https://github.com/cepgen/cepgen/pull/70. This allows the automatic generation of steered modules configuration in Python, easily importable and modifiable, and allows a cleanup of most of the Python configurations already written.

Contributors

  • @forthommel

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.1...1.2.2

- C++
Published by forthommel about 2 years ago

cepgen - v0.9.6

What's Changed

Core

  • Improved the structure functions parameterisation objects definition (see 7c57a24d31, 1c5e353895)

Extensions

  • Added support of Pythia6 hadronisation/fragmentation algorithm for legacy tests (see 06ebf75259)
  • New output modes handled for HepMC interfacing module

Full Changelog: https://github.com/cepgen/cepgen/compare/0.9.5...0.9.6

- C++
Published by forthommel over 2 years ago

cepgen - v0.9.7

What's Changed

Core

  • Fortran processes can now be fed a generic set of parameters, thanks to additional getter functions
  • Output handlers may now be constructed directly from steering cards, thus enhancing overall modularity (see b8e5927e52, 507f8ccdc8)
  • New text output handler for raw text output, and ASCII histograms (see d59f3702ca)
  • Added a helper for the retrieval of events properties through human-readable getters (see 65ae85039c)

Extensions

  • New HepMC ASCII output handler (for HepMC v<3), refactored HepMC event builder in preparation for future developments (see 7f982e3a3d)
  • New ROOT histogram collections and ntuple files writers. Dropped the support for the cepgen-root executable (see e467dcf1a0, e3b10e3572)
  • Interface to Delphes for the simulation of detectors effects (see 0f0e541a2f)

Full Changelog: https://github.com/cepgen/cepgen/compare/0.9.6...0.9.7

- C++
Published by forthommel over 2 years ago

cepgen - v0.9.10

What's Changed

Core

  • Added a command line handler to "digest" user-steered cepgen executable steering
  • Added a new base object for event export
  • Modularised the event generator worker in preparation to multithreading support
  • Modularised the numerical integration algorithms
  • New dynamic libraries loading extension to increase modularity

Physics

  • Refactored the kinematics cuts definition and usage

Extensions

  • Support of Python v3
  • Optionally build Foam ROOT extension
  • Pythia6: added Z2star underlying event modelling

Full Changelog: https://github.com/cepgen/cepgen/compare/0.9.9...0.9.10

- C++
Published by forthommel over 2 years ago

cepgen - v0.9.11

What's Changed

Core

  • Form factors are now modularised the same way as e.g. structure functions
  • Showing default value in parameters list steering debug
  • Refactoring of the process kinematics/incoming beams storage and handling
  • CepGenAddOns extensions are now completely self-embedded, with their own checks done internally

Physics

Extensions

  • Added interface to the APFEL alpha(S) evolution computation algorithm

Full Changelog: https://github.com/cepgen/cepgen/compare/0.9.10...0.9.11

- C++
Published by forthommel over 2 years ago

cepgen - v1.0.0

What's Changed

Core

  • Several utilities are now converted into the post-0.9.X modules schema. This allows to delegate a few definitions in the runtime loading of all libraries compiled against CepGen, thus reducing the overhead of dependencies for the CepGen core library.
  • A new parameters documentation system was introduced to list all possible keys and their default/expected values and ease the user-interaction with all module parameters.
  • Added a set of utilities to ease the drawing of 1- and 2-dimensional graphs and histograms.

Physics

Extensions

  • In addition to the "standard" text-based renderer, several libraries are interfaced to generate their output (ROOT, YODA, Gnuplot, Matplotlib, Topdrawer).
  • Python cards steering et al. interface is now stripped off the core CepGen library into a dedicated CepGenPython library. It now includes a functional parser and output configuration producer.
  • HepMC interface is now further split between its pre3 and 3+ versions. This allows to ease the interfacing between CepGen event content and several libraries accepting a HepMC2 or HepMC3 event content.
  • Added a Photos++ and a Tauola++ algorithms interface for event modification.
  • Included a testing suite for e.g. Pythia 6 steering through its CepGen interface.

Full Changelog: https://github.com/cepgen/cepgen/compare/1.0.0alpha2...1.0.0

- C++
Published by forthommel over 2 years ago

cepgen - v1.2.1

What's Changed

  • Fix of HepMC3 output PDG id and factorised processes central particles status codes by @forthommel in https://github.com/cepgen/cepgen/pull/54
  • Consequently, added event importer for HepMC3 event formats, and adapted test to check for Particle::integerPdgId() instead of sign-insensitive Particle::pdgId()
  • ROOT version-dependent calls to TPad::PlaceBox (fixes https://github.com/cepgen/cepgen/issues/55)
  • 2-to-4 factorised processes now return central systems with PDG status 1 (stable) by default
  • Further simplifications of LPAIR process

Full Changelog: https://github.com/cepgen/cepgen/compare/1.2.0...1.2.1

- C++
Published by forthommel over 2 years ago

cepgen - v1.2.0

This major release introduces a collection of bug fixes and new features to be used in future processes developments.

  • Most important part resides in the large scale refactoring of kt-factorised matrix elements, now allowing for collinear parton emission and fluxes estimations to provide a 1-to-1 comparison to other two-photon processes generators.

  • Also noticeable is the long awaited bug fix in single-dissociative LPAIR production (elastic-inelastic could result in cross sections 1000x larger than inelastic-elastic ones).

  • A few other features were also transformed into modules to ease user-steering, e.g. events can now be generated using Foam, with future tools to be provided in the future. Also, a couple event import modules are now provided to allow for future hadronisation/modification/output of events produced in another generator (transforming CepGen into an event filter).

What's Changed

  • Exposing structure functions to python by @forthommel in https://github.com/cepgen/cepgen/pull/24
  • Integration: added Python Vegas wrapper by @forthommel in https://github.com/cepgen/cepgen/pull/25
  • Python: refactoring of the directory structure by @forthommel in https://github.com/cepgen/cepgen/pull/26
  • Multiple generator workers by @forthommel in https://github.com/cepgen/cepgen/pull/27
  • Value with uncertainty object by @forthommel in https://github.com/cepgen/cepgen/pull/29
  • Extra layer of abstraction for phase space mapping by @forthommel in https://github.com/cepgen/cepgen/pull/30
  • Collinear beam fluxes by @forthommel in https://github.com/cepgen/cepgen/pull/32
  • LPAIR: support for all fermion types by @forthommel in https://github.com/cepgen/cepgen/pull/33
  • MadGraph5_aMC@NLO interfacing by @forthommel in https://github.com/cepgen/cepgen/pull/34
  • torchquad integration method by @forthommel in https://github.com/cepgen/cepgen/pull/36
  • Fixes for Python 3.12 by @forthommel in https://github.com/cepgen/cepgen/pull/38
  • Pythia 6 filter refactoring by @forthommel in https://github.com/cepgen/cepgen/pull/37
  • Random number generator engines by @forthommel in https://github.com/cepgen/cepgen/pull/39
  • Python: full refactoring of the configuration directory by @forthommel in https://github.com/cepgen/cepgen/pull/41
  • Added Webber alpha(S) modelling by @forthommel in https://github.com/cepgen/cepgen/pull/42
  • Process debugging helper by @forthommel in https://github.com/cepgen/cepgen/pull/43
  • Utils: added GSL wrappers to matrices/vectors by @forthommel in https://github.com/cepgen/cepgen/pull/44
  • Core: refactoring of run parameters object by @forthommel in https://github.com/cepgen/cepgen/pull/46
  • Bases: interface to the Bases integration algorithm by @forthommel in https://github.com/cepgen/cepgen/pull/48
  • Bases: Spring generator worker interface by @forthommel in https://github.com/cepgen/cepgen/pull/49
  • Core: event importer modules by @forthommel in https://github.com/cepgen/cepgen/pull/50
  • Continuous integration fix by @forthommel in https://github.com/cepgen/cepgen/pull/19
  • Single-dissociation symmetry test by @forthommel in https://github.com/cepgen/cepgen/pull/28
  • Utils: MCD parser empty info detection by @forthommel in https://github.com/cepgen/cepgen/pull/51

Full Changelog: https://github.com/cepgen/cepgen/compare/1.1.0...1.2.0

- C++
Published by forthommel over 2 years ago

cepgen - v1.1.0

This major release introduces a few features, both in core FW and in the physics performances parts. Core developments: * generalisation of parton flux computation through a new intermediate object * stripped all factories from their objects' namespaces ; now require a ; at registration, because why not? * base objects for event interaction modules (modifiers, output handlers, ...) now all derive from a base cepgen::EventHandler object, and are now given a full CepGen/EventFilter directory ; new cepgen::EventHarvester base object to hold integrated distributions to be displayed * added accessor for external algorithm's base object (if defined) * grid parameters for event generation are now downgraded with single-precision floats * large refactoring of the analytic integrators algorithms, which have a shared API with numerical/MC integrators * new numerical derivators wrapper (ROOT, GSL)

Physics developments: * improvement in form factors modellings API, stripped most of the LPAIR-specific cases * huge simplification of the kinematics definitions object * new HI fluxes * new Bodek-Kang-Xu hybrid structure functions * alphaEM Q^2 evolution can be used in fortran processes, as for alphaS

- C++
Published by forthommel over 3 years ago

cepgen - v1.0.2

- C++
Published by forthommel almost 4 years ago

cepgen - v1.0.1 patch1

This patch version switches BLAS default routines definitions from GSL's implementation to the optimised OpenBLAS. As a fallback solution if not found on environment, GSL's implementation can be used instead.

- C++
Published by forthommel almost 4 years ago

cepgen - v1.0.1

Full Changelog: https://github.com/cepgen/cepgen/compare/1.0.0...1.0.1

- C++
Published by forthommel almost 4 years ago