Releases: LDMX-Software/G4DarkBreM
v2.1.0 : Allow for A' Decay and Kinematics Scaling
Excellent work done by @RobMina in order to enable scaling of the dark photon's kinematics (in the same manner as the recoiling lepton's) and to allow for the G4APrime particle to decay to electron-positron pair at either a fixed lifetime or uniformly-random sampled distance.
What's Changed
New Contributors
Full Changelog: v2.0.3...v2.1.0
v2.0.3 : Patches to Prepare for Contribution
#33 brought up how many things have fallen by the wayside, so this release is focused on wrapping up those small patches that are necessary to help confirm new contributions (as well as test the updated doc build/publishing workflow).
🐛 Human Bug Fixes
- Create dependabot.yml by @tomeichlersmith in #28
- switch workflow from branch-based to action-based page publishing by @tomeichlersmith in #35
- Patch example event libraries for v2 by @tomeichlersmith in #36
🤖 Bot Changes
- Bump tsunematsu21/actions-publish-gh-pages from 1.0.1 to 1.0.2 by @dependabot in #32
- Bump actions/cache from 3 to 4 by @dependabot in #31
- Bump actions/checkout from 2 to 4 by @dependabot in #30
New Contributors
- @dependabot made their first contribution in #32
Full Changelog: v2.0.2...v2.0.3
v2.0.1 : clean compiler warnings and format
What's Changed
- expand single-char variable names to avoid compiler warnings by @tomeichlersmith in #21
- Clang format by @tomeichlersmith in #22
Full Changelog: v2.0.0...v2.0.1
v2.0.0 : Multi-Z Library Support
Breaking Change
The main reason to make a major release is the breaking change of the expected format of CSV event libraries. Another column was added to define the Z of the target nucleus for that sample. This is now the first column and the rest were just shifted to the right one.
What's Changed
- add z axis to dark brem reference library by @tomeichlersmith in #19
Full Changelog: v1.3.0...v2.0.0
v1.3 : Xsec Interpolation for Speed
Besides the introduction of a (optional but default enabled) xsec interpolation providing a substantial speed improvement, a small bug in the cross section calculation was also squashed to make sure that the calculated cross section goes all the way down to the actual kinematic minimum of
Breaking Changes
The constructor of G4DarkBremsstrahlung has once again changed, now adding another boolean to indicate whether to use the interpolation or not.
What's Changed
- xsec interpolation by @tomeichlersmith in #16
- kinematic limit within /differential/ xsec is MA not 2MA by @tomeichlersmith in #18
Full Changelog: v1.2.2...v1.3.0
v1.2.1 : Usability and Documentation Improvements
Besides a host of documentation improvements, we've also added another XsecMethod variant which simply allows the model to use whichever XsecMethod it believes is best suited for a specific lepton and dark photon mass situation. This variant is called Auto
and is the new default.
Breaking Changes
Updating the default XsecMethod required another modification of the G4DarkBreMModel constructor. A code snippet below shows a quick reference for the different constructor parameters.
auto model = std::make_shared<g4db::G4DarkBreMModel>(
db_lib, // path to dark brem event library
muons, // lepton is a muon (or not)
0.0, // threshold for non-zero xsec
1.0, // epsilon
g4db::G4DarkBreMModel::ScalingMethod::ForwardOnly, // scaling method
g4db::G4DarkBreMModel::XsecMethod::Auto, // xsec calculation method
50.0, // maximum mA/mL to use the Full WW, above which use the Improved WW
622, // ID of dark photon in event library
false // load event library
);
Full Changelog: v1.2.0...v1.2.1
v1.2.0 : Update Total Cross Section Calculation
The biggest change for this release and the one that motiviated an increase in the minor version is that the cross section calculation was improved. Specifically, the numerical integration of chi was stabilized so we can know use it everywhere. This means the only variation between different calculation methods is whether or not to neglect the lepton mass and the dark photon recoil angle theta.
Breaking Changes
It is important to note that this release breaks the previous API for constructing the model, now choosing to force the user to define which scaling method and which cross section calculation method they want the model to use. The easiest way to update is to look at one of the examples in app
, specifically, in xsec_calc.cxx, we construct the model as below.
auto model = std::make_shared<g4db::G4DarkBreMModel>(
g4db::G4DarkBreMModel::ScalingMethod::Undefined, // scaling method
xsec_methods.at(method), // xsec calculation method
0.0, // threshold for non-zero xsec
1.0, // epsilon
"NOT NEEDED", // path to dark brem event library
muons, // lepton is a muon (or not)
622, // ID of dark photon in event library
false // load event library
);
where xsec_methods
is a std::map
from the CLI names for the different methods to the enums that are taken as arguments to the model constructor.
What's Changed
- stablize action os by @tomeichlersmith in #14
- use ln(t) as integration variable in chi f95ee55
- allow user to choose which variation of the WW approximation to use 1c175f0 and 6cd12b8
- update documentation with new formulae 558efa1
Full Changelog: v1.1.2...v1.2.0
v1.1.2 : Patches from Review Comments
Just a few patches when re-running things after receiving review comments.
Non-Physics Changes
- Patch URI for action badge: f822391 and e1c1b27
- Fix ubuntu version for action runner b2a6d3b
- For some reason, Boost is failing to build on Ubuntu 22.04 which has GCC 11. Instead of figuring out why this is, I'm just using
ubuntu-20.04
for now.
- For some reason, Boost is failing to build on Ubuntu 22.04 which has GCC 11. Instead of figuring out why this is, I'm just using
- Patches to cross section executable CLI 23fe7f2 and a7af207
- Comment on bug in dark-brem-lib-gen c4a19b2
- bump minor version number 6ef9cf4
Full Changelog: v1.1.1...v1.1.2
v1.1.1 : More Specific Comments before Submission
Just a patch adding in more links for interested readers.
Full Changelog: v1.1.0...v1.1.1
v1.1 : Public Ready
Besides providing different options for how libraries can be parse and testing various Boost and Geant4 versions, this release also contains significant updates to the documentation so that it is easier to understand and run out-of-the-box. This is the release of G4DarkBreM that is submitted along with the paper text.
What's Changed
- library parsing updates by @tomeichlersmith in #9
- Test action by @tomeichlersmith in #11
Full Changelog: v1.0.1...v1.1.0