Page MenuHomeHEPForge

No OneTemporary

diff --git a/Changes-API.md b/Changes-API.md
index ebab982..f7def8b 100644
--- a/Changes-API.md
+++ b/Changes-API.md
@@ -1,101 +1,103 @@
# Changelog for HEJ API
This log lists only changes on the HEJ API. These are primarily code changes
relevant for calling HEJ as an API. This file should only be read as an addition
to [`Changes.md`](Changes.md), where the main features are documented.
## Version 2.1
### 2.1.0
#### Changes to Event class
* Restructured `Event` class
- `Event` can now only be build from a (new) `Event::EventData` class
- Removed default constructor for `Event`
- `Event::EventData` replaces the old `UnclusteredEvent` struct.
- `UnclusteredEvent` is now deprecated, and will be removed in HEJ Version
2.3.0
- Removed `Event.unclustered()` function
- Added new member function `Events.parameters()`, to directly access
(underlying) `Parameters<EventParameters>`
- New member functions `begin_partons`, `end_partons` (`rbegin_partons`,
`rend_partons`) with aliases `cbegin_partons`, `cend_partons`
(`crbegin_partons`, `crend_partons`) for constant (reversed) iterators over
outgoing partons.
* New function `Event::EventData.reconstruct_intermediate()` to reconstruct
bosons from decays, e.g. `positron + nu_e => Wp`
* Added optional Colour charges to particles (`Particle.colour`)
- Colour connection in the HEJ limit can be generated via
`Event.generate_colours` (automatically done in the resummation)
- Colour configuration of input events can be checked with
`Event.is_leading_colour`
* Added function `Event.valid_hej_state` to check if event _could have_ been
produced by `HEJ` according to the `max ext soft pt fraction` cut on the jets
#### Updated functions
* Renamed `EventType::nonHEJ` to `EventType::non_resummable` and `is_HEJ()`
to `is_resummable()` such that run card is consistent with internal workings
* Made `MatrixElement.tree_kin(...)` and `MatrixElement.tree_param(...)` public
* New `EventReweighter` member function `treatment` to query the
treatment with respect to resummation for the various event types.
* Added auxiliary functions to obtain a `std::string` from and
`EventDescription` (`to_string` for human readable, and `to_simple_string`
for easy parsable string)
* New `get_analyses` function to read in multiple `HEJ::Analysis` at once,
similar to `get_analysis`
#### New classes
* New class `Unweighter` to do unweighting
* New class `CrossSectionAccumulator` to keep track of Cross Section of the
different subprocess
* New template struct `Parameters` similar to old `Weights`
- `Weights` are now an alias for `Parameters<double>`. Calling `Weights` did
not change
- `Weights.hh` was replaced by `Parameters.hh`. The old `Weights.hh` header
will be removed in HEJ Version 2.2.0
* Function to multiplication and division of `EventParameters.weight` by double
- This can be combined with `Parameters`, e.g.
`Parameters<EventParameters>*Weights`, see also `Events.parameters()`
- Moved `EventParameters` to `Parameters.hh` header
* new class `EWConstants` replaces previously hard coded `vev`
- `EWConstants` have to be set in the general `Config` and the
`MatrixElementConfig`
#### Input/Output
* New abstract `EventReader` class, as base for reading events from files
- Moved LHE file reader to `HEJ::LesHouchesReader`
* Support reading (`HDF5Reader`) and writing (`HDF5Writer`) `hdf5` files
* New `BufferedEventReader` class that allows to put events back into
the reader.
* New `SherpaLHEReader` to read Sherpa LHE files with correct weights
* `get_analysis` now requires `YAML::Node` and `LHEF::HEPRUP` as arguments
* Replaced `HepMCInterface` and `HepMCWriter` by `HepMCInterfaceX` and
`HepMCWriterX` respectively, with `X` being the major version of HepMC (2 or
3)
- Renamed `HepMCInterfaceX::init_kinematics` to `HepMCInterfaceX::init_event`
and protected it, use `HepMCInterfaceX::operator()` instead
- Removed redundant `HepMCInterfaceX::add_variation` function
#### Linking
* Export cmake target `HEJ::HEJ` to link directly against `libHEJ`
+* Provide links to version specific object files, e.g. `libHEJ.so ->
+ libHEJ.so.2.1 (soname) -> libHEJ.so.2.1.0`
#### Miscellaneous
* Capitalisation of `Config.hh` now matches class `Config` (was `config.hh`)
* Replaced redundant member `EventReweighterConfig::jet_param` getter function
`EventReweighter.jet_param()` (`JetParameters` are already in
`PhaseSpacePointConfig`)
* Avoid storing reference to the Random Number Generator inside classes
- Constructors of `EventReweighter` now expect `std::shared_ptr<HEJ::RNG>`
(was reference)
- Moved reference to `HEJ::RNG` from constructor of `JetSplitter` to
`JetSplitter.split`
## Version 2.0
### 2.0.4
* Fixed wrong path of `HEJ_INCLUDE_DIR` in `hej-config.cmake`
### 2.0.0
* First release
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1702fbc..a3976c5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,60 +1,64 @@
file(GLOB src_files *.cc)
## hej source
add_library(HEJ SHARED ${src_files})
add_dependencies(HEJ currents)
-set_target_properties(HEJ PROPERTIES OUTPUT_NAME "HEJ")
+set_target_properties(HEJ PROPERTIES
+ OUTPUT_NAME "HEJ"
+ VERSION ${PROJECT_VERSION}
+ SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
+)
target_include_directories(HEJ PUBLIC ${HEJ_INCLUDE_DIR})
set(libraries ${CMAKE_DL_LIBS})
target_link_libraries(HEJ PRIVATE ${libraries})
## Dependencies
target_link_libraries(HEJ
PUBLIC
fastjet::fastjet
LHAPDF::LHAPDF
CLHEP::CLHEP
yaml-cpp
Boost::boost
Boost::iostreams
)
if(QCDloop_FOUND)
target_link_libraries(HEJ PRIVATE QCDloop::qcdloop quadmath)
target_compile_options( HEJ PUBLIC "-DHEJ_BUILD_WITH_QCDLOOP" )
endif()
if(HepMC_FOUND)
target_link_libraries(HEJ PRIVATE HepMC::HepMC)
target_compile_options( HEJ PUBLIC "-DHEJ_BUILD_WITH_HepMC2" )
endif()
if(HepMC3_FOUND)
# HepMC 3 doesn't export a target
target_link_libraries(HEJ PRIVATE ${HEPMC3_LIBRARIES})
target_include_directories(HEJ PRIVATE ${HEPMC3_INCLUDE_DIR})
target_compile_options( HEJ PUBLIC "-DHEJ_BUILD_WITH_HepMC3" )
endif()
if(rivet_FOUND)
target_link_libraries(HEJ PRIVATE rivet::rivet)
target_compile_options( HEJ PUBLIC "-DHEJ_BUILD_WITH_RIVET" )
if(rivet_VERSION VERSION_LESS 3)
target_compile_options(HEJ PRIVATE "-DHEJ_USE_RIVET2")
endif()
endif()
if(HighFive_FOUND)
target_link_libraries(HEJ PRIVATE HighFive)
target_compile_options( HEJ PUBLIC "-DHEJ_BUILD_WITH_HDF5" )
endif()
## install & export target
install(TARGETS HEJ
EXPORT HEJ-export
DESTINATION ${INSTALL_LIB_DIR}
)
install(EXPORT HEJ-export
FILE
hejTargets.cmake
NAMESPACE
HEJ::
DESTINATION
${INSTALL_CONFIG_DIR}
)

File Metadata

Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:59 PM (5 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486775
Default Alt Text
(6 KB)

Event Timeline