Rivet change log
The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
[Unreleased 4.1.x]
Added
- AnalysisHandler::addAnalyses() bulk-config method to simplfy API use.
- Run::readEvents() method and Python mapping to allow users to run the API without a for-loop.
- Support of ‘style’ as the (preferred) alias to ‘plot features’ in the plotting dict.
- Add LHCB_2025_I2922449: measurement of B-jet mass in pp collisions at 13 TeV
- Introduce Rivet/Analyses/LHCbCommon.hh containing a special projection needed for LHCb specific heavy flavour jet tagging to work with FastJet
Fixed
- Fix multi-threaded logic in
rivet-merge - Plotting: Fix use of nominal central values when PDF-variation regex misses nominal.
- Add missing photon isolation to CMS_2014_I1266056.cc .
- Fix multi-threaded logic in
rivet-merge.
Changed
- Make rivet-mkhtml sort (d,x,y) plot names logically rather than alphanumerically.
- Formatting improvements in the ATLAS_2019_I1750330 plot labels.
[4.1.3] - 2026-05-22
Added
- Add INSPIRE IDs for various CONF notes.
- Add SND_2025_I3066778 e+e- > eta gamma.
- Add BESIII_2026_I2893764 pi+- K+- spectra in low energy e+e-.
- Add
PTMINandPTMAXoptions to MC_FSPARTICLES, to change the selection and plotting ranges in pT (and E observables). Change the default min pT from the “secret” 500 MeV (motivated by ATLAS tracking) to 0 GeV. - Add BESIII_2025_I3074754 D0 -> KS0 pi0 pi0.
- Add a
RIVET_IGNORE_EVTGROUPSenvironment variable to skip the event-number-change trigger for histogram syncing.
Changed
- Overhaul
mk-analysis-jsonto support new HEPData analysis JSON schema (v1.0.0) - DELPHI_2000_I524693.info: declare analysis as re-entrant, because it is!
- Retain additional
LDFLAGSfromfastjet-config. - Retain
BEAMINFOobject info for equivalent merging.
[4.1.2] - 2025-10-24
Added
- Add smearing of both vector pT and Et in the
SmearedMETprojection (using the same smearing functors) and return the appropriate momentum/energy values from its observable methods. - Add BELLE_2025_I2897384 Lambda_c+ -> p K pi
- Add BESIII_2025_I2957171 e+ e- > Omega- OmegaBar+
- Extend MC_MET to include (ATLAS) smeared reco observables.
Removed
- Remove the no-argument run mode for
rivet: at least one HepMC source arg must be given, now explictly using-for stdin (which was previously the default arg if none were given).
Changed
- Rework inheritance structure of MET projections to reduce duplication and provide specific truth/reco data via the most unambiguous names. Also adding more alias coverage.
[4.1.1] - 2025-08-06
Added
- Allow bypassing of beam check in equivalent-mode merging by
introducing
--ignore-beamsflag. - Add an
ATLAS_RUN2_PFLOWMET smearing, based on https://arxiv.org/pdf/2402.05858 but as a result without a SET-dependence parametrisation. - Add
sumE(),sumEt(), andmTmin()utility functions. - Map the
AnalysisHandler::effNumEvents()into theAnalysisinterface. - Add BESIII_2024_I2847417 D0 -> a0 semi-leptonic.
- Add
RIVET_DISABLE_SMEARINGenvironment variable to centrally disable detector-emulation effects, by avoiding the smearing and efficiency functors applied in theSmearedParticles,SmearedJets, andSmearedMETprojections. - Add
mkVecOf()container-converter functions andmkFloats,mkDoubles, etc. numerical specialisation inRivetSTL.hh. - Add
isPhysical()andhasPhysicalAncestor()methods toParticle. - Add a
ParticleBase::p4()method as a more informative / evolved alias for mom()/momentum(). - Add 4-vector constructors from 3-vectors.
- Add pT-dependent ATLAS b-tagging efficiency functions:
MV2c10_77,DL1r_77,DL1d_77. - Add BESIII_2024_I2860910 chi_c0 -> p pbar pi0 eta.
- Add BESIII_2024_I2854046 e+e- > J/psi and psi(2S).
- Add BESIII_2024_I2839350 D+ -> eta’ ell nu.
- Add BELLE_2025_I2849895 e+e- meson spectra.
- Add ATLAS_2021_I1832628 gamma gamma -> mu+mu- in PbPb.
Removed
- Remove
rivet-mkhtmlbooklet option.
Fixed
- Fix a typo in the LHCB_2017_I1621596 plot file. Thanks to Natalia Korneeva for the discovery and fix.
- Fix
Particle::closestApproach()function, which was… very wrong. Thanks to Sophie McNeill for lots of testing. - Fix continuity of linear offset in ATLAS_RUN2 MET smearing.
- ATLAS_2011_I925932: remove rogue upper mass boundary Thanks to Andreas Maier for pointing this out!
Changed
- Template ONNXrt to also allow use of double-based networks, add a
RivetOONXrtPtrfor use in analyses cf. AOPtrs, and set up forward-compatibility ONNX aliases without the inconsistentRivetprefix. - Rationalising the units constants, disabling some potentially clashy short symbols and including the SI/non-US spellings of ‘metre’.
- Extend ATLAS Run 2 muon-pT resolution parametrisation, previously capped at 2.5% at 100 GeV based on the 2016 paper, to rise linearly beyond cf. the q/p resolution plot in https://arxiv.org/pdf/2012.00578 . Augment the Run 1 resolution, capped to 5% at 200 GeV, with a similar extrapolation but with a performance more like the R2 generic medium WP rather than high-pT.
- Modify
rivet-mkhtmloutput for better printing to PDF, particularly in single-page mode to replace the booklet option. - Split installation of data files into separate passes per file
extension, to avoid issues with max number of args to
cp/rsync. Thanks to Matthew Feickert for flagging the issue. - Use the term ‘direct’ rather than ‘prompt’ in the
SimpleAnalysisAPI and projection naming: as we refine the primary-particle definitions and add features to better accommodate LLPs, we should distinguish between the terms and use ‘prompt’ consistently to mean the timing-related ‘produced at/unresolvably near the PV’.
[4.1.0] - 2025-03-07
Removed
- Remove
FinalState::accept()method, which was misleading as (as implemented) the subclasses did not override it and it always just applied the storedParticleFinder::_cutsrather than augmenting those with the subclass semantics.
Fixed
- Fix
ProjectionApplier::hasProjection()to check against the local projection-registration queue if itsProjectionHandleris not yet bound. - Fix removed HDF5 variable expansion in
rivet-config, and improve terms reported for YODA (which provides HDF5) and FastJet.
Changed
- Update PID utils to MCUtils head, including a new
PID::isQuarkoniumfunction from LHCb. - Split MET smearing functions into
SMEARPARAMSfunctions that calculate the mean distorted vector and its energy resolution, and the implementation of that smearing. This allows analyses to access the MET offset or resolution params with which to calculate a significance.
[4.0.3] - 2025-02-09
Added
- Add utility functions for adding filters and trimming jet collections
- Add an optional
deltaRcut argument to theJet::?Tags()andJet::?Tagged()methods, allowing restriction of tagging hadrons to a sub-radius within the jet. This changeset also fixes a bug in that cuts on tagging objects were not previously applied to quark-level fallbacks. - Introduce wrapper functions for jet reclustering
- Extend the
Has?Tagfunctors to accept and pass adRmaxarg. - Provide
IDENTITYaliases forPERFECTeff/smear functions. - Issue a more helpful error message when a ref-data object used for booking mismatches the target type.
- Showcase changes in EXAMPLE_JETS routine
- Extend
PhotonOriginandLeptonOriginenums to allow more general use. - Add BESIII_2025_I2872226 e+e- -> pi+pi-f_1
- Add BESIII_2024_I2808543 Lambda_c+ -> Lambda0 pi+ eta
- Add BESIII_2025_I2866208 D_s -> 2pi+ pi- pi0
- Add BESIII_2024_I2825816 D0 -> rho e nu
- Add BESIII_2025_I2866208 D_s -> 2pi+ 2pi0 pi-
- Add BESIII_2025_I2866232 J/psi -> pi0 e+e-
- Add BESIII_2024_I2775801 e+e- > eta h_c
- Add BESIII_2024_I2777242 D-> pipieta
- Add BESIII_2023_I2683607 e+e- > Sigma+ Sigmabar-
- Add BESIII_2024_I2771116 e+e- > Ds+Ds-
- Add BESIII_2024_I2863767 e+e- > Sigma0 Sigmabar0
- Add BESIII_2024_I2824162 D+ -> KS0 KS0 pi+
- Add BELLE_2024_I2775022 e+ e- > pi+pi-pi0
- Add top-quark pT histograms to MC_TTBAR.
- Add pre/post methods around the three main
Analysisevent-loop functions, allowing cleaner specialisation by analysis-subclassing, and moveSimpleAnalysisboilerplate into them. - Add
SimpleAnalysissimplified API for analyses with generic predefined objects and e.g. isolation and overlap removal. - Add
METSmearFnas a typedef for MET smearing signature. - Add a convenience
JetSchemestruct for grouping simple jet definitions. - Add a promptness restriction option to
TauFinder, usingLeptonOrigin. - Add BESIII_2024_I2806455 e+ e- > Ds Ds1/Ds2
- Add BELLE_2024_I2791218 e+e- > B()B()
- Add BESIII_2017_I1794583 e+ e- > D Dbar
- Add BESIII_2024_I2802565 D_s+ -> K e+ nu_ebar
- Add BELLE_2024_I2796026 Xi_c0 -> Xi0 pi0
Removed
- Remove unused radius parameter from
JetAlg::JADEcalls
Changed
- Refactor creating
fastjet::JetDefinitionandfastjet::JetDefinition::Plugininto distinct (and distinctly callable) methods - Split MET smearing functions into
SMEARPARAMSfunctions that calculate the mean distorted vector and its energy resolution, and the implementation of that smearing. This allows analyses to access the MET offset or resolution params with which to calculate a significance. - Explicitly use the Python3 interpreter for all Python scripts.
- MC_TAU_POL: Options
LOMASS/HIMASSstreamlined toMASSMIN/MASSMAX
[4.0.2] - 2024-10-30
Added
- Add BESIII_2024_I2785382 e+e- > p pbar pi0
- Add BESIII_2024_I2730532 D0 -> 4 pi
- Add LHCB_2024_I2824757 Lambda_b decay correlations
- Add BESIII_2024_I2824143 e+e- > Xi0 Xibar0
- Add BESIII_2024_I2819140 D -> K ell nu
- Add BESIII_2024_I2792993 chi_c -> Lambda Lambdabar phi
- Add BESIII_2024_I2802333 e+e- > K- Lambda0 Xibar+
- Add BESIII_2023_I2670262 J/psi -> Lambda0 pi+ Sigma-, Lambda0 pi- Sigma+
- Add BESIII_2023_I2655292 J/psi -> Sigma+ Sigmabar-
- Add BESIII_2024_I2691955 psi(2S) -> K- Lambda Xibar+
- Add BELLE_2024_I2810686 B -> pi/rho semi-leptonic
- Add BESIII_2023_I2713388 psi(2S) -> Sigma+ Sigmabar- omega/phi
- Add BESIII_2023_I2721091 J/psi -> pbar Sigma+ K0S
- Add BESIII_2024_I2771682 e+e- > psi(2S) eta
- Add BESIII_2024_I2779452 e+e- -> omega X(3872), chi_c1, chi_c2
- Add BESIII_2024_I2703033 J/psi -> Xi- Xibar+
- Add SND_2024_I2809929 and SND_2024_I2696331 e+e- -> n nbar
- Add SND_2024_I2809918 e+e- -> KS0 KL0
- Add BELLE_2024_I2778312 B- -> D0 pi- pi0
- Add BESIII_2024_I2738509 e+e- > KS0 KL0
- Add BESIII_2024_I2739177 e+e- > Sigma+ Sigma-
- Add BESIII_2024_I2753516 eta spectra in e+e-
- Add BESIII_2024_I2776394 e+e- -> omega eta’
- Add LHCB_2024_I2756705 B_c -> J/psi pi+ pi0
Changed
- Exclude the
mkhtmloutput pages’ plot-filtering form from print output.
[4.0.1] - 2024-07-07
Added
- Add FPE protections against eta` and rap calculations with (massless) null and z-axis vectors.
- Add
Makefileoption to build analyses one by one (e.g. to catch missing headers and other build problems)
Fixed
- Fix Inspire BibTeX-download string decoding and update broken URL to Inspire API (now for I-codes only).
Changed
- Replace cross-section average with exact sumW/Ntrials calculation in multi-input-file runs and merging
- Change Python build to use
PY_LDFLAGSrather thanLINKFORSHAREDvariable. - Only activate autobooking example code in mkanalysis output if
HEPData retrieval was successful, rather than only vetoing based on
presence of an
MC_prefix. - Improvements to the path-finding failure messages.
- Swapping the ref data search logic to prioritise
.yoda.gz(as.yodawill fail for all standard analyses now).
[4.0.0] - 2024-02-29
Added
- Add
--no-detexoption torivetscript, to bypasspydetex(or fallback) TeX decoding. - Add
closestMassIndexandclosestMassIndicesfunctions as a pre-bound version ofclosestMatchIndex. - Add missing efficiency calculation for
Counters - Add a set of
Rivet::retrieve(map, key, fallback)functions, generally templated and with specialisations to cope with string literals. - Add a
Matrix3::mkRotation(from, to)static factory function, for one-liner convenience. - Add
include/Rivet/Analyses/<EXPT>Common.hhfiles and build info, as a user-friendly front-end for the mix of projection and non-projection common tools. Removed duplication betweenToolsandProjectionsexperiment-common files. - Add workaround for Ubuntu 23.04 putting ‘local’ in the Python
platbasepath.
Removed
- Remove implicit dressing dR from
LeptonFinderandDileptonFinder, and implicit mass fromDileptonFinder. - Remove various methods and constructors that have been deprecated in 3.1.x
- Remove
W/ZFinderoption to not include dressing photons in the particle constituents. - Remove
map<string>options fromDISandGammaGammaclasses, replacing with better enums and ctor combinations. - Remove logic that parses info file from
AnalysisInfoconstructor and only parse when an analysis is being specifically asked for. - Remove tautological assert from particle-ID utils (thanks to Markus Seidel for the report).
Fixed
- Fix Python path detection again, cf. GAMBIT Mac CI. Thanks to Chris Chang.
- Fix unit conversion in HepMC3
readEventmethod - Fix CMS_2021_I1920187 to use
size_torunsigned inttypes in place of non-standarduint. - Fix residual
DEFAULT_RIVET_...->RIVET_DEFAULT...macro invocations. - Fix binary relocation in
binreloc. - Fix
rivet-mkhtml-mplautocomplete.
Changed
- Update
Loggingto remove non-const static map of color codes, and add support for theCRITICALlevel. - Replace flaky
pandocsubprocesscall withpydetexlibrary. - Rename all legacy SPIRES-named analyses to an Inspire-based code-name.
- Consistency renaming of MC analysis intermediate base-classes (and noting that one of those headers contains projections and should be moved accordingly).
- Enforce all-caps analysis naking convention and in particular improve systematic consistency and sorting order of MC decay analyses and all centrality analyses.
- Improvements to
rivet-mkhtmloutput. - Swap the first two args of the two-FS
LeptonFinderconstructor so the leptons are given first: only a few analyses affected, but take care. - Revamp the constructors for
LeptonFinderandDileptonFinderso you either specify promptness conditions via cuts only or through passed final states, but not both. Vector4.hh, ParticleUtils.hh: add unboundmass(),mass2()andmT()functions for pair-combinations ofParticles,Jets, andFourMomenta.Utils.hh: AddclosestMatchIndexandclosestMatchIndicescontainer-combinatorics functions.- Rename the
ZFindertoDileptonFinder. - Rename the
DressedLeptonsprojection toLeptonFinder, and usedDressedLeptonsas an alias forvector<DressedLepton>cf.ParticlesandJets. - Introduce
--silentlevel for minimal verbosity. - Convert all projection-constructor boolean args to class enums for better readability and self-documentation.
- More projection enum improvements.
- Improve
ZFinderenum names and scopes. - Simplify and unify jet-enum scopes to
JetAlg,JetMuons,JetInvisibles. - Port selected build improvements from Christian Holm Christensen into the main branch.
- Make
rivet-mkhtmlwrite HTML file before processing images. - Explicitly import YODA and
Projectionbase-classoperator=into derived classes to silence new GCC13 warnings. - Turn parameters (cuts, jet radius, clustering algorithms etc) into Rivet options in several common MC analyses.
- Bypass projection comparison during registration if
RIVET_CACHE_PROJECTIONSis false. - Patch projection comparison for
SmearedJets(thanks to Mark Owen for the report). - Patch Make file for some Macs (thanks to Peter Meinzinger for the report and Stefan Kiebacher for the solution).
- Prevent bookeeping histos from acquiring analysis option on the fly as part of merging
[3.1.8] - 2023-04-27
Added
- Provide an implicit cast for
FourVectorand derived classes toPseudoJet, to avoid the incorrect conversion by PJ’s template constructor. - Extend
RivetLWTNN.hhto allow use oflwt::LightweightGraph - Add ability to control the specific plugin library paths for
analyses to be loaded from, via new programmatic set and get methods on
AnalysisLoaderand a newRIVET_ANALYSIS_PLUGINSenvironment variable. Mainly intended for use on big HPC MPI systems where duplicated filesystem walking is a really bad idea. - Add variations on the discard/select utility functions to (particularly) discard single elements by equality rather than needing to provide a function.
- Add support for using ONNX neural nets in
Tools/RivetONNXrt.hh - Add example analysis demonstrating use of an ONNX neural net.
- Add BESIII_2023_I2621481 D0,D+ -> pi+ pi+ pi- X
- Add MD1_1994_I362599 Lambda spectrum in Upslion(1S) decay
- Add A2_2014_I1297221 eta -> pi0 gamma gamma
- Add CLEO_1986_I220652 Upsilon photon spectrum
- Add BESIII_2013_I1126137 J/psi -> 3 gamma
- Add BESIII_2022_I2618227 D_s -> pi+ pi+ pi- X
- Add BESIII_2022_I2615968 D0 -> K0 pi+ pi-
- Add
powspace()andpowdbnspace()uniform-spacing functions for power laws, and a generic_fnspace()function for any transform/inverse function-pair. - Add BELLE_2009_I803343 B -> Lambdo Lambdabar K(*)
- Add BABAR_2009_I821188 B0 -> KS0 pi+ pi-
- Add BABAR_2009_I827787 B -> X_c ell nu
- Add BELLE_2009_I817326 B -> K(*) l+ l-
- Add CLEOC_2008_I784516 psi(2S) -> Jpsi pi pi
- Add BELLE_2009_I825222 B -> Xs gamma
- Add BELLE_2009_I816632 B+ -> D_s(*) K pi
- Add BABAR_2009_I813140 B+ -> pi+ pi+ pi-
- Add BESIII_2022_I2611489 Lambda_c semileptonic
- Add BELLE_2009_I820737 B -> K pi pis(2S)
- Add BABAR_2009_I825406 B0 -> a1+ a1-
- Add BABAR_2009_I810694 B- -> D+ pi-pi-
- Add BABAR_2009_I819092 B0 -> Lambdabar p+ pi-
- Add BELLE_2010_I871475 B+ -> J/psi or psi(2S) K+ pi+pi-
- Add BELLE_2010_I862241 b0 > K+ K- KS0
- Add BABAR_2012_I1111233 B -> K(*) l+ l-
- Add BELLE_2016_I1504055 B -> K* l+ -l
- Add BABAR_2013_I1272843 B -> Xs l+ l-
- Add KEDR_2022_I2593308 J/psi -> rho pi
- Add BABAR_2016_I1391152 B -> X l+l-
- Add BELLE_2016_I1283183 B -> X l+l-
- Add BABAR_2015_I1337783 B -> X gamma
- Add BABAR_2012_I1079912 B -> Xu ell nu
- Add BABAR_2011_I901433 B -> phi phi K
- Add BESIII_2012_I1097066 psi(2S) -> gamma gamma J/psi
- Add BELLE_2022_I2512112 B -> D pi ell nu
- Add BABAR_2012_I1185407 tau -> 5 and 6 pions
- Add BELLE_2013_I1239347 B0 -> psi(2S) K+ pi-
- Add BELLE_2013_I1247059 B0 -> phi K+ pi-
- Add BABAR_2012_I1125567 tau -> pi- KS0 KS0 nu
- Add BELLE_2014_I1282136 tau -> pi- KS0 KS0 pi0 nu
- Add BESIII_2015_I1376282 J/psi -> gamma eta KS0 KS0
- Add BESIII_2012_I1079921 J/psi -> gamma p pbar
- Add BELLE_2013_I1247463 Upsilon(5S) -> Upsilon(nS) pi0 pi0
- Add KLOE_2013_I1186739 eta -> pi+ pi- gamma
- Add BESIII_2013_I1203841 J/psi -> gamma omega phi
- Add BESIII_2012_I1084539 J/psi -> gamma eta(1405)
- Add BESIII_2013_I1209121 J/psi -> gamma eta eta
- Add BABAR_2015_I1308513 B -> J/psi phi K
- Add BESIII_2022_I2135117 J/psi -> gamma eta eta’
- Add BESIII_2016_I1419650 J/psi -> gamma phi phi
- Add BELLE_2016_I1454405 J/psi psi(2S) in Upsilon(1S) decays
- Add BELLE_2017_I1499706 chi_c1 in Upsilon(1,2S) decays
- Add BABAR_2018_I1667191 Upsilon(1S) -> pi+pi- gamma
- Add BESIII_2016_I1437949 J/psi -> eta’ pi+ pi-
- Add BESIII_2018_I1674528 e+ spectrum in Lambda_c+ decay
- Add BELLE_2017_I1598461 B -> K+ K- pi+
- Add BESIII_2018_I1646687 J/Psi -> gamma gamma phi
- Add
CXXFLAGSandLDFLAGSpropagation to the Python-extension build script (thanks to Alexander Puck Neuwirth for the suggestion). - Add BELLE_2011_I916712 B -> K X(3872)
- Add BELLE_2014_I1312626 Bbar0 -> J/psi K- pi+
- Add BELLE_2021_I1748231 B -> K l+l-
- Add BELLE_2019_I1728173 B -> K* l+l-
- Add BESIII_2018_I1689296 J/psi -> gamma KS0 KS0
- Add BESIII_2015_I1373915 J/psi -> gamma pi0 pi0
- Add BELLE_2011_I889524 B_s0 -> pi+ pi- J/psi
- Add BESIII_2015_I135282 chi_c -> phi K K pi
- Add BELLE_2018_I1663447 B+ -> K+ eta gamma
- Add ATLAS_2018_I1615866 gamma gamma -> mu+ mu-
- Add ATLAS_2015_I1377585 gamma gamma -> l+ l-
- Add BABAR_2018_I1668123 D0 -> KS0 pi+ pi-
- Add reentrant marker to
MC_DILEPTON.info(thanks to Jens Roggel for spotting) - Add BABAR_2017_I1336340 B+ -> KS0 pi+ pi0
- Add BELLE_2022_I2169621 B ->D semi-leptonic
- Add BELLE_2012_I1123656 B0 -> D+ D-
- Add BABAR_2012_I1086537 B -> 3K
- Add BABAR_2012_I1081760 B0-> pi+pi- K*0
- Add BELLE_2015_I1369998 B -> D* omega pi
- Add BELLE_2015_I1392799 B -> p Lambda D(*)
- Add BABAR_2015_I1335269 B -> D D K
- Add BELLE_2015_I1326905 B0 -> Ds K0 pi and B+ Ds K K
- Add BELLE_2013_I1124584 Bs0 -> Ds* Ds*
- Add BABAR_2012_I1122031 B -> Xs gamma
- Add BELLE_2022_I2167323 B -> Xs gamma
- Add BABAR_2016_I1409292 B+ -> K+ pi+ pi- gamma
- Add BABAR_2011_I920989 B0 -> D*0 omega
- Add BESIII_2022_I2166759 J/psi, psi(2S) -> Sigma+ Sigmabar- eta
- Add BESIII_2022_I2166668 chi_cJ -> Lambda Lambdabar eta
- Add BESIII_2016_I1484158 J/psi -> gamma eta pi0
- Add BABAR_2013_I1217425 Bbar0 -> Lambda_c+ pbar pi+ pi-
- Add BELLE_2016_I1408873 B -> chi_c1 and chi_c2
- Add BELLE_2022_I2160445 Lambda-c+ -> p 2KS0 and p KS0 eta
- Add BELLE_2014_I1289224 D0 -> KS0 pi+ pi-
- Add BABAR_2012_I946659 B-> D(*) p pbar + pions
- Add BESIII_2011_I894356 chi_c1 -> gamma + phi,rho,omega
- Add BESIII_2022_I2158325 psi(2S) -> Sigma- Sigmabar+
- Add BESIII_2013_I1203840 psi(2S) -> pbar K+ Sigma0 and chi_c -> pbar K+ Lambda0
- Add BESIII_2013_I1261765 psi(2S) -> Lambda 0 Sigmabar+- pi-+ +cc
- Add BABAR_2012_I1127599 B- -> Sigma_c++ pbar pi- pi-
- Add BELLE_2013_I1230342 B_s0 -> Lambda_c+ Lambdabar0 pi-
Removed
- Remove support for custom ASCII event-file formats.
Fixed
- Fix unit for Zjj inclusive runs in ATLAS_2017_I1627873
- Fix memory leaks in
binreloc.cand the merging-related method inAnalysisHandler. - Fix CMS_2015_I1346843 to allow FSR photons from muon decays
- Fix
cout’ing of raw vs tmp histos when checking self-consistency of output file. - Fix bug in DELPHI_2011_I890503 and OPAL_2003_I599181, where the wrong decay chain was checked for weak decays (thanks to Max Knobbe for spotting).
Changed
- Append extra newlines to plugin sources in batched
rivet-build. - Use an immediate call to
HepMC3::deduce_reader()in the file and stream opening; drop local attempts to deduce the file format. - Require HepMC3 >= 3.2.0
- Fixes in MC_TAU_Decay plot file, courtesy of George Marsden
- ATLAS_2019_I1746286: fix generator ctau description in the info file. Thanks to Natalia Korneeva for the report.
- Change/correct
DressedLeptonsbehaviour to accept photons from prompt muons and taus. (Return to 2.x behaviour, accidentally reverted.) - Update
ParticleIdUtilscontent to match latest MCUtils. Includes a serious speed-up (6x!) in PID digit decoding! - Allow
linspace()andaspace()to make reversed edge-sets with start > end. - Replace
regex_matchwithregex_searchto pick up substring matches, too. - Change configure script to use the
--rpath=nooption to fastjet-config, removing fragile path-hacking. - Make logger thread safe(r) by making
ColorMapandLevelMapthread_local. - Enable Cython autoconversion from C++ strings to the appropriate
strtype for Python v2 and v3, eliminating many noisy and fragile explicitencode()/decode()calls.
[3.1.7] - 2022-09-28
Added
- Add BELLE_2018_I1642436 B- -> Lambda_c+ Lambdabar_c- K-
- Add BELLE_2018_I1679584 Bbar0 -> Lambda_c+ Lambdabar_c- Kbar0
- Add BABAR_2011_I924163 Bbar0 -> Lambda_c+ Lambdabar0 K-
- Add BELLE_2011_I924618 B- -> pbar Lambda0 D0
- Add LHCB_2017_I1596893 B0 -> p Lambdabar0 pi- and BS0 -> p Lambdabar0 K-
- Add BESIII_2017_I1509920 psi(2S) -> chi_c e+ e- and chi_c -> J/psi e+e-
- Add BESIII_2018_I1664315 psi(2S) -> eta’ e+ e-
- Add BESIII_2019_I1692688 J/psi -> eta’ e+ e-
- Add BESIII_2014_I1287631 J/psi -> eta, eta’, pi0 e+ e-
- Add BESIII_2022_I2141748 psi(2S) -> eta_c e+ e-
- Add BELLE_2016_I1487285 eta -> pi+ pi- gamma
- Add BELLE_2004_I658085 B -> D* + pions
- Add BESIII_2012_I1128258 chi -> p nbar pi- (pi0)
- Add BABAR_2010_I850492 Upslion_2(1D) -> pi+ pi- Upsilon
- Add BESIII_2010_I878544 chi_c -> 4pi0
- Add BABAR_2016_I14877225 B0 -> D*- 3pi
- Add BESIII_2022_I2153556 Lambda_c+ -> Lambda pi+ pi0
- Add BELLE_2007_I723916 Lambda_c(2880)+ decay
- Add LHCB_2015_I1401225 D0 -> K+ pi- mu+ mu-
- Add BABAR_2019_I1691954 D0 -> K+ pi- e+ e-
- Add BELLE_2021_I1809180 Xi(2790)+ decay
- Add EXAMPLE_NTUPLE_ROOT example analysis showing how to open and write to a ROOT ntuple file.
- Add CMS_2021_I1866118: Z boson plus jets (DPS) at 13 TeV
- Add EXAMPLE_NTUPLE_CSV example analysis showing how to open and write to a CSV ntuple file.
- Add BABAR_2006_I722213 Lambda_c+ -> Lambda K+ K0S
- Add LHCB_2014_I1309880 B_c -> J/psi p pbar pi+
- Add BABAR_2011_I855306 B -> rho, pi semi-leptonic
- Add BABAR_2013_I1206605 D+ -> K+ K- pi+
- Add
Analysis::analysisDataPath()and theRivetLWTNN.hhinclude with convenience functions for loading of LWTNN DNNs. - Add EXAMPLE_LWTNN example analysis, demonstrating use of a preserved LWTNN neural network in Rivet.
- Add BELLE_2020_I1813380 Lambda_c+ -> eta Lambda pi+
- Add BELLE_2021_I1895149 B -> Xu l nu
- Add LHCB_2022_I2138845 B_c+ -> chamonium + hadrons
- Add CLEOII_1996_I397787 Xi_c+ -> Sigma+ K- pi+
- Add FOCUS_2003_I618864 Xi_c+ -> Sigma+ K- pi+ and Xi- pi+ pi+
- Add CLEOIII_2004_I627327 Xi_c0 -> p K- K- pi+
- Add BESIII_2021_I1837968 Lambda_c -> p KS0 eta
- Add LHCB_2022_I1960979 B_c+ -> J/psi pi + 3 hadrons
- Add BELLE_2018_I1641071 Omega_c0 decays
- Add BELLE_2022_I2140379 Lambda_c -> Sigma+ pi0,eta,eta’
- Add BELLE_2022_I2138841 Lambda_c ->Lambda0,Sigma0 + pi+,K+
- Add LHCB_2012_I1097092 B_c+ -> J/psi pi and 3pi
- Add CLEO_2008_I787608 chi_c pi+pi-2pi0 and K+pi-K0pi0
- Add BESII_2005_I690784 chi_c0 -> pi+pi- K+K-
- Add BESIII_2022_I2033855 chi_c -> Xi Xibar
- Add BESIII_2014_I1280710 chi_c(1,2) -> eta’ K+K-
- Add BESIII_2022_I2018236 Jpsi -> gamma pi+pi-eta’
- Add BESIII_2022_I2016785 Jpsi -> gamma eta’ eta’
- Add BABAR_2010_I879997 D+ -> K- pi+ e+ nu_e
- Add BESIII_2011_I931195 psi(2S)-> chi_c correlations
- Add BESIII_2012_I1127328 psi(2S) -> K+ K- pi0
- Add BESIII_2019_I1712729 J/psi -> phi eta eta’
- Add BESIII_2019_I1722111 psi(2S) -> p pbar phi
- Add BESIII_2019_I1716256 chi_c -> J/psi mu+mu-
- Add CLEOC_2011_I929693 chi_c1 -> eta pi+pi-
- Add BESIII_2017_I1490896 chi_c1 -> eta pi+pi-
- Add BELLE_2019_I1729311 B0 -> p pbar pi0
- Add BELLE_2019_I1729723 B0 -> KS0 pi K
- Add BESIII_2020_I1818254 chi_c -> phi phi eta
- Add BESIII_2019_I1716627 chi_c -> 4KS0
- Add BELLE_2021_I1841899 B+ -> phi phi K+
- Add BESIII_2020_I1818254 chi_c -> Sigma0 pbar K+
- Add BESIII_2017_I1511280 D0 -> K- pi+ pi+ pi-
- Add BESIII_2017_I1469067 eta’ -> pions
- Add BESIII_2015_I1376484 eta -> pions/ eta’->3pi0
- Add BESIII_2018_I1623555 eta’ -> eta pi pi
- Add BESIII_2022_I2038523 D_s+ -> f0 e+ nu_e
- Add BESIII_2022_I2105430 eta’ -> eta pi0 pi0
- Add BABAR_2006_I722905 D0 -> K-+ pi+- pi0
- Add CLEO_2007_I732065 chi_c1 -> pi+pi- eta KKpi
- Add BESIII_2022_I1997940 J/psi -> e+e- pi+ pi- eta’
- Add BESIII_2022_I2128095 psi(2S) -> Lambda Lambdabar eta
- Add BESIII_2022_I2102455 D+/D0 -> pions
- Add BESIII_2022_I2088337 D+ -> KS0 pi+ pi0 pi0
- Add BELLE_2019_I1693396 B0 -> D*- semi-leptonic
- Add BESIII_2021_I1974025 e+e- -> Lambda Lambdabar at 3.773 GeV
- Add BESIII_2022_I2127373 Lambda_c+ -> Lambda0 e+ nu_e
- Add BESIII_2021_I1921775 psi(2S) -> Xi0 Xibar0
- Add BESIII_2021_I1870388 chi_c -> n KS0 Lambdabar
- Add BESII_2006_I716589 psi(2S) -> p nbar pi- +cc
- Add BESIII_2016_I1411448 J/psi -> p pbar phi
- Add BESIII_2019_I1711896 Lambda_c+ _> eta pi+ Lambda
- Add BESII_2006_I650381 J/psi -> p nbar pi- +cc
- Add BELLE_2005_I660759 Xi_c0 -> p K- K- pi+
- Add BESIII_2013_I1227512 psi(2S)-> p pbar eta
- Add CMS_2022_I2079374: Z pT over a wide mass range at 13 TeV
Changed
- Install more generically named files from the analysis plugin/data
dirs rather than limiting to the
.plot,.info,.yoda*set (it’s ok, and maybe useful, to install the.ccfiles) - Move
EXAMPLE_*analyses, which demonstrate functionality to analysis writers rather than being directly useful in compiled form, into an uncompiled analyses/examples/ directory. - Hide the bundled eigen3 in a mangled
RivetEigennamespace, to avoid clashes. - Upgrade eigen3 and yaml-cpp bundling to remove compiler warnings.
[3.4.0] - 2022-07-27
Added
- Add BESIII_2022_I2122392 psi(2S) -> Lambda Lambdabar omega
- Add BESIII_2022_I2122399 Lambda_c+ -> p K- e+ nu_e
- Add BELLE_2021_I1835729 Xi_c0 -> K+ K- Xi0
- Add BESII_2009_I819937 J/psi -> p pbar pi0
- Add BES_2001_I556330 J/psi -> p pbar eta
- Add BESIII_2019_I1709205 J/psi psi(2S) -> p pbar eta’
- Add BESIII_2012_I1187787 eta_c -> KKpi dalitz
- Add BESIII_2013_I1120737 psi(2S) -> p pbar pi0
- Add BESIII_2013_I1223625 J/psi -> p pbar omega
- Add BESIII_2021_I1921801 psi(2S) -> omega KS0 KS0
- Add BES_2005_I689969 psi(2S) -> pi+ pi- pi0
- Add BESIII_2020_I1771616 psi(2S) -> K+ K- eta
- Add CLEO_2004_I654843 D0 -> pi-, K- e+ nu_e
- Add BESIII_2017_I1624548 psi(2S) -> gamma chi_c
- Add BESIII_2017_I1507887 psi(2S) -> gamma chi_c
- Add CLEO_2009_I832707 psi(2S) -> gamma chi_c
- Add CLEO_2013_I1081165 D -> rho e nu
- Add BESIII_2015_I1386254 D+ -> omega ell nu
- Add BESIII_2016_I1411645 D+ -> K- pi+ e nu
- Add BABAR_2013_I1247460 B+ -> omega ell nu
- Add BESIII_2019_I1694530 D -> pipi ell nu
- Add BABAR_2012_I1125973 B -> pi,omega, eta ell nu
- Add BABAR_2008_I790461 D_s+ -> K+K- e+ nu_e
- Add BESIII_2018_I1705754 D0 -> Kbar0 pi- e+ nu_e
- Add BESIII_2021_I1940222 D -> K pi omega decays
- Add FOCUS_2007_I741543 D0 -> 2pi+ 2pi-
- Add LHCB_2018_I1704426 D0 -> K+K-pi+pi-
- Add BESIII_2018_I1693610 D -> K pi eta’ decays
- Add CLEO_2017_I1519168 D0 -> K+K-pi+pi- and 2pi+ 2pi-
- Add CLEO_2009_I822856 D_s+ -> pi+ pi0 omega
- Add FOCUS_2004_I663820 D0 -> K+K-pi+pi-
- Add BESIII_2022_I1900094 D0 -> omega phi
- Add CLEO_2012_I1086166 D0 -> K+K-pi+pi-
- Add FOCUS_2003_I626320 D0 -> K-K-K+pi+
- Add new
DecayedParticlesprojection to try and speed up code - Add BESIII_2019_I1714778 D+ -> KS0 pi+pi+pi-
- Add BESIII_2018_I1662665 D0 -> pi0 eta eta
- Add BESIII_2019_I1725265 D0 -> K- pi+ pi0 pi0
- Add BESIII_2022_I1864775 J/Psi -> Xi- Xibar+
- Add BESIII_2022_I2099144 psi(2S) -> Xi- Xibar+
- Add BESIII_2022_I2071715 J/Psi -> Lambda Lambdabar
- Add BESIII_2021_I1849747 D_s+ -> K+K-pi+pi+pi-
- Add BESIII_2022_I2099126 Lambda -> n gamma asymmetry
- Add BESIII_2021_I1849747 D_s+ -> K+K-pi+pi0
- Add BESIII_2021_I1870322 D_s+ -> pi+ pi+ pi- eta
- Add BESIII_2019_I1712742 D_s+ -> eta, eta’ semi-leptonic
- Add BESIII_2022_I2088218 D_s+ -> K+ pi+ pi- pi0
- Add BESIII_2021_I1845444 D_s+ -> KS0 K- pi+ pi+
- Add BESIII_2017_I1621266 J/psi psi2s -> pi+pi-eta’
- Add BESIII_2020_I1830421 eta’ -> e+e- pi+pi-
- Add BESIII_2018_I1703033 omega -> pi+pi-pi0
- Add BESIII_2019_I1731057 J/psi -> K+K-pi0
- Add MC_EtaC_Dalitz eta_c dalitz decays
- Add BELLE_2020_I1785816 D0 -> K- pi+ eta
- Add CLEO_2005_I679349 D0 -> pi+ pi- pi0
- Add CLEO_2012_I1094160 D0 -> KS0 K+- pi-+
- Add LHCB_2016_I1394391 D0 -> KS0 K+- pi-+
- Add BESIII_2022_I2030993 D_s+ -> pi+ pi0 eta’
- Add CLEO_2004_I649917 D0 -> KS0 pi0 eta
- Add BABAR_2007_I749390 D0 -> K+K+pi0 dalitz
- Add BESIII_2020_I1799437 D0 -> KS0 K+K- dalitz
- Add CLEO_2008_I791716 D+ -> K+ K- pi+
- Add LHCB_2019_I1720423 D+ -> K+ K+ K-
- Add BESIII_2022_I2070086 D_s+ -> KS0 K+ pi0
- Add BESIII_2022_I2084294 D_s+ -> K+ pi+ pi-
- Add FOCUS_2004_I654030 D+/D_s+ -> K+ pi+ pi-
- Add BESIII_2019_I1724547 D_s+ -> pi+ pi0 eta
- Add BESIII_2021_I1854317 D_s+ -> pi+ pi0 KS0
- Add BESIII_2022_I1945692 D_s+ -> KS0 KS0 pi+
- Add
HEPTopTaggerinterface (since made optional, with no-build example analysis) - Add BESIII_2021_I1830524 Ds+ -> K+K-pi+
- Add CLEO_2003_I633196 D0 -> Kbar0 pi+ pi-
- Add BABAR_2010_I853279 D0 -> Kbar0 pi+ pi-/K+K-
- Add BABAR_2021_I1867843 eta_c -> pipi eta(‘) KK eta’ dalitz
- Add BABAR_2015_I1403544 eta_c -> KKpi dalitz
- Add BABAR_2017_I1512302 J/psi dalitz plots
- Add BESIII_2012_I1088606 J/psi psi(2S) -> pi+pi-pi0
- Add E691_1992_I342947 D -> K pipi Dalitz decays
- Add MARKIII_1987_I247266 D -> K pipi Dalitz decays
- Add CLEOII_2001_I537154 D0 -> K- pi+ pi0 dalitz
- Add CLEOC_2007_I749602 D+ -> pi+pi+pi- dalitz
- Add BABAR_2014_I1287632 eta_c dalitz decays
- Add FOCUS_2007_I750701 D_s+, D+ -> pi+pi+pi-
- Add BESIII_2021_I1909391 D_s+ -> pi+pi+pi-
- Add BABAR_2008_I792597 D_s+ -> pi+pi+pi-
- Add BESIII_2021_I1929365 D_s+ -> pi+ pi0 pi0 pi0 dalitz
- Add BESIII_2021_I1859124 D+ -> K+ KS0 pi0 dalitz
- Add FOCUS_2007_I750701 D+ -> K- pi+ pi+ dalitz
- Add CLEOC_2008_I780363 D+ -> K- pi+ pi+ dalitz
- Add E791_2002_I585322 D+ -> K- pi+ pi+ dalitz
- Add BESIII_2014_I1277070 D+ -> KS0 pi+ pi0 dalitz
- Add CLEOC_2011_I913909 D0 -> K_S0 pi0 pi0
- Add E791_2001_I530319 D_s+ -> pi+ pi+ pi-
- Add E791_2001_I530320 D+ -> pi+ pi+ pi-
- Add BABAR_2016_I1441203 D0->pi+pi-pi0
- Add BABAR_2007_I747154 D0->pi+pi-pi0
- Add BABAR_2010_I878120 D_s+->K+K-pi+
- Add BABAR_2008_I781294 and BABAR_2012_I1123662 b-> s gamma
- Submission of ATLAS_2022_I2077570
- Submission of CMS_2021_I1963239: Measurement of inclusive and Mueller-Navelet dijet cross sections and their ratios at 2.76 TeV
Fixed
- Fixed
RatioPlotDrawReferenceFirstandErrorTubeLineDashoptions inmake-plots. - Fix various labelling issues in ATLAS_2019_I1736531, ATLAS_2019_I1740909, ATLAS_2019_I1750330 and ATLAS_2019_I1772062 as reported by Natalia Korneeva
Changed
- Require FastJet version 3.4.0 – update list of plugin libs to use
the single
libfastjetplugins.solibrary. rivet-merge -anow supports analysis specific (ANA:OPT=VAL) as well as global (:OPT=VAL) analysis options- Suppress spurious ‘unused argument’ warning from clang as called
from
rivet-build.
[3.1.6] - 2022-05-13
Added
- Add BESIII_2016_I1504943 eta’ -> pi0 gamma gamma decays
- Add CRYSTAL_BALL_1991_I297905 pi0/eta Upslion and continuum
- Add CRYSTAL_BALL_1989_I263581 electron spectrum in B decays
- Add ARGUS_1987_I248655 photon spectrum in Upsilon(1S) decays
- Add CRYSTAL_BALL_1991_I315873 photon spectrum in Upsilon(1S) decays
- Add CRYSTAL_BARREL_1997_I456942 eta’-> pi+ pi- gamma decays
- Add a
pseudojets()method and automatic conversion operator toParticles. It sets the user index so the constituents will match the indices of the particle or jet vector used as input. - Add
MissingMomtypedef forMissingMomentum. - Add
vectorEt/PtMiss()andscalarEt/PtMiss()methods toMissingMomentum. - Add
ThreeMomentum/P3type with momentum-oriented method names, cf.FourVector->FourMomentum. - Add a
pseudojets()method to theJetscontainer type. - Add BESIII_2022_I2047667 e+e- > eta omega and omega pi0
- Add finalize-scaling protection in ATLAS_2020_1790256.
- Add LHCB_2017_I1621811 lambda_b semileptonic decay
- Add LHCB_2020_I1787090 B_s semileptonic decay
- Add BESIII_2022_I2039027 e+e- > pi+pi-eta
- Add LHCB_2012_I1114753 Lambda_b(5920) decays
- Add BESIII_2022_I2033007 e+e-> K+K-pi0
- Add a warning about event numbers if the subevent staging list gets very long (report by Michal Kreps, suggestion by Andrii Verbytskyi).
- Add BABAR_2009_I827985 D_s** helicity angles
- Add plots to helicity D, D_s helicity angle analyses
- Add support for explicit generator variation cross-sections
- Add BESIII_2021_I1929314 e+e- -> 4 charged particles(pi0)
- Add BESIII_2021_I1999208 e+e- -> omega pi0pi0
- Add BESIII_2021_I1996394 R measurement
- Add A2_2017_I1498079 pi0 dalitz
- Add NA60_2016_I1452485 eta and omega mu+mu- dalitz
- Add BESIII_2021_I1997451 e+e- -> phi pi+pi-
- Add
strcat()variadic template function to Rivet utils. - Add BESIII_2019_I1736235 e+e- > n nbar
- Add BESIII_2021_I1933191 e+e- > pi+pi- psi(2S)
- Add BELLE_2017_I1610301 upslion-> upsilon pi+pi-
- Add BESIII_2021_I1900124 e+e- > Lambda Lambdabar
- Add BESIII_2021_I1845443 e+e- > p pbar eta/omega
- Submission of CMS_2017_I1497519: Z boson in association with jets at 8 TeV
- Submission of CMS_2020_I1776758: Production of a Z boson with at least one charm or bottom quark jet at 13 TeV
- Submission of CMS_2021_I1972986: Double-differential inclusive jet cross sections at 13 TeV
- Submission of CMS_2021_I1978840: W+gamma differential cross sections at 13 TeV
- Submission of CMS_2012_I1089835 (b-jet production at 7 TeV), CMS_2019_I1753720 (ttbb production at 13 TeV), CMS_2021_I1847230 (angular distance and momentum ratios in 3-jet and Z+2-jet events at 8 and 13 TeV), CMS_2021_I1920187_DIJET/ZJET (quark and gluon jet substructure at 13 TeV), CMS_2021_I1932460 (double-parton scattering in 4-jet events at 13 TeV)
- Add
RivetHDF5.hhheader with convenience functions for HDF5 file and dataset loading. Requires highfive. - Implement MCnet weight conventions
- Adding more histograms to MC_MET and improving the binning (many thanks to Jan Kretzschmar).
Fixed
- Fix ATLAS_2020_I1790256 finalize to avoid divide-by-zero if no events passed cuts.
- Fix for CMS_2018_I1680318 (thanks to Armando Bermudez Martinez)
- Fix the ‘polarity’ of the optional argument to
AnalysisHandler::checkBeams().
Changed
- Allow the
rivetscript’s-poption to be given multiple times, or to contain a comma-separated list of files to load cf. the-aargument.readData()is called for each specified preload file, in order. - Move the
JetsandParticlesdefinitions into the.hhheaders. - Replace the distutils extension build and install with a handmade one.
- Fall back to old calculation of y in
DISKinematicsif Q2 is zero. Thanks to Peter Meinzinger. - Use
ThreeMomentuminMissingMomentumfor thevectorPt()etc. - Use explicit energy-unit factors when calling
Analysis::isCompatibleWithSqrtS(). - Analysis.h: add
auxFile()andauxData()methods to load and read data from HDF5 analysis auxiliary-data files. - Allow manual use of analysis-plugin make-targets after configuring
with
--disable-analyses.
[3.1.5] - 2021-11-06
Added
- Add support for
Warning,RefMatch, andRefUnmatchkeys in analysis info files, mapped to theAnalysisandAnalysisInfoAPIs. - Add testing, warning messages, and unit tests for negative-virtuality FS particles.
- Add SND_2021_I1942539 e+e- > eta eta gamma
- Add BESIII_2021_I1940960 e+e- > Sigma- Sigmabar0
- Add BESIII_2021_I1859248 e+e- > phi Lambda Lambdabar
- Add BABAR_2021_I1938254 e+e- > pi+pi 4pi0 and pi+pi 3pi0 eta
- Add BESIII_2021_I1867196 e+e- > D_s* D_sJ
- Add BESIII_2021_I1868813 K0S production in charmonium region
- Add BESIII_2021_I1908066 J/Psi production in charmonium region
- Add BABAR_2021_I1937349 e+e- > pi+pi-pi0
- Add SFINAE
x/y/z/t()method detection toVector4constructors, and explicit.pseudojet()calls toParticlesandJetspassed toPseudoJetconstructors (since those live in external code and we can’t SFINAE-protect them). These were breaking the build on Intel compilers – thanks to Chris Chang for the report. - Add LHCB_2016_I1414195.cc excited D_s decays
- Add BABAR_2010_I845914 e+e- -> e+e- eta_c via gamma gamma
- Add SLD_1995_I378545 events shapes at MZ
- Add MARKII_1982_I178416 charged particle spectra at 5.2, 6.5 and 29 GeV
- Add L3_1992_I334954 event shapes at MZ
- Add MARKII_1988_I250899 EEC at 29 GeV
- Add DELPHI_2000_I522656 event shapes vs thrust
- Add HRS_1989_I276948 rho, K0 and K+ spectra at 29 GeV
- Add TASSO_1984_I194774 D_s spectrum at 34.7 GeV
- Add DELPHI_1993_I356732 charm spectra
- Add JADE_1984_I221004 D*0 spectra
- Add DELPHI_2001_I526164 spectra in WW
- Add HRS_1986_I17781 Lambda spectrum in e+e- at 29 GeV
- Add HRS_1985_I213242 D_s and phi spectrum in e+e- at 29 GeV
- Add HRS_1986_I18688 f_2, f_0 and K_2 spectrum in e+e- at 29 GeV
- Add HRS_1987_I215848 hadron spectrum in e+e- at 29 GeV
- Add MARKII_1988_I246184 event shape in e+e- at 29 GeV
- Add MARKII_1987_I234976 Xi- spectrum in e+e- at 29 GeV
- Add MARKII_1988_I261194 eta spectrum in e+e- at 29 GeV
- Add MARKII_1982_I177606 D*+ spectrum in e+e- at 29 GeV
- Add MARKII_1985_I207785 K0/K+ spectrum in e+e- at 29 GeV
- Add MARKII_1985_I209198 Lambda spectrum in e+e- at 29 GeV
- Add MARKII_1987_I247900 Omega spectrum in e+e- at 29 GeV
- Add PLUTO_1984_I204487 gamma gamma -> pi+pi-
- Add MARKII_1984_I195739, MARKII_1986_I220003 gamma gamma -> pi+pi-/K+K-
- Add TPC_1986_I228072, ALEPH_2003_I626022, CLEO_1994_I372230 gamma gamma -> pi+pi-/K+K-
- Add BELLE_2003_I629334, BELLE_2005_I667712 gamma gamma -> K+K-
- Add BELLE_2007_I749358, MARKII_1990_I304882, VENUS_1995_I392360 gamma gamma -> pi+pi-
- Add BESIII_2021_I1866233 e+e-> Xi0 Xibar0
- Add ability for
mkhtmlto usepdfunitein place ofpdftkandpdfmergefor making a booklet. - Add per-file print out to rivet-merge
- Add a default-value argument to the string version of
getOption(). - Add DIRECT and DRESSED options to MC_ELECTRONS and MC_MUONS.
- Add BESIII_2021_I1866051 e+e-> K0K0
- Add convenience
V2,V3,V4, andP4alias names for the vector types. - Add tests for eta and rapidity values calculated in particular for +-z vectors.
- Add LHCB_2010_S8758301 -> LHCB_2010_I865584 alias, requested by LHCb.
- Add
Analysis::barchart()functions for converting histos to inert ‘bar charts’ without bin-width scaling. Sometimes necessary, e.g. for reporting infinite-width bin contents. - Submission of ATLAS_2019_I1768911 (Z pT and phi* and at 13 TeV)
- New CMS analyses: CMS_2020_I1794169 (WZ and same-sign WW boson pairs), CMS_2020_I1814328 (W+W- boson pair production), and CMS_2020_I1837084 (Z-boson differential production cross section using its invisible decay mode; NB: runs on Z->mumu sample)
- Submission of MC_HFDECAYS (MC-only validation routine for heavy-flavour hadron decays)
Removed
- Remove many const return-by-value signatures, and other sloppy or
meaningless C++ antipatterns flagged by the
icpcbuild. - Remove raw-int baryon counter from STAR_2006_S6860818.
- Remove numerical epsilon cutoff for pseudorapidity calculation:
infis a perfectly good value for beamline momenta. Regression test updated.
Fixed
- Fix the analysis-plugin uninstall target.
- Fix back for
CounterPtrfilling: no fill should mean no fill, not fill using weight 0 - Fix indentation in
MC_MUONS.info - Fix dressed-lepton origin position for the standard, non-jet-clustering mode.
- Fix normalisation in
OPAL_2004_I631361.cc
Changed
- Changed the first labelling in ATLAS_2016_I1467230 from
/*to/d01-* - Use the new
Ref(Un)matchregex info to filter unwanted objects from ref files during HepData sync. - Provide more options to specify the Cython command to be used. Thanks to Christian Holm Christensen.
- Separate the
DESTDIRfrom prefix in the Python module installation, to clean up FreeBSD packaging. Thanks to Dmitry Kalinkin. - Introduce
isCompatibleWithSqrtSfunction for sqrtS-dependent hist booking, falls back toENERGYoption to make routines reentrant safe - Support keyboard interruption in
rivet-merge - Correction to use xE rather than xP in OPAL_1997_S3396100, by Adil Jueid.
- Improve option handling for booleans, and exception emission with incompatible casts.
- Change the
DressedLeptonsingle-FS name from barefs to allfs, to reduce confusion. - Catch low-stats crash in LHCB_2013_I1208105 reported by Jan Kretzschmar
- Improve error message for when the calibration file has been forgotten
- Allowing
file.yoda:x1.23andfile.yoda:=1.23asrivet-mergearguments to multiply or overwrite the cross-section respectively - BABAR_2009_I821653 gamma gamma -> pi0
- BABAR_2011_I883525 gamma gamma -> eta eta’
- BABAR_2018_I1691222 gamma gamma -> eta’
- BELLE_2012_I1114749 gamma gamma -> pi0
- BESIII_2021_I1847766 e+e- > p pbar
- BELLE_2021_I1859137 e+e- > B()B()
- BELLE_2021_I1851126 Xi_c0 decay asymmetries
- BELLE_2021_I1859571 Xi_c0 decay asymmetries
- BESIII_2021_I1857930 e+e- > phi eta
- Adding zero-division protection in
AH::setCrossSection()(spotted by P. Ilten, thanks!) - Update bundled yaml-cpp to version 0.6.3
[3.1.4] - 2021-04-05
Added
- Add a preload option to
rivet-merge. - Add a
--font=euleroption to themake-plotsscripts. - Add some more debug info to
AnalysisHandler. - Add protection against accidental double-slashes in built paths
passed to TeX’s
kpathsealibrary. Thanks to Martin Habedank for the report. - Add a stream-based
AH::writeDatavariant, and map it to Python. - Add missing list-analyses flag initialisation to
Run. - Add BESIII_2020_I1836509 e+e- > pi+pi- eta’
- Add behaviour overrides for
rivet-buildto force no concatenation, or maximal concatenation, of analysis source files, and use them in specific and full CI validation runs so both modes are tested before release. Fix analyses with missing includes, flagged by the no-cat build.
Removed
- Remove use of the
mathastextpackage inmake-plotsHelvetica plotting mode, using sansmath’seulergreekoption instead.
Fixed
- Fix a finalize crash if there are no analyses, due to lack of active weight stream for the global event counter.
- Fix the
RunGZip-testing byte magic to use 2 rather than 4 bytes. Thanks again to Christian Holm Christensen. - Fix the analysis-keyword matching logic: thanks to Christian Holm Christensen and Dmitri Kalinkin.
- Fix
osdirbuild behaviour on Macs (thanks to Ilkka Helenius for the report and patch).
Changed
- Implement pair-wise version of
rivet-merge - Fixes to histogram double-booking in STAR_2017_I1510593. Some residual inconsistencies with HepData uncertainties.
- Submission of ATLAS_2021_I1852328 (WW production at 13 TeV) and ATLAS_2020_I1808726 (multijet event shapes at 13 TeV)
- BESIII_2021_I1853007 e+e- > n nbar
- BESIII_2020_I1837725 e+e- > 2p 2 pbar
- Tweak
AnalysisHandlerto allowrivet-mergewith user-supplied cross-sections per file - Do not add empty
Scatter1DPtrfor cross-section unless equiv is true. - Thanks to Christian Holm Christensen.
- Submission of ATLAS_2020_I1788444 (Z + b(b) at 13 TeV)
- Submission of CMS_2017_I1608166 (Identified particles in MB @ 13 TeV). NOTE: ratio output disabled until ratio plots are in HepData.
- Submission of CMS_2017_I1471281 (W and Z pt @ 8 TeV)
- BABAR_2021_I1844422 e+e- -> 2pi+2pi-2pi0(pi0,eta)
- Submission of ATLAS_2019_I1736531 (UE in Z @ 13 TeV)
- v2 HepData sync for ATLAS_2018_I1635273
- Make
rivet-mergework for analyses with sqrt(s)-dependent binnings, by allowing the first preloaded-AO hookup to overwrite the registered AO if there’s a binning mismatch. - Support whitespace in weight names
[3.1.3] - 2020-11-26
Added
- Add consistently
RIVET_-prefixed versions of theCTORandPLUGINmacros, to be the preferred future form from 3.2.0 onwards. - Add LHCB_2016_I1454404 (W/Z at 8 TeV), and LHCB_2015_I1396331 & LHCB_2016_I1490663 (open charm). Thanks to Alex Grecu and others in LHCb.
- Add an explicit configure test and override variable for the
cythonexecutable. - Add a
--no-downloadsflag torivet-mkanalysis. - Add a
GROOMoption toMC_JETS. - Add LHCB_2018_I1662483 (forward dilepton top-pair production cross-section). Thanks to Alex Grecu!
- Add mixed-arithmetic-type
min(n1,n2)andmax(n1,n2)functions, usingstd::common_type. - Add mT plot to MC_WINC
- Add a list of
fastjet::Transformerto FastJets, to be applied in order. Transformers don’t currently have a comparison operator, so if this list is non-empty, we have to report the projection as non-equivalent and recompute duplicates – for now – but it works, and we can feed back that improvement (again). - Add missing
inlinedeclarations to all high-level filter functions. - Add missing
(i)discard/selectIfAllhigh-level filtering functions. - Add BESIII_2020_I1823448 e+ e- > Xi- Xibar+
- Add bare-lepton origin position to DressedLepton constructors.
- Add
aspace()andl/rpad()utility functions. - Add DELPHI_1990_I297698 JADE jet rates
- Add JADE_1985_I213948 gamma, pi0 and eta spectra at 14, 22.5 and 34.4 GeV
- Add L3_1990_I298078 jet rates at MZ
- Add L3_1991_I314407 pi0 and charged particle spectra
- Add L3_1994_I374698 pi0 and eta spectra
- Add missing jet rates to L3_2004_I652683
- Add DELPHI_2000_I531568 p pbar correlations
- Add L3_2008_I825820 event shapes at 197 GeV
- Add ALEPH_2001_I555653 tau polarization at LEP I
- Add DELPHI_2008_I763352 tau polarization at LEP II
- Add MAC_1987_I245571 tau polarization at 29 GeV
- Add AMY_1990_I298238 tau polarization at 57 GeV
- Add VENUS_1997_I440852 tau polarization at 58 GeV
- Add DELPHI_2000_I511443 tau polarization at LEP I
- Add OPAL_2001_I554583 tau polarization at LEP I
- Add L3_1998_I467929 tau polarization at LEP I
- Add client-side plot display filtering and
-m/-Mpattern (un)matching flags torivet-mkhtml. - Add BELLE_2018_I1621272 B->D*- tau+ nu_tau
- Add BESIII_2019_I1702549 D_S+ -> K0 e+ nu_e
- Add BELLE_2019_I1724068 B0->D*- tau+ nu_tau
- Add BABAR_2008_I781294 Lambda_c+ -> Xi- pi+ K+
- Add BESIII_2020_I1817739 e+e- > omega pi0, omega eta
- Add BESIII_2020_I1791570 J/Psi, psi(2S) -> Sigma+, Sigmabar-
- Add plot to BESIII_2019_I1691850
- Add SND_2020_I1809286 e+e-> pi+pi-pi0
- Add BELLE_2020_I1796822 B+- > pi+pi- ell nu
- Add BESIII_2020_I1814783 e+e- -> Sigma+-Sigmabar-+
- Add CLEOII_1997_I446031 e+e- > e+e- pi0/eta/eta’
- Add BELLE_2020_I1789775 e+e- > D_s D_s2
- Add BELLE_2019_I1762826 e+e- > D_s D_s1(2536)
- Add re-setting of null cross-section to 1e-10 pb before finalize, to allow reweighting.
- Add
AnalysisHandler::runBeamEnergies()andAnalysis::beamEnergies(),beamEnergies(const ParticlePair&), andenergies(const ParticlePair&)andmoms(const ParticlePair&). - Add warnings and physicality checks to
PartonicTops - Add
Event::hepmcEvent()andEvent::hepmcEventPtr()methods as more intuitive alternatives togenEvent()(which requires familiarity with HepMC for the name to make sense). - Added self-guided Rivet “truth analysis” tutorial
- Add SND_2020_I1806118 e+e- > K+K-pi0
Removed
- Remove Projection beam constraint functionality.
Fixed
- Fix Clang 12.0 compiler warnings
- Fix bug where path wasn’t set for booking of scatters
- Fix handling of no-weights and no-xsec events.
- Fix bug related to (de)selection of weight subsets
Changed
- Use more numerically robust x and y definitions in
DISKinematics - Relax some restrictions on
Sphericitycalculation. - Backport master-branch tolerance of no-beam events and no-xsec runs to 3.1.x.
- Adding CMS_2018_I1620050 (dileptonic ttbar at 13 TeV) and CMS_2019_I1744604 (t-channel single top at 13 TeV). Thanks to Markus Seidel and Matthias Komm.
- Move the experiment-specific smearing functions into
ExptSmearingFunctions.hh, withSmearingFunctions.hhretained for UI simplicity and backward compatibility. - Improve the ATLAS Run 2 MET smearing function to incorporate the Run 2 linearity and resolution dependences.
- Refine the ATLAS and CMS MET functions to avoid a peak at MET=0 from negative Gaussian smearing.
- Use options for MC_VINC, MC_VJETS, MC_VKTSPLITTINGS
- Tidy jet distance measure enums, introducing convenience
AKT,CA, andCAMBRIDGEaliases. - Correct logical bugs in
(i)selectIfAnyDeltaR/Phifunction logic: it’s not just the equivalent of the discard versions. - Submission of ATLAS_2019_I1750330
- Rename the little-used in-place
sortBy()functions toisortBy()cf. ifilter() and friends, since the behaviour should not change wildly just based on the constness status of an argument. - Update
rivet-diffhepdata-allto check local directory for analysis.json - Create bash completion dir in
$prefix/etcif it doesn’t exist. - Submission of ATLAS_2019_I1762584, ATLAS_2019_I1772062 and ATLAS_2019_I1759875
- Detect events with no beam particles, and allow their use with explicit beam-check disabling.
- Using
beamEnergyMatchfor standardised beam-energy checking in analyses. - Rationalising Id -> ID naming in ParticleName and Analysis & AnalysisHandler interfaces.
- Use a common set of standalone functions, via explicitly named
user-facing methods, for
AnalysisandAnalysisHandlerchecks on permitted and expected beams. - Rework
Tools/BeamConstraints.hhfunctions with more explicit names and PID + energy coverage. - Move standalone beam methods out of
Projections/Beam.hh. - Change the
AnalysisHandler::analyze()methods to explictly take a non-constGenEventargument: we are no longer making an internal deep copy, so users should be fully aware that the passed event is not completely safe from modification. - Submission of ATLAS_2020_I1803608
- Make
Eventclass aware of selected weight subsets - Allow user to specify nominal weight. Also do not write out weight name if “skip weights” is selected
[3.1.2] - 2020-07-02
Added
- Add a very horrible preprocessor hack to allow use of a private method on the HepMC2 WeightContainer, for robust and correctly ordered weight name acquisition before HepMC 2.06.11.
- Add BABAR_2015_I1377201 azimuthal asymmetries
- Add BELLE_2019_I1718551 double differential in z and pT
- Add BELLE_2020_I1777678 scaled momentum dists
- Add BESIII_2020_I1800404 charged particle mult in J/psi, chi_c decays
- Add SND_2020_I1800477 e+e- > eta pi0 gamma
- Add computation of Python versions and passing them to Cython as command-line flags.
- Add ATLAS_2018_I163527 (W+jets at 8 TeV)
- Add
InvisibleFinalStateprojection - Add CELLO_1992_I345437 gamma gamma > pi+ pi-
- Add BESIII_2020_I1795949 e+e- > Ds(*) Ds1
Fixed
- Fix small bug in
rivet-cmphistos
Changed
- Submission of ATLAS_2019_I1744201, ATLAS_2019_I1764342
- Allow several
AnalysisHandlerobjects to run in different threads. This is a temporary fix. A permanent fix involves changing the Analysis handler to own its own projections. Currently each AnalysisHandler needs to be created and run completely within the same separate thread. - Allow + and - in AO paths
- Always skip weights that have
AUXorDEBUGin the name. - HTML sectioning and float/overflow/scrollbar improvements in
rivet-mkhtmloutput.
[3.1.1] - 2020-05-08
Added
- Add ATLAS_2020_I1790256 (Lund Jet Plane measurement at 13 TeV)
- Add R209_1982_I168182 (Drell Yan measurements $pp +- +X $ at $\sqrt{s} = 44$ and 62 GeV at CERN ISR), PHENIX_2019_I1672015 (Drell Yan production at low masses at $\sqrt{s} = 200$ GeV), NUSEA_2003_I613362 (Drell-Yan dimuon absolute cross-sections in 800 GeV pp and pd collisions), E605_1991_I302822 (dimuon production in proton-copper collisions at 38.8 GeV), and E288_1981_I153009 (dimuon continuum in 27 GeV pN). Thanks to Hannes Jung for all the above!
- Add an integer
RIVET_VERSION_CODE#defineto the config header, for easier compile-time triggering in user code. - Add ALICE_2017_I1645239 (Lambda_C production in pp + pPb).
- Add
--match-weightsflag to select subset of weights (with regex support) - Add
--unmatch-weightsflag to deselect subset of weights (with regex support) - Add link to
Analysisreference and arXiv preprint to HTML output - Add stdAnalysisNames() functions to
AnalysisHandlerandAnalysisLoader(static in the second case), and expose them through the Python interface, with arivet.stdAnalysisNames()module-level alias for convenience, cf.rivet.analysisNames(). - Add a METFinder base class, common to
MissingMomentumandSmearedMETto make them interchangeable. - Add missing rates to various analyses
- Add PDG_R, compilation of measurements of R
- Add SND_2020_I1789269 e+e- > pi+pi-
- Add a public
AnalysisHandler::getYodaAOs()function and use it to implementwriteData(). - Add BELLE_2017_I1607562, hadron spectra
- Add BELLE_2018_I1698390 Xi_c+->Xi-pi+pi+
- Add BELLE_2005_I686014 charm hadrons
- Add BESIII_2020_I1788734 eta’ phi
- Add BELLE_2006_I725750 tau -> phi K
- Add BABAR_2006_I724557 Omega_c* production
- Add distributions to BESIII_2020_I1775344
- Add CLEOC_2008_I779705 D0 -> eta pi+pi-
- Add rates to BELLE_2017_I1606201
- Add rates to CLEO analyses
- Add BELLE_2004_I668024, Sigma_c(2800)
- Add BABAR_2014_I1286317 antideutron production
- Add BABAR_2020_I1769654 e+e- > KS0 KL0
- Add BESIII_2020_I1775344 e+e- > K+K- 2pi0
- Add CLEOC_2006_I1728043 eta, eta’, phi in D decays
- Add ARGUS_1990_I283027 anti-deuteron spectrum in Upsilon(1S) decays
- Add ARGUS_1989_I278932 Delta++ spectrum in Upsilon(1S) decays
- Add BESIII_2018_I1697371 D0 -> K semi-leptonic
- Add CLEOC_2009_I823313 D -> pi, K q2
- Add CLEOC_2006_I715096 electron spectrum in D decays
- Add CLEOC_2008_I769777 D -> pi, K q2
- Add CLEOC_2011_I875526 D -> eta q2
- Add CLEOII_1996_I415409 tau -> K eta
- Add CLEOII_1994_I373188 tau -> 3pi-2pi+pi0
- Add BABAR_2004_I632399 phi spectra in B decays
- Add BESIII_2018_I1662660 D^+ -> eta semi-leptonic
- Add CLEOII_1994_I361356 Sigma_c 0,++ in B decays
- Add BABAR_2006_I714447 excited D_s spectra
- Add CLEOII_1992_I32611 chi_b(2P) decays
- Add CLEO_1985_I205668 identified particle spectra
- Add BELLE_2010_I835104 B-> eta Xs
- Add BABAR_2002_I582184 D_s spectra
- Add BESIII_2019_I1726357 e+e- -> Lambda Lambdabar
- Add CLEOII_2002_I606309 B->Psi
- Add BABAR_2004_I642355 B-> eta’ Xs
- Add BABAR_2007_I722622 Xi_c’ spectra
- Add bin width to BABAR_2001_I558091, BABAR_2006_I731865, BELLE_2009_I823878
- Add ARGUS_1990_I296522 Xi_c+ spectrum
- Add BELLE_2008_I762013 D_s1(2536) decay angles
- Add BABAR_2007_I746745 Omega_c spectrum
- Add CLEO_1990_I298611 Lambda_c spectra
- Add BES_1999_I508349 charm cross section
- Add BABAR_2006_I714448 Upsilon(4S) -> pipi Upsilon(1,2S)
- Add CLEOII_1995_I404590 Xi_c+ spectra
- Add CLEOII_1999_I501417 Xi_c1 spectra
- Add CLEOII_1997_I424575 Sigma_c* spectra
- Add BABAR_2011_I892421 D_s1(2536) decay angles
- Add CLEOII_1994_I378319 charged D_1,D_2 spectrum
- Add CLEO_1992_I315181 baryon spectra in B decays
- Add CLEOII_1994_I372349 neutral D_1,D_2 spectrum
- Add ARGUS_1995_I397794 D_s2 spectrum
- Add ARGUS_1989_I282570 D_s1(2536) spectrum
- Add BES_1999_I507637 psi(2S)->J/psi pi+pi-
- Add CLEOII_1999_I478217 Xi_c’ spectrum
- Add CLEOII_1994_I356001 Upsilon(3S) -> pipi Upsilon
- Add CLEOII_1993_I352823 D_s1(2536) spectrum
- Add CLEOII_1994_I381696 Lambda_c* spectrum
- Add CLEOII_1995_I397770 Xi_c*0 spectrum
- Add CLEOII_1996_I416471 Xi_c*+ spectrum
- Add ARGUS_1997_I440304 Lambda_c* spectrum
- Add ARGUS_1993_I357132 Lambda_c* spectrum
- Add BABAR_2007_I1091435 D0->K- semileptonic
- Add BESIII_2018_I1655158 D0->pi- and D+->pi0 semileptonic
- Add patch to allow finding of zipped reference data
- Add MARKII_1979_I144382 Psi(2) -> J/Psi pi+pi-
- Add BABAR_2007_I760730 e+e- > D* D and DD
- Add BELLE_2002_I563840 e+e- charmoinum spectrum
- Add ARGUS_1986_I227324 event shapes at Upsilon(1S)
- Add ARGUS_1992_I319105 Lambda_c decay correlations
- Add CLEOII_2000_I533575 Xi asymmetry
- Add SFINAE type restriction to
PROJtemplated type deduction inAnalysis::apply()methods. - Add CLEOII_1997_I442910 Xi_c spectrum in b decays
- Add CLEOII_2005_I668268 lambda_c decay correlations
- Add BELLE_2009_I810744 Upsilon(4s) -> pipi Upsilon(1S)
- Add BABAR_2015_I1377201 D*+/- spectrum in Upsilon(1S) decays
- Add ARGUS_1994_I371613, lambda_c decay correlations
- Add BABAR_2010_I864027 D_s cross sections
- Add CLEOII_1994_I371611, lambda_c decay correlations
- Add BESIII_2016_I1384778 for Collins asymmetry
- Add CLEO_1995_I392704 for lambda_c decay correlations and improvements to the similar FOCUS_2006_I693639
- Add CLEOII_1999_I504672, multiplicity in 4s decays
- Add BELLE_2011_I878228 D_s cross sections
- Add BABAR_2017_I1498564
- Add BESIII_2018_I1685535
- Add CLEOII_1998_I467642
- Add LENA_1981_I164397
- Add CUSB_1984_I199809
- Add BESIII_2018_I1633425
- Add BESIII_2017_I1509241 e+e- > p pbar pi0
- Add CLEOIII_2006_I728679 and CLEOII_2002_I601701, eta’ spectra in Upsilon(1S) decay
- Add BABAR_2013_I1247058 for e+e- > p pbar
- Add BESIII_2018_I1653121
- Add BESIII_2017_I1596897
- Add BESIII_2020_I1762922
- Add BESIII_2017_I1494065
- Add
AnalysisInfo::refFile()andAnalysis::refFile()and::refData()functions in C++, and a Pythonised version of the latter to the Python interface. - Add BELLE_2015_I1336624
- Add BESIII_2019_I1773081 e+e–> pi+_pi-pi0
- Add KEDR R analysis
- Add optional
signarguments to alldeltaEtaanddeltaRapfunctions, for use withVector2and symmetry withdeltaPhi. - Add a
Vector2class.
Fixed
- Fix ATLAS_2012_I1203852, ATLAS_2015_I1394865 (7 & 8TeV 4L) to use prompt final state
- Fix ATLAS_2016_I1492320 (WWW analysis) to implement the like-sign requirement properly (from M.Habedank)
- Fix compiler issue in BES_1999_I508349
- Fix band combination in
rivet-cmphistos - Fix double booking of hists in ARGUS_1988_I251097
- Fix for K+K- eta plot in BABAR_2008_I765258
- Fix rivet2 -> 3 issue in JADE_1983_I190818
- Fix to bin widths for various analyses to improve plotting
- Fix a sign error and remove apparent efficiency double-counting in the ATLAS_2019_I1725190 smeared dilepton analysis.
- Fix a
typeid()/smart-ptr compiler warning inProjectionHandler.cc. - Fix a logic bug in ATLAS_2016_I1448301 which was introduced when it was rewritten for the “options” set up
Changed
- Force single-threaded build of Cython, to avoid race conditions.
- Specialize
Analysis::getOption(name, default)for literal string default, to avoid an invalid internal use ofstringstream. - Use
old.inspirehep.netfor now inrivet-findid, and update other references to Inspire to use the new URL scheme. Coverage scripts andfindidwill need a proper migration to the new Inspire in the longer term. - Allow user to specify default weight to be used by plotting scripts, different defaults possible for different yoda files
- Allow users to recycle the same yoda file by giving it a “Name” on the command line, which makes it possible to compare two variations in the same file
- Force HepMC event units to
GEV,MMin HepMC helper functions. - Improve identification of nominal weight (fewer loops)
- Explicitly delete the comma operator between Cut objects, to stop anyone from trying!
- Make rebinning by an integer more permissive if the number of bins is not divisible by the rebinning factor.
- Update the MC_HFJETS routine to use the ‘new’ ghost-tagging rather than an ad-hoc dR scheme.
- Adding
IOError,ReadError, andWriteErrorexception classes, to avoid use of generic Error. - Throw
Warningrather thanErrorif no nominal weight can be identified - Teach plotting scripts how to treat a specific variation as though it was the nominal
- Allow “Nominal” as a potential default weight name
- Make
AnalysisObject-pointer wrapper objects throw an exception (and helpful error message) if being dereferenced to a null pointer. - Improve the ‘couldn’t import rivet module’ error message.
- Improvements to ARGUS analyses, mainly adding missing histos
- Update PID util functions to match the latest version of
MCUtils/PIDCodes/PIDUtils.h - Fixes to MC analyses as booking not allowed in analyse any more
- Overload scale and normalize for
map<string,Histo1DPtr> - Change the
AnalysisHandlerlogger name fromAnalysis.HandlertoAnalysisHandler, since -lAnalysis=DEBUG would be expected to turn on logging for debugging of an analysis, not the core machinery that deploys it (which is not interesting to most users). - Improvements to the analysis coverage for e+e- experiments.
- Print an error message and throw an exception if trying to double-book an analysis object in the Analysis::init() method.
- Sync with HEPData for CMS_2017_I1598460 and CMS_2013_I1273574
- Error trapping in
rivet-findidfor rare cases when two bibtex entries are found (e.g.rivet-findid 1487288) - Make sure
--skip-weightspicks the nominal weight and not the 0th weight - Stop the occasional population of a bin which is outside acceptance in CMS_2017_I1499471 (Zbb).
- Add a warning to CMS WZ analysis CMS_2016_I1487288 because it looks like it produces cross sections but actually they are normalised to data, and do not have fiducial correction applied differentially.
[3.1.0] - 2019-12-22
Added
- Add JET_EFF_ONE/ZERO aliases, cf. the Particle versions.
- Add decay angle to ARGUS_1989_I268577
- Add polarization to OPAL_1997_S3608263
- Add CMD3_2019_I1770428 K0S K0S pi+ pi- cross section
- Add TMP to histogram labels in ARGUS_1993_S2669951
- Add new ALEPH analyses
- Add MARKI_1976_I109792, DASP_1979_I132045 particle spectra at low energies
- Add DASP_1979_I132410 eta production at low energies
- Add BABAR_2006_I719111 particle specta in B decays
- Add OPAL_2001_I536266 flavour separate charge particle multiplicites
- Add new CLEO and CUSB analyses
- Add new BELLE lambda polarization and ARGUS D spectra
- Add new DELPHI analyses
- Add L3_1995_I381046, B*/B ratio
- Add new OPAL analyses
- Add new BES analyses
- Add new CMD3 analyses
- Add ARGUS_1988_I261672 for sigmac production
- Add LHCB_2013_I1243156, ARGUS_1989_I280943, BABAR_2010_I867611 helicity angles for excited D meson decays
- Add TPC_1991_I316132, HRS_1987_I250823 D* polarization at 29 GeV
- Add VENUS_1998_I453613, TOPAZ_1997_I454183 charged particles at 58 GeV
- Add omega hist in BABAR_2017_I1621593
- Add default ANY decay mode to TauFinder.
- Add
INFto the list of predefined constants, and rename the internal constants header.
Fixed
- Fix histogram IDs in BELLE_2009_I809630
- Fix issues with ARGUS_1992_I319102, CLEO_2000_I537236
Changed
Projections/EventMixingFinalState.hh: Replace use ofstd::random_shuffle(deprecated in C++14, removed in C++17) withstd::shuffleand direct access to our thread-safe random number generator.- Significant revisions to tau jet efficiency functions.
- Give precedence to user-supplied cross-section
- Switch required compiler dialect to C++14, to ensure that compiler definitely (?) supports required C++11. C++14 or 17 is the current standard LCG build dialect.
- Fixes to headers and brief descriptions in various analyses
- Formally require YODA >= 1.8.0 in configure.
- Fixes for pointers, booking in TASSO_1990_I284251 and TASSO_1982_I177174
- ATLAS_2011_S9128077 ensure all bins outputted in d02, otherwise
problems with
yodamerge - ATLAS_2015_I1393758 and ATLAS_2016_I1419070, CMS_2012_I1111014,
change
numEntries->effNumEntriesto avoid issues in NLO runs - Change ratio plot label, was the wrong way up, in ATLAS_2012_I1203852, ATLAS_2013_I1190187
- Use Rivet
normalize()not YODA’s in ATLAS_2018_I1711114 to avoid issues if histos empty - Avoid crash in ATLAS_2016_I1426523 if host not found
- EHS_1988_I265504 fix rapidity calc so in CMS not lab
- A2_2017_I1486671 fix omega PDG number
- Re-enable custom
ParticlesandJetsvectors, withmoms()and other conversion functions. - Pass HepMC3 path info through to the
rivet-configscript. - Refine testing and printing of
UNVALIDATEDstatus in analysis listing. - Improve normalization guidance and fix energy specification in
mkanalysis.infofile template.
[3.0.2] - 2019-11-17
Added
- Add ATLAS_2018_I1676551 analysis: 13 TeV 36/fb recursive jigsaw 3 and 3 lepton BSM search. Implemented without ROOT/RestFrames by Derek Yeung and validated (with acceptable but imperfect agreement) against published cutflow tables.
- Add ATLAS_2019_I1725190 analysis: 13 TeV full Run-2 dilepton mass with analysis-specific parametrised smearing functions.
- Add CMS_2018_I1708620 analysis: 13 TeV forward energy flow, converted to support re-entrant finalize.
- Add LHCB_2018_I1665223 analysis: 13 TeV inelastic pp cross-section in LHCb fiducial acceptance.
- Add an EXAMPLE_MINIMIZER analysis showing how to use the function minimizer.
- Add a catchier rivet-build script as an alias (to become canonical in future) for rivet-buildplugin.
- Add probability density functions for Gaussian and Crystal Ball distributions, and a Crystal Ball random sampler function; all currently in Random.hh/.cc.
- Add discard/idiscard and select/iselect aliases for the clunkier filter_select etc.
- Add ParticleBase forwarding of the dot() method from FourVector/FourMomentum.
- Added LHCF_2018_I1518782 and LHCF_2018_I1692008 submitted by Eugenio Berti
- Add MendelMin minimiser class to the Tools collection – needs a bit of tweaking, but it’s a start.
- Add new EXAMPLE_CUTFLOW analysis to demonstrate use of the Cutflow system.
- Add more convenient fillnext methods to Cutflow, and refactor a bit.
- Add better parametrisation of ATLAS Run 2 muon efficiency and smearing.
- Add FJCONTRIB lib path to rivetenv.(c)sh, thanks Aidan Kelly!
- Add four new CELLO analyses CELLO_1982_I12010, CELLO_1983_I191415, CELLO_1989_I276764, CELLO_1990_I283026 events shapes and spectra at Petra
- Add 18 new TASSO analyses, event shapes and spectra at Petra
- Add 6 new PLUTO analyses, event shapes and spectra at Petra and Doris
- Add 11 new SLAC e+e- analyses, event shapes and particle spectra
- Add 5 new JADE analyses
- Add 7 new ARGUS analyses, and improvements to several existing ones
- Add 5 new Tristan analyses
- Add 17 new BES analyses
- Add 8 new CLEO, A2, E756, FOCUS and NA48 analyses
- Add many missing dists to DELPHI_2003_I620250
- Add 13 more FENICE, KLOE, SND and CMD analyses
- Add 15 new LEP analyses
- Add new projections and first analyses for gamma gamma collisions
- Add CMS_2018_I1646260 soft-lepton SUSY search analysis (used for recasting comparisons at Les Houches 2019).
- Add ATLAS_2018_I1667046 ATLAS 36/fb RPV SUSY search.
Fixed
- Fix to ATLAS_2018_I1634970 to stop using prompt invisible in jets
- Fix typos, HTML styling, and download URL in
rivet-mkvaldir. - Fixing
setCrossSectionbug inrivetPython script - Fixed HepMC3 interface so that it can use the built in
deduce_reader. (Thanks to Andrii Verbytskyi for input) - Fixed rivet-mkvaldir so that it downloads HepMC files from the new site.
- Fix a longstanding
make-plotsbug, in which theXMajorTickLineColordefaulted to0.3pt– TeXxcolorversions started to complain about this in some Fedora >27 version. - Fix logic error in
HasNoTagfunctor.
Changed
- Merging Peter’s changes from release-2-7-x branch.
- Change luminosity info storage and accessors to double rather than string, so usable in analyses, and add an Analysis::luminosity() method with the units in Rivet’s standard picobarns for use like luminosity()/femtobarn in analysis code.
- Change
JetAlgcanonical name and header toJetFinder, to matchParticleFinder.JetAlg.hhdefines a (pre-deprecated) backward-compatibility alias for now, to be removed in v3.1.0 long with other deprecated API features. - Force rebuild of Cython files if a sufficient Cython installation is found, by touching the .pyx file during configure.
- HepMC3 compatibility patches, thanks Andrii Verbytskyi!
- Suppress pesky warnings from
InitialQuarks - Implement
XMinandXMaxfor chi2 calc inmake-plots - Making plotting scripts compatible with tip of YODA-1-7 branch This will break things for older YODA checkouts …
- Move variation-band combination into
rivet-cmpthistos, so that the result is written out to dat file - Fixes to ARGUS_1993_S2789213 ARGUS_1993_S2669951
- New BABAR, BES and WA46 baryon decay analyses
- Various fixes to work properly with HepMC3.
- Introduce options for ATLAS_2014_I1312627
- Inspire ids fixed in several ALICE, ATLAS, UA5 and BABAR analyses
- Improve normalization in ALEPH_1999_S4193598
- Implement
setWeightCap(double)method in AnalaysisHandler that can be used to chop off large weights. USE WITH CARE!! - Implement
--weight-capflag in mainrivetscript to set weight flag - Adding an analysis with an option that has not been declared in the info file is now allowed, but an appropriate warning is emitted.
make-plotscan now combine multiweights to form a band. UseBandComponentEnvand/orBandComponentPDFto specify envelope- or PDF-like components that should contribute to the band. Spaces should be used to separate weight groups (one envelope / PDF combination per weight group), while each weight group should be given by a comma-separated list. Regex is supported. All band components are added in quadrature with the statistical uncertainty.- You can now specify a
Variations=MUR*,PDF123456*tag (using wildcards even!) in theBEGIN PLOT ... END PLOTsection in order to select the weights thatmake-plotsshould draw in the plot (or pass--no-weightstorivet-cmphistos/-mkhtmlto drop all of them). - If writing to a terminal, use carriage return to eat less scrollback space by overwriting the 100th event outputs and only using a full newline for the 1000s. Also reducing the re-entrant histogramming noise from AnalysisHandler to make this neater rather than splurging the same green semi-debug output every 1000 events. It’s ridiculous how much more professional this feels…
- Combine ATLAS electron reco and ID efficiencies into
EFF_LOOSE,EFF_MEDIUM, etc. functions. - Improve ATLAS Run 2 electron reconstruction efficiency map, based on 2019 paper Fig 2.
- Skip loop over variation weights if AO hasn’t been filled
- Some improvements to Run 2 electron medium & tight ID efficiency parametrisations.
- Fall back to using quark constituents for jet tagging, for fixed-order running.
- Reinstate the command-line event skipping.
- Return
str(pid)or 0 in PID <-> name translations, rather than throwingPidError. - Filling
_h_Nwith the N events rather than weights (MC_XS) - Changing
ValidationtoReleaseTestsin all info files - Re-instating MC_WEIGHTS, MC_XS
- Removing regression reference files from installation since other developer output (e.g. for the website) is also not included
[3.0.1] - 2019-07-16
Added
- Add missing includes for DELPHI_2000_I524694 and DELPHI_2003_I620250
- Add a
--with-fjcontriboption flag to configure. - Add convenience aliases for vectors of standard types: strings, ints, doubles, etc.
- Add
SmearedParticles::truthParticlesandSmearedJets::truthJetsfunctions for access to the unsmeared inputs. - Add convenience aliases for vectors of standard types: strings, ints, doubles, etc.
- Add
Particle::closestApproach()function – needs testing. Useful for long-lived particles.
Changed
- Improve debug reporting from
SmearedParticles. rivet-cmphistos:AOPathfor nominal should be filled with string"0", not integer0- Allow
=signs in weight names as propagated into Rivet/YODA histo paths. - Reinstating ATLAS_2016_CONF_2016_078
- Reinstating ATLAS_2014_I1312627, but needs work for HDsync
- Reinstating ATLAS_2014_I1307243
- Reinstating ATLAS_2012_I1124167
- Reinstating ATLAS_2012_I1094568
- Reinstating CMS_2013_I1122847
- Reinstating CMS_2013_I1261026
- Reinstating ATLAS_2010_S8918562
- Adding valref for LHCB_2012_I1208102
[3.0.0] - 2019-06-20
Added
- Add booking method for a
Scatter2DPtrfrom a refScatter2Dneeded by ALICE_2016_I1419244 (thanks to Frank Siegert!) - Add OPAL_1997_I421977 for sigma +/- production
- Add DELPHI_2003_I620250 for event shapes below Z pole
- Add DELPHI_2000_I524694 for sigma- and lambdsa(1520) production at LEP
- Add analysis CLEO_1991_I29927, B* production in e+e-
- Add new heavy-ion beam particles: GOLD, LEAD.
- New pluginNovosibirsk with analyses from SND, CMD, etc
- New pluginOrsay with analyses from DM1 and DM2
- New PETRA analyses, mainly for R
- New pluginFrascati with analyses from ADONE and DAPHNE
- New plugin with analyses from the BES experiment
- New MC analyses for hadron/tau decays based on Herwig internal ones
- The
GenEventsin Rivet can now be stripped from (most) light quarks and gluons to speed up searching. - Status lines in info files can now contain words like
NOTREENTRY,NOHEPDATA,SINGLEWEIGHT, andUNPHYSICAL. - Can now configured to use HepMC3 (3.1.1 or later).
- Adding analysis ATLAS_2017_I1604271 (inclusive jets at 8 TeV)
- Adding analysis ATLAS_2019_I1718132 (unfolded control regions in leptoquark search)
- Adding ATLAS_2011_I930220, ATLAS_2018_I1634970 and ATLAS_2019_I1718132
- Adding
bookScatter3Dmethod - Adding valref for ATLAS_2018_I1634970 and tweaking info file
- Implement
skipWeightsflag
Removed
- Remove instances of scale and normalize using initializer lists as gcc48 doesn’t like them
- Remove regex includes and re-write in terms of
stringstream - Remove null bins from yoda to allow sync with HEPData in
CLEO_2004_S5809304.yoda
Fixed
- Fix Py2/Py3 encoding issue in
bin/rivet - Fix typo in
rivet-cmphistos - Fix no of tracks plots in ATLAS_2016_I1424838, normalise to 100 not 1, agreed by Chris G
- Fix Unicode and
argparsebugs in bin/rivet. Thanks to Frank Siegert. - Fixing
bad_cast errorin STAR_2008_S7869363- Protecting against zero-division in STAR_2006_S6860818 - Adding Marek’s opacity fix to
make-plots
Changed
- Marking ATLAS_2016_CONF_2016_092 OBSOLETE (superseded by ATLAS_2018_I1634970)
- Reinstating ATLAS_2014_I1279489 and adding valref
- Make ATLAS_2019_I1718132 less neat, because gcc4.8 doesn’t like nice things
- Introduced a new validation procedure:
bin/rivet-mkvaldirwill now create aMakefilein the given directory based on theValidation:section of all.infofiles. “make check” will download all necessary HepMC files (if they have not already been downloaded), produce the validation yodas and compare them to reference ones in the${prefix}/share/Rivet/refyodasdirectory. If differences are found the corresponding plots will be produced usingrivet-mkhtml. For more information runmake helpin the created directory. - Extended the
MultiWeightWrapperclass to keep a list of both/RAWand final analysis object.AnalysisHandler::mergeYodasrewritten to use these. - Commenting out ununsed function in
ChargedFinalState.cc - Removing unused member variable in
Spherocity.hh - Clean up logic around
CmpState - Make
rivet-mkanalysismore intuitive - Interface change: remove title/axis-label options from book methods
- Making
fjcontriba dependency of Rivet - Removing
if-statement testing iftype(u'')is (not)strwhen deciding whether to encode string inbin/rivet - Sync yoda for many D0 analyses
- Sync yoda for CDF_2008_S8093652 D0_2008_S7554427
- L3_2004_I652683 add missing plots and sync yoda, still missing N charged as function of CMS energy and jet plots
- PLUTO_1980_I154270 clean up to prepare for yoda sync
- CDF_2015_I1388868, changes to allow yoda sync, histograms renumbered and systematic error added to y values
- Sync yoda for CDF analysis where y errors changed due better calc in HEPData
- Adding more heavy-ion beam particles: DEUTERON, ALUMINIUM, COPPER, XENON, URANIUM
- Sync yoda for BELLE_2015_I1397632, two hists change label + final binchangeset: 7157:2482c97f5ef8
- Update BABAR_2007_S6895344.yoda with improved error calc
- Sync yoda for H1_1994_S2919893.yoda, only difference handling of non-existance bins, better in new version
- Sync yoda for OPAL_2000_S4418603.yoda, changes only in histos not used by rivet
- Sync yoda for OPAL_1997_S3608263, missing histos in rivet copy
- Sync yoda for OPAL_1997_S3396100, trival difference some asymmetric x bins in new output but bin limits same
- Switching already existing heavy-ion analyses to use new beam types
- Sync ALEPH_1996_S3196992.yoda with HEPdata, rounding issues in old version
- Sync ALEPH_2001_S4656318.yoda, differences in histos not used in analysis
- Sync DELPHI_2011_I890503.yoda, fixes y errors but still a zero width bin to deal with
- Switch to using counters in OPAL_2002_S5361494, errors now calculated, and allows yoda sync with HEPdata
- Switch to using counters in DELPHI_2000_S4328825, errors now calculated, and allows partial yoda sync with HEPdata
- Spdate PLUTO_1980_I154270.yoda for new hepdata error calc
- Spdate JADE_1983_I190818 to handle zero bins widths and update the yoda from HEPData
- Clean up code in OPAL_1997_S3396100, fixed normalisation of sigma-(1385) distributions
- Update yoda for ARGUS_1993_S2653028, improved y errors, still zero-bin-width issues
- Update yoda for SND_2016_I1471515, ALEPH_1995_I382179, ALEPH_1999_S4193598
- Skip beam particles when trying to determine promptness (thanks to Marek Schoenherr for pointing this out)
- Apple’s clang compiler really doesn’t like uninitialised variables … sorry Peter!
- Use integer rather than overloaded
Projectioncomparison at theapplystage. ImprovesSmeared*projection reproducibility and may speed up the apply step. Thanks to Xiangyang Ju. - Move BABAR and BELLE analyses to separate plugin and add new mainly radiative return analyses
- Move existing Tristan analyses to separate plugin and add new, mainy R analyses
- Move older SLAC e+e- analyses to separate plugin and add new analyses
- Move DORIS analysis to separate plugin and add new ones
- Move CLEO analyses to new CESR plugin and add more analyses
- Sync BABAR_2007_I729388, BABAR_2013_I1238276, BABAR_2005_S6181155 and all those where no difference with yodadiff, similarly for BELLE
- Merge two versions of OPAL_2004_I631361, now using new options feature instead.
[2.7.2] - 2019-05-21
Added
- Add super-generic
(i)discardIfAny(particlebases, particlebases, bool(pb,pb))functions.
Changed
- Fixes to CMS_2016_I1487288 jet selection and normalisation. Thanks to Peter Richardson for highlighting the issues.
- Improve
Vector3::azimuthalAngle()(also used byFourMomentumandFourVector) to use exact rather than fuzzy is-zero check, to only check the perpendicular components, and to note that IEEE floating point implementations ofatan2should already be ‘safe’ unless we decide that this function should throw or return NaN in case of null or along-z vectors. Thanks to Louis Moureaux from CMS for the report and diagnosis. Tools/Utils.h: Addisum()functions, and mark other container functions as wanting a conversion to usestd::function.- Introduce
TTMODEoptions for MC_TTBAR to pick the decay mode
[2.7.1] - 2019-05-09
Added
- Add correlation information for those analyses that are compatible with HEPData
- Add
Particle::setGenParticlemethod and manualParticleconstructors with the option to pass aGenParticle*. - Add signed option for
deltaRap - Add tau mistag efficiency functions for jet smearing.
Removed
- Remove GSL includes and single remaining method (for now).
- remove
IsReffrom outputHisto1D
Fixed
- Fix normalisation in ATLAS_2016_I1444991 after yoda update from HepData
- Fix units in ATLAS_2014_I1319490 and apply Peter Richardson’s plot updates
- Fix plot selection and labels in ATLAS_2016_I1419652 (due a data update from HepData)
- Fix to mode switch and plot labels in ATLAS_2014_I1319490
- Fix info text and plot labels in ATLAS_2013_I1217863
- Fix ZFinder test in ATLAS_2014_I1312627; size is now number of Z’s not leptons
- Fix unicode in ATLAS_2014_I1312627,ATLAS_2016_I1424838,ATLAS_2016_I1426523
- Fix
make-plotsCustomMajorTicksandCustomMinorTicks - Fix make-plots rendering when last point is
NaN-valued. - Fix HEPData IDs in hist booking for ATLAS_2014_I1315949
- fix mapping to ref data in STAR_2006_S6500200, put bin width manually into ref data file
Changed
- Prevent
Variationsmetadata from being copied - Comment out redundant code in
MeasureDefinition.ccto suppress compiler warning - Use an
std::maprather thanstd::setto store analyses inAnalysisHandler, hopefully therefore fixing the analysis evaluation order and making multi-analysis runs with random numbers repeatable. - Modify
LorentzTransform::setBetaVecto behave better for boost along x, y, and z axes. - Attach bare-lepton
GenParticlepointers to output ofDressedLeptons, to allow ancestry/decay navigation (request by Markus Seidel). - Improve
DressedLeptonsconstructor to deconstruct incoming particles into bare and dressing components (report by Markus Seidel). - First set of script conversions from
optparsetoargparsefor Python3. - Default entry point of ATLAS_2014_I1319490 should be average of muon and electron channel
- Path sign behaviour in
deltaEta(MathUtils.hh) - Make
RIVET_RANDOM_SEEDhave effect outside OpenMP builds, too. - Use jet size rather than 4-momentum size (?) to fill in CDF_1996_S3108457
[2.6.2] - 2019-04-24
Added
- Add CMS_2016_I1487288 (CMS WZ differential cross-sections at 8 TeV) from Shehu AbdusSalam, refined and extended to jet distributions by AB.
- Add
RIVET_CACHE_PROJECTIONSenvironment variable, for runtime disabling of the caching mechanism (for debugging and cross-checking). - Add optional only_physical and remove_duplicates args (passed
through to the
Particlemethods) tohasParticleAncestorWithandhasParticleDescendantWithfunctors. - Add
Particle::isSameandisSame(Particle, Particle)functions in lieu of implicit (and wrong)Particle::operator==. - Add CMS_2018_I1686000 single-top plus photon analysis (with an info file warning about fiducial definition oddity)
- Added first version of ZEUS_2012_I1116258 (dijet photoproduction). Currently works but unvalidated, need to check exact recombination scheme with ZEUS contacts. Note ZEUS_2001_S4815815 also needs the recombination scheme checking. (Now done; changed to Et scheme are checking original code, 27/2/19.)
- Add
HepMCUtilsnamespace for helper funcs
Removed
- Remove/protect against last Unicode
.encode()calls that broke Python3 compatibility. - Remove last assert (for
mod2() >= 0) fromVectorclasses. - Remove
Particle->GenParticleimplicit cast.
Fixed
- Fix logic of call the VetoedFinalState in ATLAS_2017_I1609448 which was giving wrong MET calculation.
- Fix multiple bugs in ATLAS_2017_I1514251 (Z+jets) including a
problem with
REFdata having zero bin-widths - Fix
pyext/setup.py.infor both HepMC2 and HepMC3
Changed
- Patch weird behaviour in ATLAS_2017_I1589844 and
ATLAS_2017_I1609448: when
Cutargument is passed toVetoedFinalStateconstructor. In version 2.6.2 or prior, this would select the particles passing the cut, after that they are being vetoed. - Apply suggested corrections from Peter Richardson to
ATLAS_2014_I1282441 (normalisation of second plot is in millibarn not
microbarn), ATLAS_2015_I1387176 and ATLAS_2015_I1397635 (Unicode issues
in the .info), ATLAS_2016_I1419070 (need more than 1 entry for a
variance not just 1), CMS_2010_PAS_QCD_10_024 and
CMS_2012_PAS_FSQ_12_020 (class names need to be consistent with file
names to find the .yoda ref data), CMS_2013_I1261026 (need to ensure
more than 1 entry in histos to avoid LowStats issues from YODA),
CMS_2014_I1298810, CMS_2016_I1421646, CMS_2016_I1454211 (the polymarker
command in the yoda caused make-plots to fail if there is more than 1 MC
line), CMS_2017_I1467451 (cross sections in fb), CMS_2017_I1605749 (data
fixed in HepData so don’t need to divide by bin width anymore),
ALEPH_1996_S3486095 (delete a lot of unused variables),
ALEPH_2014_I1267648 (only worked if the final decay products were direct
children of the tau, which is not the case in Herwig or Pythia –
rewritten to search down the decay tree), DELPHI_1996_S3430090,
DELPHI_2000_S4328825, OPAL_1998_S374990, ARGUS_1993_S2669951,
ALEPH_1996_S3486095 (switch ’ to ^in plots as it wasn’t working as it
was), ALEPH_2004_S5765862 (fix typo in plot label), BABAR_2003_I593379
and BELLE_2008_I786560 (switch to Rivet
ParticlefromGenParticle), and to add the 2D case to theSphericityprojection sotranSphericityworks. - Restored behaviour of
getDatafunction to return finalized plots by default - Move inline projections inside analysis classes, since our
aggregated build mechanism means there’s no longer a unique unnamed
namespace for each analysis
.ccfile. - Adding analyses ATLAS_2018_I1677498 (WWbb), ATLAS_2018_I1711114 (g -> bb), and ATLAS_2019_I1720442 (4-lepton lineshape).
- Extend more
deltaPhi(x,y)functions with an optional bool for signeddPhi. - Reinstate
Particle->GenParticleas an explicit cast option. src/Projections/Sphericity.cc: Skip zero-momentum particles.[Reader,Writer]CompressedAscii[cc,hh]: Introduced possibility to wead and write HepMC (v3) files in a compressed and stripped format. Also included a simple programbin/rivet-hepmzto convert between this new format and othe HepMC formats.analyses/pluginCMS/CMS_2018_I1682495.cc: Fix normalisation of final plots (patch from Sal Rappoccio, spot by Deepak Kar)bin/make-plots: Fix a few Py2/3 incompabilities in make-plots. Thanks to Leif Gellersen for the tip-offanalyses/Makefile.am: Adopt a more make-friendly plugin building rule. Thanks to Dima Konstantinov.- Move
UnstableParticlesto a consistently-named header, withUnstableFinalState.hhretained for backward compatibility. - Improve/fix
UnstableParticlesprojection’sCutconstructor argument to apply the cut on aRivet::Particlerather than aHepMC::FourVector, meaning that PID cuts can now be used. - Convert ATLAS_2013_I1217863 analysis variants to use the
LMODEanalysis option (from Jon Butterworth). src/Tools/RivetHepMC_2.cc: implementation of HepMC helper funcs for HepMC2Relativesclass spoofsHepMC3::Relativesinterface using HepMC2iterator_ranges- Replace calls to
particles_in()andparticles_out()byHepMCUtils::particles - Configures with either
--with-hepmc=/blahor--with-hepmc3=/blah - Compiles for either HepMC2 or HepMC3 (3.1 or higher)
- Update many build paths to cope with new HepMC3 include and lib paths :(
- Use
RivetHepMCnamespace in place ofHepMC:: RivetHepMC.hhshould take care of it configure.acaddes appropriate define toCPPFLAGS- Wrangle
rivet-buildpluginto cope with HePMC3 paths RivetHepMC.hh: Much simplified. Use only const version ofGenParticlePtrfunc delarations - two separate implementation files for HepMC2 or 3configure.ac: HepMC version dependence for buildingRivetHepMC_2.ccorRivetHepMC_3.ccsrc/Makefile.am: HepMC version dependencesrc/Tools/RivetHepMC_3.cc: implementations of funcs for HepMC v3bin/rivet-nopy.cc: re-implement using HepMC3 reader interface (may need separate implementation for HepMC2)Particle.hh,Event.cc,Jet.cc:const GenParticlereplaced byConstGenParticle- Projections Beam, DISLepton, FinalPartons, FinalState, HeavyHadrons,
InitialQuarks, MergedFinalState, PrimaryHadrons, UnstableFinalState,
VetoedFinalState: use
ConstGenParticlePtrandvector<ConstGenParticlePtr>consistently pluginATLAS: Start to fix some uses of constGenParticlePtr
[2.7.0] - 2019-02-15
Added
- Add real CMS Run 1 and Run 2 MET resolution smearing functions, based on 8 TeV paper and 13 TeV PAS.
- Added an option system. Analyses can now be added to rivet with
options. Adding e.g.
MyAnalysis:Opt1=val1:Opt2=val2will create and add aMyAnalysisobject making the options available through theAnalysis::getOption()function. Several objects ofMyAnalysiswith different options can be added in the same run. Allowed options must be specified in theMyAnalysis.infofile. - Added several utilities for heavy ions.
- Add setting of cross-section error in
AnalysisHandlerandRun. - Add
hasNoTagjet-classification functor, to complementhasBTagandhasCTag. - Add a default-
FinalStateversion of theDressedLeptonsconstructor. - Add a
FIRST/LASTenum switch forPartonicTops, to choose which top quark clone to use. - Add a FastJet clustering mode for
DressedLeptons.
Changed
- Introduced
CentralityProjection, allowing an analysis to cut on percentiles of single event quantities, preloaded from a user generated or supplied (by experiment) histogram. Notably used for the centrality definition in heavy ion analyses. User specifies the centrality definition as a special analysis option called cent, eg:MyAnalysis:cent=GEN. Example usage: Calibration analysis: MC_Cent_pPb_Calib, Analysis using that calibration: MC_Cent_pPb_Eta. - Introduced
EventMixingFinalStateto provide simple event mixing functionality. Currently only works with unit event weights. Example usage: ALICE_2016_I1507157. - Introduced
Correlators, a framework for calculating single event correlators based on the generic framework (arXiv: 1010.0233 and arXiv: 1312.3572), and perfoming all event averages giving flow coefficents. Implemented as new analysis base class. Example usage: ALICE_2016_I1419244. - Introduced a
PrimaryParticleprojection, replicating experimental definitions of stable particles through decay chains. Recommended for analyses which would otherwise have to require stable particles at generator level. - Introduced
AliceCommonandAtlasCommonconvenience tools, defining several triggers, primary particle definitions and acceptances. - Contributed, validated analyses using above features: ALICE_2010_I880049: Multiplicity at mid-rapidity, PbPb @ 2.76 TeV/nn. ALICE_2012_I1127497: Nuclear modification factor, PbPb @ 2.76 TeV/nn. ALICE_2012_I930312: Di-hadron correlations, PbPb @ 2.76 TeV/nn.
- Contributed, unvalidated analyses using above features: BRAHMS_2004_I647076: pi, K, p spectra as function of rapidity, AuAu @ 200 GeV/nn ALICE_2012_I1126966: pi, K, p spectra, PbPb @ 2.76 TeV/nn. ALICE_2013_I1225979: Charged multiplicity, PbPb @ 2.76 TeV/nn. ALICE_2014_I1243865: Multi-strange baryons, PbPb @ 2.76 TeV/nn. ALICE_2014_I1244523: Multi-strange baryons, pPb @ 5.02 TeV/nn. ALICE_2015_PBPBCentrality: Centrality calibration for PbPb. Note that the included 5.02 TeV/nn data is not well defined at particle level, and cannot be compared to experiment without full detector simulation. ALICE_2016_I1394676: Charged multiplicity, PbPb @ 2.76 TeV/nn. ALICE_2016_I1419244: Multiparticle correlations (flow) using generic framework, PbPb @ 5.02 TeV/nn. ALICE_2016_I1471838: Multi-strange baryons, pp @ 7 TeV. ALICE_2016_I1507090: Charged multiplicity, PbPb @ 5.02 TeV/nn. ALICE_2016_I1507157: Angular correlations, pp @ 7 TeV. ATLAS_2015_I1386475: Charged multiplicity, pPb @ 5.02 TeV/nn. ATLAS_PBPB_CENTRALITY: Forward energy flow + centrality calibration, data not unfolded, but well defined at particle level, PbPb @ 2.76 TeV/nn. ATLAS_2015_I1360290: Charged multiplicity + spectra, PbPb @ 2.76 TeV/nn. ATLAS_pPb_Calib: Forward energy flow + centrality calibration, data not unfolded, but well defined at particle level, pPb @ 5.02 TeV/nn. STAR_2016_I1414638: Di-hadron correlations, AuAu @ 200 GeV/nn. CMS_2017_I1471287: Multiparticle correlations (flow) using generic framework, pp @ 7 TeV.
- Contributed analyses without data: ALICE_2015_PPCentrality: ALICE pp centrality (multiplicity classes) calibration. BRAHMS_2004_CENTRALITY: BRAHMS centrality calibration. STAR_BES_CALIB: STAR centrality calibration. MC_Cent_pPb_Calib: Example analysis, centrality calibration. MC_Cent_pPb_Eta: Example analysis, centrality usage.
- Reintroduced the
PXCONEoption in FastJets using a local version of the Fortran based pxcone algorithm converted to c++ with f2c and slightly hacked to avoid dependency on Fortran runtime libraries. - Introduced
rivet-mergefor statistically correct merging of YODA files produced by Rivet. Only works on analysis with reentrant finalize. - Introduced
--dumpflag to therivetscript to periodically runfinalizeand write out the YODA file for anayses with reentrant finalize. - Introduced reentrant finalize. Rivet now produces YODA files where
all analysis objects are stored in two version. One is prefixed by
/RAWand gives the state of the object before finalize was run, and the other is the properly finalized object. Analyses must be flaggedReentrant: Truein the.infofile to properly use this feature. - Rework
VetoedFinalStateto be based onCuts, and to be constructible fromCutarguments. - Pre-emptively exclude all hadrons and partons from returning true in
isDirectcomputations. - Cache the results of
isDirectcalculations onParticle(a bit awkwardly… roll on C++17).
[2.6.2] - 2018-12-10
Added
- Add fjcontrib
RecursiveToolstoRivet/Tools/fjcontribset. - Add CMS_2018_I1653948, CMS_2018_I1653948, CMS_2018_I1682495, and CMS_2018_I1690148 analyses.
- Add FastJet
EnergyCorrelatorand rejig the internal fjcontrib bundle a little. - Add signed calculation optional bool argument on all
deltaPhifunctions. - Add
RIVET_WEIGHT_INDEX=-1-> ignore event weights behaviour. Slow, but sometimes useful for debug.
Removed
- Remove doc dir from default top-level make
Fixed
- Fix CMS_2012_I1102908 efficiency calculation. Thanks to Anton Karneyeu!
Changed
- Info file bugfixes for LHCF_2016_I1385877, from Eugenio Berti.
- Update references in three CMS analysis
.infofiles. - Rework doc directory no-build by default to be compatible with
make distpackaging. - Merge ATLAS_2017_I1517194_MU and ATLAS_2018_I1656578.
- Use updated ATLAS R2 muon efficiencies.
- Use proper ATLAS photon efficiency functions for Runs 1 and 2, from arXiv:1606.01813 and ATL-PHYS-PUB-2016-014.
- Update embedded yaml-cpp to v0.6.0.
- Allow reference data file name to be different from plugin name via
setRefDataName(fname)method, aiming to unify HepData records.
[2.6.1] - 2018-08-14
Added
- Add a
RIVET_RANDOM_SEEDvariable to fix the smearing random-seed engine for validation comparisons. - Add MC_DILEPTON analysis.
- Add
LorentzTransformfactory functions direct fromFourMomentum, and operator()s - Add
FinalState(fs, cut)augmenting constructor, andPrevFSprojection machinery. Validated for anabscharge > 0cut. - Add
hasProjection()methods toProjectionHandlerandProjectionApplier. - Add init-time setting of a single weight-vector index from the
RIVET_WEIGHT_INDEXenvironment variable. To be removed in v3, but really we should have done this years ago… and we don’t know how long the handover will be. - Add
Luminosity_fbandKeywordsplaceholders inmkanalysisoutput. - Add
pairMassandpairPtfunctions. - Add
(i)discardIfAnyDeltaRLessand(i)discardIfAnyDeltaPhiLessfunctions. - Add
normalize()methods toCutflowandCutflows. - Add
DirectFinalStateandIndirectFinalStatealias headers, for forward compatibility. ‘Prompt’ is confusing. - Add
initializer_listoverload forbinIndex. Needed for other util functions operating on vectors. - Add
isSameSign,isOppSign,isSameFlav,isOppFlav, andisOSSFetc. functions on PIDs and Particles. - Add
RatioPlotLogYkey tomake-plots. Thanks to Antonin Maire. - Add string representations and streamability to the
Cutobjects, for debugging. - Add highlighted source to HTML analysis metadata listings.
Fixed
- Fix HepData tarball download handling:
StringIOis not safe anymore - Fix Spires -> Inspire ID for CMS_2017_I1518399.
- Fix installation of
(In)DirectFinalState.hh - Fix function signature bug in
isMT2overload. - Fix a serious bug in the
SmearedParticlesandSmearedJetscompare methods.
Changed
- Merge in ATLAS_2017_I1604029 (ttbar+gamma), ATLAS_2017_I1626105 (dileptonic ttbar), ATLAS_2017_I1644367 (triphotons), and ATLAS_2017_I1645627 (photon + jets).
- Postpone
Particlesenhancement now, since the required C++11 isn’t supported on lxplus7 = CentOS7. - Clone MC_GENERIC as MC_FSPARTICLES and deprecate the badly-named original.
- Include ‘unphysical’ photon parents in
PartonicTops’ veto of prompt leptons from photon conversions. - Make
ParticlesandJetsinto actual specialisations ofstd::vectorrather than typedefs, and update surrounding classes to use them. The specialisations can implicitly cast to vectors ofFourMomentum(and maybePseudojet). - Make
CmpAnaHandle::operator()const, for GCC 8 (thanks to CMS) - CMS_2016_I1421646.cc: Add patch from CMS to veto if leading jets outside |y| < 2.5, rather than only considering jets in that acceptance. Thanks to CMS and Markus Seidel.
- Tidy keywords and luminosity entries, and add both to BSM search
.infofiles. - Adding boolean operator syntactic sugar for composition of bool functors.
- Copy & paste error fixes in implementation of
BoolJetAND,OR,NOT. - Make the
project()andcompare()methods of projections public.
[2.6.0] - 2017-12-21
Added
- Add energy to the list of cuts (both as
Cuts::EandCuts::energy) - Add missing pT (rather than Et) functions to
SmearedMET, although they are just copies of the MET functions for now. - Add
ChargedLeptonsenum and mode argument toZFinderandWFinderconstructors, to allow control over whether the selected charged leptons are prompt. This is mostly cosmetic/for symmetry in the case of ZFinder, since the same can be achieved by passing a PromptFinalState as the fs argument, but for WFinder it’s essential since passing a prompt final state screws up the MET calculation. Both are slightly different in the treatment of the lepton dressing, although conventionally this is an area where only prompt photons are used. - Add
deltaR2functions for squared distances. - Add white backgrounds to
make-plotsmain and ratio plot frames. - Add CMS_2016_PAS_TOP_15_006 jet multiplicity in lepton+jets ttbar at 8 TeV analysis.
- Add CMS_2017_I1467451 Higgs -> WW -> emu + MET in 8 TeV pp analysis.
- Add ATLAS_2017_I1609448 Z->ll + pTmiss analysis.
- Add
vectorMissingEt/PtandvectorMET/MPTconvenience methods toMissingMomentum. - Add ATLAS_2017_I1598613 J/psi + mu analysis.
- Add CMS SUSY 0-lepton search CMS_2017_I1594909 (unofficial implementation, validated vs. published cutflows)
- Add a better jet smearing resolution parametrisation, based on GAMBIT code from Matthias Danninger.
- Add
sumPt,sumP4,sumP3utility functions. - Add implicit cast from
FourVector&FourMomentumtoVector3, and tweak mT implementation. - Add
rawParticles()toParticleFinder, and updateDressedLeptons,WFinder,ZFinderandVetoedFinalStateto cope. - Add
isCharged()andisChargedLepton()toParticle. - Add
constituents()andrawConstituents()toParticle. - Add support for specifying bin edges as braced initializer lists
rather than explicit
vector<double>. - Add pair-smearing to
SmearedJets. - Add
Event::centrality(), for non-HepMC access to the generator value if one has been recorded – otherwise-1. - Add
JetFinderalias forJetAlg, by analogy withParticleFinder. - Add
*EffFn,*SmearFn, and*EffSmearFntypes toSmearingFunctions.hh. - Add portable OpenMP enabling flags to AM_CXXFLAGS.
- Add a
-ooutput directory option tomake-plots. - Add a full set of in-range kinematics functors:
ptInRange,(abs)etaInRange,(abs)phiInRange,deltaRInRange,deltaPhiInRange,deltaEtaInRange,deltaRapInRange. - Add a convenience
JET_BTAG_EFFSfunctor with several constructors to handle mistag rates. - Add const efficiency functors operating on
Particle,Jet, andFourMomentum. - Add const-efficiency constructor variants for
SmearedParticles.
Removed
- Remove
IsRefannotation from autobooked histogram objects. - Remove the
UNUSEDmacro and find an alternative solution for the cases where it was used, since there was a risk of macro clashes with embedding codes.
Fixed
- Fix bugged PID codes in MC_PRINTEVENT.
- Fix to Python version check for >= 2.7.10 (patch submitted to GNU)
- Fix the smearing random number seed and make it thread-specific if OpenMP is available (not yet in the build system).
- Fix normalisations in CMS_2016_I1454211.
- Fix analysis name in ref histo paths for ATLAS_2017_I1591327.
Changed
- Various improvements to
DISKinematics,DISLepton, and the ZEUS 2001 analysis. - Extend
AOPathregex to allow dots and underscores in weight names. - Embed
zstrand enable transparent reading of gzipped HepMC streams. - Use Lester MT2 bisection header, and expose a few more mT2 function signatures.
- Use generic YODA read and write functions – enables zipped
yoda.gzoutput. - Change license explicitly to GPLv3, cf. MCnet3 agreement.
- Protect make-plots against
NaNs in error-band values (patch from Dmitry Kalinkin). - Record truth particles as constituents of
SmearedParticlesoutput. - Rename
UnstableFinalState->UnstableParticles, and convertZFinderto be a generalParticleFinderrather thanFinalState. - Enable methods for booking of
Histo2DandProfile2DfromScatter3Dreference data. - Split the smearing functions into separate header files for
generic/momentum,
Particle,Jet, and experiment-specific smearings & efficiencies. - Convert
SmearedParticlesto a more general list of combined efficiency+smearing functions, with extra constructors and some variadic template cleverness to allow implicit conversions from single-operation eff and smearing function. Yay for C++11 ;-) This work based on a macro-based version of combined eff/smear functions by Karl Nordstrom – thanks! Vector4.hh: AddmT2(vec,vec)functions.- Move all standard plugin files into subdirs of
src/Analyses, with some custom make rules drivingrivet-buildplugin. - Parallelise
rivet-buildplugin, with source-file cat’ing and use of a temporaryMakefile. - Typo fix in TOTEM_2012_I1220862 data – thanks to Anton Karneyeu.
- Adding contributed analyses: 1 ALICE, 6 ATLAS, 1 CMS.
- Protect
Runmethods andrivetscript against being told to run from a missing or unreadable file. - Replace manual event count & weight handling with a YODA
Counterobject. - Providing neater & more YODA-consistent
sumWandsumW2methods onAnalysisHandlerandAnalysis.
[2.5.4] - 2016-06-18
Added
- Add 13 TeV DY (ATLAS_2017_I1514251) and mark ATLAS_2015_CONF_2015_041 obsolete
- Add missing install statement for
ATLAS_2016_I1448301.yoda/plot/infoleading to segfault - Add CMS_2016_I1430892: dilepton channel ttbar charge asymmetry analysis.
- Add CMS_2016_I1413748: dilepton channel ttbar spin correlations and polarisation analysis.
- Add CMS_2017_I1518399: leading jet mass for boosted top quarks at 8 TeV.
- Add convenience constructors for
ChargedLeptonsprojection. - Add
FinalStateandCut(optional) constructor arguments and usage toDISFinalState. Thanks to Andrii Verbytskyi for the idea and initial patch. - Add ATLAS_2016_I1448301, Z/gamma cross section measurement at 8 TeV.
- Add ATLAS_2016_I1426515, WW production at 8 TeV.
- Add BELLE measurement of semileptonic B0bar -> D*+ ell nu decays. I took the liberty to correct the data in the sense that I take the bin widhts into account in the normalisation. BELLE_2017_I1512299. This is a nice analysis as it probes the hadronic and the leptonic side of the decay so very valuable for model building and of course it is rare as it is an unfolded B measurement.
- Add ALEPH measurement of hadronic tau decays, ALEPH_2014_I1267648.
- Add ALEPH dimuon invariant mass (OS and SS) analysis, ALEPH_2016_I1492968
- Add ATLAS_2016_CONF_2016_092, inclusive jet cross sections using early 13 TeV data.
- Add ATLAS_2017_I1591327, isolated diphoton + X differential cross-sections.
- Add ATLAS_2017_I1589844, ATLAS_2017_I1589844_EL, ATLAS_2017_I1589844_MU: kT splittings in Z events at 8 TeV.
- Add ATLAS_2017_I1509919, track-based underlying event at 13 TeV in ATLAS.
- Add ATLAS_2016_I1492320_2l2j and ATLAS_2016_I1492320_3l, the WWW cross-section at 8 TeV.
- Add ATLAS_2016_I1449082, charge asymmetry in top quark pair production in dilepton channel.
- Add ATLAS_2015_I1394865, inclusive 4-lepton/ZZ lineshape.
- Add ATLAS_2013_I1234228, high-mass Drell-Yan at 7 TeV.
- Add CMS_2017_I1519995, search for new physics with dijet angular distributions in proton-proton collisions at sqrt{(s) = 13 TeV.
- Add CMS_2017_I1511284, inclusive energy spectrum in the very forward direction in proton-proton collisions at 13 TeV.
- Add CMS_2016_I1486238, studies of 2 b-jet + 2 jet production in proton-proton collisions at 7 TeV.
- Add CMS_2016_I1454211, boosted ttbar in pp collisions at sqrtS = 8 TeV.
- Add CMS_2016_I1421646, CMS azimuthal decorrelations at 8 TeV.
- Add CMS_2015_I1380605, per-event yield of the highest transverse momentum charged particle and charged-particle jet.
- Add CMS_2015_I1370682_PARTON, a partonic-top version of the CMS 7 TeV pseudotop ttbar differential cross-section analysis.
- Add protection against leptons from QED FSR photon conversions in
assigning
PartonicTopdecay modes. Thanks to Markus Seidel for the report and suggested fix. - Add new
mkClusterInputs,mkJetandmkJetsstatic methods toFastJets, to help with direct calls to FastJet where particle lookup for constituents and ghost tags are required. - Add
--errsas an alias for--mc-errstorivet-mkhtmlandrivet-cmphistos. - Added 6 analyses AMY_1990_I295160, HRS_1986_I18502, JADE_1983_I190818, PLUTO_1980_I154270, TASSO_1989_I277658, TPC_1987_I235694 for charged multiplicity in e+e- at CMS energies below the Z pole
- Added 2 analyses for charged multiplicity at the Z pole DELPHI_1991_I301657, OPAL_1992_I321190
- Added analyses OPAL_2004_I631361, OPAL_2004_I631361_qq, OPAL_2004_I648738 for gluon jets in e+e-, most need fictitious e+e- > g g process
- Add
Cutand functor selection args toHeavyHadronsaccessor methods. - Add
BoolParticleAND,BoolJetOR, etc. functor combiners toTools/ParticleUtils.hhandTools/JetUtils.hh. - Add aggregate signal regions to CMS_2016_PAS_SUS_16_14.
- Add
getEnvParamfunction, for neater use of environment variable parameters with a required default. - Add
HasBTagandHasCTagjet functors, with lower-case aliases. - Add
Cut-arg variants toHeavyHadronsparticle-retrieving methods. - Add
ParticleEffFilterandJetEffFilterconstructors from a double (encoding constant efficiency). - Add
Vector3::abseta()
Fixed
- Fix 8 TeV DY (ATLAS_2016_I1467454),
EL/MUbits were bissing. - Fix compiler complaints about uninitialised variable in OPAL_2004.
- Fix ALICE_2012_I1116147 for pi0 and Lambda feed-down.
- Fix Doxygen config and
Makefiletarget to allow working with out-of-source builds. Thanks to Christian Holm Christensen.
Changed
- Slight improvements to
Particleconstructors. - Improvement to Beam projection: before falling back to barcodes 1 & 2, try a manual search for status=4 particles. Based on a patch from Andrii Verbytskyi.
- Protection against
logspaceexception in histo booking of MC_JetAnalysis - Tidy ALEPH_1999 charm fragmentation analysis and normalise to data
integral. Added
DSTARPLUSandDSTARMINUSto PID. - Adding EHS_1988_I265504 from Felix Riehn: charged-particle production in K+ p, pi+ p and pp interactions at 250 GeV/c.
- Reimplement
FastJetsmethods in terms of new static helper functions. - Improve
DISLeptonfor HERA analyses: thanks to Andrii Verbytskyi for the patch! - Replace non-template
Analysis::refDatafunctions with C++11 defaultT=Scatter2D. - Allow yes/no and true/false values for
LogX, etc. plot options. - Updated ALEPH_1991_S2435284 to plot the average charged multiplcity
bin/rivet-mkanalysis: AddFastJets.hhinclude by default – it’s almost always used.- src/Analyses/CMS_2016_I1473674.cc: Patch from CMS to use partonic tops.
- src/Analyses/CMS_2015_I1370682.cc: Patch to inline jet finding from CMS.
- Convert DressedLeptons use of
fromDecayto instead veto photons that matchfromHadron() || fromHadronicTau()– meaning that electrons and muons from leptonic taus will now be dressed. - Move
ParticleandJetstd::functionaliases to.fhhfiles, and replace many uses of templates for functor arguments withParticleSelectormeta-types instead. - Move the canonical implementations of
hasAncestorWith, etc. andisLastWith, etc. fromParticleUtils.hhintoParticle. - Disable the event-to-event beam consistency check if the ignore-beams mode is active.
- Mark ATLAS_2016_CONF_2016_078 and CMS_2016_PAS_SUS_16_14 analyses as validated, since their cutflows match the documentation.
- Start making analyses HepMC3-compatible, including major tidying in ATLAS_2013_I1243871.
- Convert core to be compatible with HepMC3.
- Removing lots of long-deprecated functions & methods.
- Use
std::functionin functor-expanded method signatures onJetAlg. - Convert
FinalStateparticles()accessors to usestd::functionrather than a template arg for sorting, and add filtering functor support – including a mix of filtering and sorting functors. Yay for C++11!
[2.5.3] - 2016-12-13
Added
- Add cut in BZ calculation in OPAL 4 jet analysis. Paper is not clear
about treatment of parallel vectors, leads to division by zero and
nan-fill and subsequent YODA
RangeError(OPAL_2001_S4553896) - Add LHC Run 2 BSM analyses ATLAS_2016_CONF_2016_037 (3-lepton and same-sign 2-lepton), ATLAS_2016_CONF_2016_054 (1-lepton + jets), ATLAS_2016_CONF_2016_078 (ICHEP jets + MET), ATLAS_2016_CONF_2016_094 (1-lepton + many jets), CMS_2013_I1223519 (alphaT + b-jets), and CMS_2016_PAS_SUS_16_14 (jets + MET).
- Add weights and scaling to
Cutflow/s. - Add
Et(const ParticleBase&)unbound function. - Add rough ATLAS and CMS photon reco efficiency functions from Delphes (ATLAS and CMS versions are identical, hmmm)
- Add
Luminosity_fbtoAnalysisInfo - Added some keywords and
Lumito ATLAS_2016_I1458270 - Add eta and pT cuts to ATLAS truth b-jet definition.
- Add vector and scalar pT (rather than Et) to
MissingMomentum.
Fixed
- Fix bugs in
SmearedJetstreatment of b & c tagging rates. - Fix bash bugs in
rivet-buildplugin, including fixing the –cmd mode. - Fix
--pwdoption of therivetscript - Fix missing YAML quote mark in
rivet-mkanalysis. - Fix constness requirements on
ifilter_select()andParticle/JetEffFilter::operator(). - Fix SpiresID -> InspireID in some analyses (show-analysis pointed to non-existing web page)
- Fix return type typo in
Jet::bTagged(FN)templated method.
Changed
- Adding ATLAS_2016_I1467454 analysis (high-mass Drell-Yan at 8 TeV)
- Tweak to
convertcall to improve the thumbnail quality fromrivet-mkhtml/make-plots. - Require Cython 0.24 or later.
- Adding L3_2004_I652683 (LEP 1 & 2 event shapes) and LHCB_2014_I1262703 (Z+jet at 7 TeV).
- Adding leading dijet mass plots to MC_JetAnalysis (and all derived classes). Thanks to Chris Gutschow!
- Adding CMS_2012_I1298807 (ZZ cross-section at 8 TeV), CMS_2016_I1459051 (inclusive jet cross-sections at 13 TeV) and CMS_PAS_FSQ_12_020 (preliminary 7 TeV leading-track underlying event).
- Adding CDF_2015_1388868 (ppbar underlying event at 300, 900, and 1960 GeV)
- Adding ATLAS_2016_I1467230 (13 TeV min bias), ATLAS_2016_I1468167 (13 TeV inelastic pp cross-section), and ATLAS_2016_I1479760 (7 TeV pp double-parton scattering with 4 jets).
- Adding ALICE_2012_I1116147 (eta and pi0 pTs and ratio) and ATLAS_2011_I929691 (7 TeV jet frag)
- Provide convenience reversed-argument versions of apply and declare methods, to allow presentational choice of declare syntax in situations where the projection argument is very long, and reduce requirements on the user’s memory since this is one situation in Rivet where there is no ‘most natural’ ordering choice.
- Adding
pTvec()function to 4-vectors andParticleBase. src/Analyses/ATLAS_2016_I1458270.cc: Fix inverted particle efficiency filtering.- Tidying/fixing
make-plotscustom z-ticks code. Thanks to Dmitry Kalinkin. - Merge the ATLAS and CMS from-Delphes electron and muon tracking efficiency functions into generic trkeff functions – this is how it should be.
- Use rounding rather than truncation in
Cutflowpercentage efficiency printing. - make-plots bugfix in y-axis labels for
RatioPlotMode=deviation - Analysis keyword machinery
[2.5.2] - 2016-09-22
Added
- Add a requirement to
DressedLeptonsthat theFinalStatepassed as ‘bareleptons’ will be filtered to only contain charged leptons, if that is not already the case. Thanks to Markus Seidel for the suggestion. - Add Simone Amoroso’s plugin for hadron spectra (ALEPH_1995_I382179)
- Add Simone Amoroso’s plugin for hadron spectra (OPAL_1993_I342766)
- Add CMS ttbar analysis from contrib, mark validated (CMS_2016_I1473674)
- Add templated
FNfiltering arg versions of theJet::*Tags()andJet::*Tagged()functions. - Add CMS partonic top analysis (CMS_2015_I1397174)
- Add L3 xp analysis of eta mesons, thanks Simone (L3_1992_I336180)
- Add D0 1.8 TeV jet shapes analysis, thanks Simone (D0_1995_I398175)
- Add
has{Ancestor,Parent,Child,Descendant}Withfunctions andHasParticle{Ancestor,Parent,Child,Descendant}Withfunctors. - Add ATLAS 8TeV ttbar analysis from contrib (ATLAS_2015_I1404878)
- Add
particles(GenParticlePtr)toRivetHepMC.hh - Add
hasParent,hasParentWith, andhasAncestorWithtoParticle. - Add ATLAS 8TeV dijet analysis from contrib (ATLAS_2015_I1393758)
- Add ATLAS 8TeV ‘number of tracks in jets’ analysis from contrib (ATLAS_2016_I1419070)
- Add ATLAS 8TeV g->H->WW->enumunu analysis from contrib (ATLAS_2016_I1444991)
- Add ATLAS Run 2 0-lepton SUSY and monojet search papers (ATLAS_2016_I1452559, ATLAS_2016_I1458270)
- Add experimental
CutflowandCutflowsobjects for BSM cut tracking. - Add “direct” versions of
any,all,nonetoUtils.hh, with an implicitbool()transforming function. - Add and mark validated B+ to omega analysis (BABAR_2013_I1116411)
- Add and mark validated D0 to pi- analysis (BABAR_2015_I1334693)
- Add a few more particle names and use PID names in recently added analyses
- Add Simone’s OPAL b-frag analysis (OPAL_2003_I599181) after some cleanup and heavy usage of new features
- Add a
static constexpr DBL_NANtoUtils.hhfor convenience, and move some utils stuff out ofMathHeader.hh - Add
countfunction toTools/Utils.h - Add and mark validated B0bar and Bminus-decay to pi analysis (BELLE_2013_I1238273)
- Add and mark validated B0-decay analysis (BELLE_2011_I878990)
- Add and mark validated B to D decay analysis (BELLE_2011_I878990)
- Add C-array version of multi-target
Analysis::scale()andnormalize(), and fix (semantic) constness. - Add
==and!=operators for cuts applied to integers. - Add missing
delta{Phi,Eta,Rap}{Gtr,Less}functors toParticleBaseUtils.hh - Add templated functor filtering args to the
Particleparent/child/descendent methods. - Add ATLAS Run 1 medium and tight electron ID efficiency functions.
- Add
isFirstWith(out),isLastWith(out)functions, and functor wrappers, usingCutand templated function/functor args. - Add
Particle::parent()method. - Add using import/typedef of HepMC *Ptr types (useful step for HepMC 2.07 and 3.00).
- Add ATLAS MV2c10 and MV2c20 b-tagging effs to
SmearingFunctions.hhcollection. - Add a
PartonicTopsprojection. - Add overloaded versions of the
Event::allParticles()method with selectionCutor templated selection function arguments. - Add rapidity scheme arg to
DeltaRfunctor constructors. - Added
<numeric>include toRivet/Tools/Utils.hto make gcc6 happy - Add
efffilt()functions andParticle/JetEffFiltfunctors toSmearingFunctions.hh - Add a
Jet::particles(Cut&)method, for inline filtering of jet constituents. - Add ‘conjugate’ behaviours to container head and tail functions via negative length arg values.
- Add convenience headers for including all final-state and smearing projections, to save user typing.
- Add standard MET functions for ATLAS R1 (and currently copies for R2 and CMS).
- Add lots of vector/container helpers for e.g. container slicing, summing, and min/max calculation.
- Add InspireID to all analysis known by their Spires key
Fixed
- Fix make-plots automatic
YMaxcalculation, which had a typo from code cleaning (mea culpa!). - Fix
ChargedLeptonsprojection, which failed to exclude neutrinos!!! Thanks to Markus Seidel.
Changed
- Extend
rivet-mkhtml --bookletto also work with pdfmerge - Explicit
std::toupperandstd::tolowerto make clang happy - Restructured DELPHI_2011_I890503 in the same manner — picks up a few more B-hadrons now (e.g. 20523 and such)
- Clean up and add ATLAS 8TeV MinBias (from contrib ATLAS_2016_I1426695)
- Update configure scripts to use newer (Py3-safe) Python testing macros.
- Various typo fixes (and canonical renaming) in
ParticleBaseUtilsfunctor collection. - Provide an
Analysis::bookCounter(d,x,y, title)function, for convenience and making the mkanalysis template valid. - Improve container utils functions, and provide combined remove_if+erase filter_* functions for both select- and discard-type selector functions.
- Bugfix in
rivet-mkhtml(NoneType:ana.spiresID()–> spiresid) - Adding
filterBymethods forParticleandJetwhich accept generic boolean functions as well as theCutspecialisation. - Adapt
SmearedMETto take two arguments, since SET is typically used to calculate MET resolution. - Adding functors for computing vector &
ParticleBasedifferences w.r.t. another vector. - Implemented a few more cuts in prompt photon analysis (CDF_1993_S2742446) but to no avail, the rise of the data towards larger costheta values cannot be reproduced — maybe this is a candidate for more scrutiny and using the boosting machinery such that the c.m. cuts can be done in a non-approximate way
- Rename CDF_2009_S8383952 to CDF_2009_I856131 due to invalid Spires entry.
[2.5.1] - 2016-08-09
Added
- Add a simple MC_MET analysis for out-of-the-box MET distribution testing.
- Add DELPHI_2011_I890503 b-quark fragmentation function measurement, which superseded DELPHI_2002_069_CONF_603. The latter is marked OBSOLETE.
- Add
SmearedMETprojection, wrappingMissingMomentum. - Add unbound accessors for momentum properties of
ParticleBaseobjects. - Add
Rivet/Tools/ParticleBaseUtils.hhto collect tools like functors for particle & jet filtering. - Add
vector<ptr>versions ofAnalysis::scale()and::normalize(), for batched scaling. - Add
Analysis::scale()andAnalysis::divide()methods forCountertypes. - Add
setAnalysisDataPathsandaddAnalysisDataPathtoRivetPaths.hh/ccand Python. - Added protection against low stats yoda exception in finalize for that analysis
- Add
pid,abspid,charge,abscharge,charge3, andabscharge3Cutenums, handled byParticlecut targets. - Add
abscharge()andabscharge3()methods toParticle. - Add optional
Cutand duplicate-removal flags toParticlechildren & descendants methods. - Add unbound versions of
Particleis*andfrom*methods, for easier functor use. - Add
Particle::isPrompt()as a member rather than unbound function. - Add protections against -ve mass from numerical precision errors in smearing functions.
- Add
to_str/toStringand stream functions forParticle, and a bit ofParticleutil-function reorganisation. - Add
isStrange/Charm/BottomPID andParticlefunctions. - Add
RangeErrorexception throwing fromMathUtils.hhstats functions if given empty/mismatched datasets. - Add
Rivet/Tools/PrettyPrint.hh, based on https://louisdx.github.io/cxx-prettyprint/
Removed
- Remove conditional building of obsolete, preliminary and unvalidated analyses. Now always built, since there are sufficient warnings.
Fixed
- Fix newly introduced bug in make-plots which led to data point markers being skipped for all but the last bin.
- Fix median-computing safety logic in ATLAS_2010_S8914702 and tidy this and @todo markers in several similar analyses.
- Fix the
--nskipbehaviour on the mainrivetscript.
Changed
- Use
Jetmass and energy smearing in CDF_1997_… six-jet analysis, mark validated. - Mark CDF_2001_S4563131 validated
- D0_1996_S3214044 — cut on jet Et rather than pT, fix filling of
costheta and theta plots, mark validated. Concerning the jet algorithm,
I tried with the implementation of fastjet
fastjet/D0RunIConePlugin.hhbut that really does not help. - D0_1996_S3324664 — fix normalisations, sorting jets properly now, cleanup and mark validated.
- Use
Jetmass and energy smearing in CDF_1996_S310 … jet properties analysis. Cleanup analysis and mark validated. Added some more run info. The same for CDF_1996_S334… (pretty much the same cuts, different observables). - Minor fixes in
SmearedJetsprojection - Protect
SmearedJetsagainst loss of tagging information if a momentum smearing function is used (rather than a dedicatedJetsmearing fn) via implicit casts. - Include base truth-level projections in
SmearedParticles/Jetscompare()methods. - Rename TOTEM_2012_002 to proper TOTEM_2012_I1220862 name.
- Mark D0_2000… W pT analysis validated
- Mark LHCB_2011_S919… phi meson analysis validated
Utils.hh: add a genericsum()function for containers, and use auto in loop to support arrays.- Set data path as well as lib path in scripts with
--pwdoption, and use abs path to$PWD. - Pass absolutized
RIVET_DATA_PATHfrom rivet-mkhtml to rivet-cmphistos. - Mark CDF_2008_S77… b-jet shapes validated
- Move several internal system headers into the
include/Rivet/Toolsdirectory. - Allow use of path regex group references in
.plotfile keyed values.
[2.5.0] - 2016-07-07
Fixed
- Fix pandoc interface flag version detection.
[2.4.3] - 2016-06-28
Added
- Add ATLAS_2016_I1468168 early ttbar fully leptonic fiducial cross-section analysis at 13 TeV.
- Add ATLAS_2016_I1457605 inclusive photon analysis at 8 TeV.
- Add a
--show-bibtexoption to therivetscript, for convenient outputting of a BibTeX db for the used analyses. - Add and rename 4-vector boost calculation methods: new methods
beta,betaVec,gamma&gammaVecare now preferred to the deprecatedboostVectormethod. - Add and use projection handling methods
declare(proj, pname)andapply<PROJ>(evt, pname)rather than the longer and explicitly ‘projectiony’addProjection&applyProjection. - Add a
DEFAULT_RIVET_PROJ_CLONEmacro for implementing theclone()method boiler-plate code in projections. - Add a
NonPromptFinalStateprojection, and tweak thePromptFinalStateand unboundParticlefunctions a little in response. May need some more finessing. - Add user-facing aliases to
ProjectionApplieradd,get, andapplymethods… the templated versions of which can now be called without using the word ‘projection’, which makes the function names a bit shorter and pithier, and reduces semantic repetition. - Add
Event::allParticles()to provide neater (but not helpful) access to Rivet-wrapped versions of the raw particles in theEvent::genEvent()record, and hence reduce HepMC digging.
Removed
- Remove the last ref-data bin from table 16 of ATLAS_2010_S8918562, due to data corruption. The corresponding HepData record will be amended by ATLAS.
Changed
- Start using the
DEFAULT_RIVET_ANALYSIS_CTORmacro (newly created preferred alias to long-presentDEFAULT_RIVET_ANA_CONSTRUCTOR) - Adding ATLAS_2015_I1397635 Wt at 8 TeV analysis.
- Adding ATLAS_2015_I1390114 tt+b(b) at 8 TeV analysis.
- Downgrade some non-fatal error messages from ERROR to WARNING status, because sigh ATLAS’s software treats any appearance of the word ‘ERROR’ in its log file as a reason to report the job as failed (facepalm).
- Adding ATLAS 13 TeV minimum bias analysis, ATLAS_2016_I1419652.
pyext/rivet/util.py: Add pandoc--wrap/--no-wrapCLI detection and batch conversion.bin/rivet: add-oas a more standard ‘output’ option flag alias to-H.- Mark ATLAS_2012_I1082009 as validated after exhaustive tests with Pythia8 and Sherpa in inclusive QCD mode.
- Specialise return error codes from the rivet script.
[2.4.2] - 2016-05-05
Added
- Add CMS_2014_I1305624 event shapes analysis, with standalone variable calculation struct embedded in an unnamed namespace.
- Add
transformBy(LT)methods toParticleandJet. - Add
mkObjectTransformandmkFrameTransformfactory methods toLorentzTransform. - Add null
GenVertexprotection inParticlechildren & descendants methods. - Add ATLAS_2015_I1397637, ATLAS 8 TeV boosted top cross-section vs. pT
- Add a
--no-histosargument to therivetscript. - Add ATLAS_2015_I1351916 (8 TeV Z FB asymmetry) and ATLAS_2015_I1408516 (8 TeV Z phi* and pT) analyses, and their _EL, _MU variants.
- Add a
--guess-prefixflag torivet-config, cf.fastjet-config. - Add
RIVET_DATA_PATHvariable and related functions in C++ and Python as a common first-fallback forRIVET_REF_PATH,RIVET_INFO_PATH, andRIVET_PLOT_PATH. - Add
--pwdoptions torivet-mkhtmlandrivet-cmphistos - Add
comBoostfunctions and methods toBeam.hh, and tidyLorentzTransformation.
Removed
- Remove implicit conventional event rotation for HERA – this needs to be done explicitly from now.
- Remove
Rivet/Tools/RivetBoost.hhand Boost references fromrivet-config,rivet-buildplugin, andconfigure.ac. It’s gone ;-)
Changed
- Update SLD_2002_S4869273 ref data to match publication erratum, now updated in HepData. Thanks to Peter Skands for the report and Mike Whalley / Graeme Watt for the quick fix and heads-up.
- Various clean-ups and fixes in ATLAS analyses using isolated photons with median pT density correction.
- Patch PID utils for ordering issues in baryon decoding.
- Actually implement ZEUS_2001_S4815815… only 10 years late!
- Restructure Beam projection functions for beam particle and sqrtS
extraction, and add
asqrtSfunctions. - Rename and improve PID and
ParticleZ,A,lambda functions ->nuclZ,nuclA,nuclNlambda. - Improve
binIndexfunction, with an optional argument to allow overflow lookup, and add it to testMath. - Adding
setPE,setPM,setPtEtaPhiM, etc. methods and correspondingmk*static methods toFourMomentum, as well as adding more convenience aliases and vector attributes for completeness. Coordinate conversion functions taken fromHEPUtils::P4. New attrs also mapped toParticleBase. ALEPH_1996_S3196992.cc, ATLAS_2010_S8914702.cc, ATLAS_2011_I921594.cc, ATLAS_2011_S9120807.cc, ATLAS_2012_I1093738.cc, ATLAS_2012_I1199269.cc, ATLAS_2013_I1217867.cc, ATLAS_2013_I1244522.cc, ATLAS_2013_I1263495.cc, ATLAS_2014_I1307756.cc, ATLAS_2015_I1364361.cc, CDF_2008_S7540469.cc, CMS_2015_I1370682.cc, MC_JetSplittings.cc, STAR_2006_S6870392.cc: Updates for new FastJets interface, and other cleaning.- Deprecate ‘standalone’ FastJets constructors – they are misleading.
- More improvements around jets, including unbound conversion and
filtering routines between collections of
Particles,Jets, andPseudoJets. - Place
Cutforward declaration in a newCuts.fhhheader. - Adding a
Cuts::OPENextern const(a bit more standard- and constant-looking thanCuts::open()) - Improvements to FastJets constructors, including specification of
optional
AreaDefinitionas a constructor arg, disabling dodgy no-FS constructors which I suspect don’t work properly in the brave new world of automatic ghost tagging, using a bit of judicious constructor delegation, and completing/exposing use of shared_ptr for internal memory management. - Replace Boost assign usage with C++11 brace initialisers. All Boost use is gone from Rivet!
- Replace Boost
lexical_castandstringalgorithms. - Bug-fix in semi-leptonic top selection of CMS_2015_I1370682.
- Allow multi-line major tick labels on
make-plotslinear x and y axes. Linebreaks are indicated by\nin the.datfile.
[2.4.1] - 2016-03-09
Added
- Add an
--nskipflag to therivetcommand-line tool, to allow processing to begin in the middle of an event file (useful for batched processing of large files, in combination with--nevts) - Add ATLAS 7 TeV event shapes in Z+jets analysis (ATLAS_2016_I1424838)
- Add
FastJets::trimJetmethod, thanks to James Monk for the suggestion and patch. - Add new preferred name
PID::charge3in place ofPID::threeCharge, and also conveniencePID::abschargeandPID::abscharge3functions – all derived from changes in external HEPUtils. - Add
analyze(const GenEvent*)andanalysis(string&)methods toAnalysisHandler, plus some docstring improvements. - Add automatic output paging to
rivet --show-analyses - Add
Analysis::bookCounterand some machinery in `rivet-cmphistos to avoid getting tripped up by unplottable (for now) data types. - Add
--fontand--formatoptions torivet-mkhtmlandmake-plots, to replace the individual flags used for that purpose. Not fully cleaned up, but a necessary step. - Add new plot styling options to
rivet-cmphistosandrivet-mkhtml. Thanks to Gavin Hesketh. - Add
pyext/rivet/aopaths.py, containing AOPath object for central & standard decoding of Rivet-standard analysis object path structures. - Add
cmphistosandmake-plotsmachinery for handling ‘suffix’ variations on plot paths, currently just by plotting every line, with the variations in a 70% faded tint. - Add
Beam::pv()method for finding the beam interaction primary vertex 4-position. - Add a new
Particle::setMomentum(E,x,y,z)method, and an origin position member which is automatically populated from theGenParticle, with access methods corresponding to the momentum ones. - Add handling of a command-line
PLOT‘file’ argument torivet-mkhtml, cf.rivet-cmphistos.
Fixed
- Fix to
rivet-cmphistosto avoid overwritingRatioPlotYLabelif already set via e.g. thePLOTpseudo-file. Thanks to Johann Felix v. Soden-Fraunhofen.
Changed
- Update
make-plotsto usemultiprocessingrather than threading. - New ATLAS_2015_I1394679 analysis.
- New MC_HHJETS analysis from Andreas Papaefstathiou.
- Ref data updates for ATLAS_2013_I1219109, ATLAS_2014_I1312627, and ATLAS_2014_I1319490.
- Apply cross-section unit fixes and plot styling improvements to ATLAS_2013_I1217863 analyses, thanks to Christian Gutschow.
- Modify
rivet-cmphistosandrivet-mkhtmlto apply plot hiding if any path component is hidden by an underscore prefix, as implemented inAOPath, plus other tidying using newAOPathmethods. - Update
ParticleIdUtils.hh(i.e.PID::functions) to use the functions from the latest version of MCUtils’PIDUtils.h. - Change
rivet-cmphistospath matching logic from match to search (user can add explicit^marker if they want match semantics). - Improve
linspace(and hence alsologspace) precision errors by using multiplication rather than repeated addition to build edge list (thanks to Holger Schulz for the suggestion). make-plots: improve custom tick attribute handling, allowing empty lists. Also, any whitespace now counts as a tick separator – explicit whitespace in labels should be done via~or similar LaTeX markup.- Pro-actively use
-m/-Marguments when initially loading histograms inmkhtml, before passing them tocmphistos. - Move
contains()andhas_key()functions on STL containers fromstdtoRivetnamespaces. - Adding
IsRefattributes to all YODA refdata files; this will be used to replace the/REFprefix in Rivet v3 onwards. The migration has also removed leading#characters fromBEGIN/ENDblocks, as per YODA format evolution: new YODA versions as required by current Rivet releases are able to read both the old and new formats. - Improvements to
rivet-mkhtmlbehaviour re. consistency withrivet-cmphistosin how muti-part histo paths are decomposed into analysis-name + histo name, and removal ofNONEstrings. - Relax
rivet/plotinfo.pypattern matching on .plot file components, to allow leading whitespace and around=signs, and to make the leading#optional onBEGIN/ENDblocks. - Write out intermediate histogram files by default, with event interval of 10k.
- Protect
make-plotsagainst lock-up due to partialpstrickscommand when there are no data points. rivet-cmphistos: Use a ratio label that doesn’t mention ‘data’ when plotting MC vs. MC.- Tweak plot and subplot sizing defaults in make-plots so the total canvas is always the same size by default.
- Handle 2D histograms better in rivet-cmphistos (since they can’t be overlaid)
- Allow comma-separated analysis name lists to be passed to a single
-a/--analysis/--analysesoption. - Convert namespace-global const variables to be static, to suppress compiler warnings.
- Use standard
MAX_DBLandMAX_INTmacros as a source forMAXDOUBLEandMAXINT, to suppress GCC5 warnings. - Adding LHCB inelastic xsection measurement (LHCB_2015_I1333223)
- Adding ATLAS colour flow in ttbar->semileptonic measurement (ATLAS_2015_I1376945)
[2.4.0] - 2015-10-07
Added
- Add CMS_2015_I1310737 Z+jets analysis.
- Add function to
ZFinderto retrieve all fiducial dressed leptons, e.g. to allow vetoing on a third one (proposed by Christian Gutschow). - Add writing out of cross-section and total event counter by default. Need to add some name protection to avoid them being plotted.
- Add templated versions of
Analysis::refData()to use data types other thanScatter2DPtr, and convert the cached ref data store to genericAnalysisObjectPtrsto make it possible. - Add optional
Cutarguments to all theJettag methods. - Add exception handling and pre-emptive testing for a non-writeable output directory (based on patch from Lukas Heinrich).
Fixed
- Fix factor of 2 in LHCB_2013_I1218996 normalisation, thanks to Felix Riehn for the report.
Changed
- Adding CMS_2015_I1327224 dijet analysis (Mjj > 2 TeV)
- Adding CMS_2015_I1346843 Z+gamma
- Important improvement in
FourVector&FourMomentum: new reverse() method to return a 4-vector in which only the spatial component has been inverted cf.operator-which flips the t/E component as well. - Adding D0_2000_I503361 ZPT at 1800 GeV
- Adding ATLAS_2015_CONF_2015_041
- Adding ATLAS_2015_I1387176
- Adding ATLAS_2014_I1327229
- Adding ATLAS_2014_I1326641
- Adding CMS_2013_I1122847 FB assymetry in DY analysis
- Adding CMS_2015_I1385107 LHA pp 2.76 TeV track-jet underlying event.
- Adding CMS_2015_I1384119 LHC Run 2 minimum bias dN/deta with no B field.
- Adding TOTEM_2014_I1328627 forward charged density in eta analysis.
- Allow running MC_{W,Z}INC, MC_{W,Z}JETS as separate bare lepton analyses.
- FastJets now allows use of FastJet pure ghosts, by excluding them
from the constituents of Rivet
Jetobjects. Thanks to James Monk for raising the issue and providing a patch. - More
MissingMomentumchanges: add optional ‘mass target’ argument when retrieving the vector sum as a 4-momentum, with the mass defaulting to 0 rather thansqrt(sum(E)^2 - sum(p)^2). - Require Boost 1.55 for robust compilation, as pointed out by Andrii Verbytskyi.
- Allow access to
MissingMomentumprojection via WFinder. - Adding extra methods to
MissingMomentum, to make it more user-friendly. - Rename xs and counter AOs to start with underscores, and modify
rivet-cmphistosto skip AOs whose basenames start with_.
[2.3.0] - 2015-07-24
Added
- Add ALICE kaon, pion analysis (ALICE_2015_I1357424)
- Add ALICE strange baryon analysis (ALICE_2014_I1300380)
- Add CDF ZpT measurement in Z->ee events analysis (CDF_2012_I1124333)
- Add validated ATLAS W+charm measurement (ATLAS_2014_I1282447)
- Add validated CMS jet and dijet analysis (CMS_2013_I1208923)
- Add new muon-in-jet options to FastJet constructors, pass that and
invisibles enums correctly to JetAlg, tweak the default strategies, and
add a FastJets constructor from a
fastjet::JetDefinition(while deprecating the plugin-by-reference constructor). - Add D0 phi* measurement (D0_2015_I1324946).
- Add all, none, from-decay muon filtering options to
JetAlgandFastJets. - Add handling of
-m/-Mflags onrivet-cmphistosandrivet-mkhtml, moving currentrivet-mkhtml -m/-Mto-a/-A(for analysis name pattern matching). Requires YODA head (will be YODA 1.3.2 of 1.4.0). - Add a bit more debug output from
ZFinderandWFinder. - Add (preliminary) ATLAS combined Higgs analysis (ATLAS_2015_I1364361). Data will be updated and more histos added as soon as paper is published in journal. For now using data taken from public ressource https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HIGG-2014-11/
- Add CMS 7 TeV rapidity gap analysis (CMS_2015_I1356998).
- Add ATLAS 7 TeV photon + jets analysis (ATLAS_2013_I1244522).
- Add ATLAS double parton scattering in W+2j analysis (ATLAS_2013_I1216670).
Removed
- Remove WUD and MC_PHOTONJETUE analyses
- Remove
FastJets::ySubJet,splitJet, andfilterJetmethods – they’re BDRS-paper-specific and you can now use the FastJet objects directly to do this and much more.
Fixed
- Fix ATLAS_2014_I1325553 normalisation of histograms was wrong by factor of two |y| vs y problem
- Fix MC_HJETS/HINC/HKTSPLITTINGS analyses to (ab)use the
ZFinderwith a mass range of 115-135 GeV and a mass target of 125 GeV (was previously 115-125 and mass target of mZ)
Changed
- Tidy up ATLAS Higgs combination analysis.
- Define a private virtual
operator=onProjection, to block ‘sliced’ accidental value copies of derived class instances. - Don’t abort ATLAS_2015_I1364361 if there is no stable Higgs print a warning instead and veto event
- Rename
NONPROMPT_INVISIBLEStoDECAY_INVISIBLESfor clarity & extensibility. - Adding
InvisiblesStrategytoJetAlg, using it rather than a bool in theuseInvisiblesmethod, and updatingFastJetsto use this approach for its particle filtering and to optionally use the enum in the constructor arguments. The new default invisibles-using behaviour is to still exclude prompt invisibles, and the default is still to exclude them all. Only one analysis (src/Analyses/STAR_2006_S6870392.cc) required updating, since it was the only one to be using theFastJetslegacy seed_threshold constructor argument. - Adding
isVisiblemethod toParticle, taken fromVisibleFinalState(which now uses this). - Marking many old & superseded ATLAS analyses as obsolete.
- Adding
cmpMomByMassandcmpMomByAscMasssorting functors. - Require YODA > 1.4.0 (current head at time of development).
src/Analyses/ATLAS_2015_I1364361.cc: Now use the built-in prompt photon selecting functions.- Tweak legend positions in MC_JETS
.plotfile. - Normalisation discussion concerning ATLAS_2014_I1325553 is resolved.
Changed
YLabelaccordingly. - Removing uses of
boost::assign::list_of, preferring the existing comma-based assign override for now, for C++11 compatibility. - Convert MC_Z* analysis finalize methods to use
scale()rather thannormalize(). - Updates for HepMC 2.07 interface constness improvements.
[2.2.1] - 2015-03-24
Added
- Add ATLAS differential Higgs analysis (ATLAS_2014_I1306615).
- Add ATLAS V+gamma analyses (ATLAS_2013_I1217863)
- Add ATLAS W and Z angular analyses (ATLAS_2011_I928289)
- Add LHCb charged particle multiplicities and densities analysis (LHCB_2014_I1281685)
- Add LHCb Z y and phi* analysis (LHCB_2012_I1208102)
- Add ATLAS dijet analysis (ATLAS_2014_I1325553).
- Add ATLAS Z pT analysis (ATLAS_2014_I1300647).
- Add ATLAS low-mass Drell-Yan analysis (ATLAS_2014_I1288706).
- Add ATLAS gap fractions analysis (ATLAS_2014_I1307243).
- Add PDG_TAUS analysis which makes use of the TauFinder.
- Add ATLAS ‘traditional’ Underlying Event in Z->mumu analysis (ATLAS_2014_I1315949).
- Add support for a
PLOTmeta-file argument torivet-cmphistos. - Add
Particle::fromHadronandParticle::fromPromptTau, and add a booleanpromptargument toParticle::fromTau. - Add more protection against math domain errors with log axes.
- Add some protection against
NaN-valued points and error bars inmake-plots. - Add
&&,||and!operators for without-parens-warningsCutcombining. Note these don’t short-circuit, but this is ok sinceCutcomparisons don’t have side-effects. - Add
absetaIn,absrapInCut-range definitions. include/Rivet/Tools/ParticleUtils.hh: Addingsame/oppSignandsame/opp/diffCharge functions, operating on twoParticles.include/Rivet/Tools/ParticleUtils.hh: AddingHasAbsPID functorand removing optional abs arg fromHasPID.- Adding
Cuts-based constructor toPrimaryHadrons.
Removed
- Removed
fuzzyEquals()fromVector3::angle()
Fixed
- Fix
WFinderuse-transverse-mass property setting. Thanks to Christian Gutschow. - Fix a bug in the
isCharmHadron(pid)function and removeisStrange*functions.
Changed
- Adding ATLAS R-jets analysis i.e. ratios of W+jets and Z+jets observables (ATLAS_2014_I1312627 and _EL, _MU variants)
- Mark ATLAS_2012_I1083318 as VALIDATED and fix d25-x01-y02 ref data.
- Adding CMS_2014_I1298810 and CMS_2014_I1303894 analyses.
- Change
UnstableFinalStateduplicate resolution to use the last in a chain rather than the first. - Update
Taufinderto use decaytyoe (can beHADRONIC,LEPTONICorANY), inFastJet.cc— setTauFindermode to hadronic for tau-tagging - Adding missing
compare()method toHeavyHadronsprojection. - Adding
FinalPartonsprojection which selects the quarks and gluons immediately before hadronization - Adding
Cuts-based constructors and other tidying inUnstableFinalStateandHeavyHadrons - Improved time reporting.
- Converting ‘bitwise’ to ‘logical’
Cuts combinations in all analyses. - Use vector MET rather than scalar VET (doh…) in
WFindercut. Thanks to Ines Ochoa for the bug report. - Updating and tidying analyses with deprecation warnings.
- Adding more Cuts/FS constructors for
Charged,Neutral,UnstableFinalState. - Updating use of sorted particle/jet access methods and cmp functors in projections and analyses.
- Adding a
--cmdarg torivet-buildpluginto allow the output paths to besed’ed (to help deal with naive Grid distribution). For exampleBUILDROOT=$(rivet-config --prefix); rivet-buildplugin PHOTONS.cc --cmd | sed -e "s:$BUILDROOT:$SITEROOT:g" - Interface improvements in
DressedLeptonsconstructor. - Adding
DEPRECATEDmacro to throw compiler deprecation warnings when using deprecated features. - Adding
Cut-based constructors, and various constructors with lists of PDG codes toIdentifiedFinalState. - Analysis updates (ATLAS, CMS, CDF, D0) to apply the changes below.
- Adding
JetAlg jets(Cut, Sorter)methods, and other interface improvements for cut and sortedParticleBaseretrieval fromJetAlgandParticleFinderprojections. Some old many-doubles versions removed, syntactic sugar sorting methods deprecated. - Adding
Cuts::EtandCuts::ptIn,Cuts::etIn,Cuts::massIn. - Moving FastJet includes, conversions, uses etc. into
Tools/RivetFastJet.hh
[2.2.0] - 2014-09-30
Added
- Add
Jet::bTagged(),Jet::cTagged()andJet::tauTagged()as ghost-assoc-based replacements for the ‘contains’ tagging methods. - Add
calc()methods toHemispheresas requested, to allow it to be used withJetorFourMomentuminputs outside the normal projection system. - Add ghost tagging of charms, bottoms and taus to
FastJets, and tag info accessors toJet. - Add constructors from and cast operators to FastJet’s
PseudoJetobject fromParticleandJet. - Add stupid missing
<string>include andstd::prefix inRivet.hh
Removed
- Remove classifier functions accepting a
Particlefrom the PID inner namespace.
Fixed
- Fix wrong behaviour of
LorentzTransformwith a null boost vector – thanks to Michael Grosse. - Fix accidental passing of a
GenParticlepointer as a PID codeintinHeavyHadrons.cc. Effect limited to incorrect deductions about excited HF decay chains and should be small. Thanks to Tomasz Przedzinski for finding and reporting the issue during HepMC3 design work! - Fix to
logspace: make sure that start and end values are exact, not the result ofexp(log(x)). - Fix setting of library paths for doc building: Python can’t influence the dynamic loader in its own process by setting an environment variable because the loader only looks at the variable once, when it starts.
- Fix use of the install command for bash completion installation on Macs.
Changed
- Mark
Jet::containsBottomandJet::containsCharmas deprecated methods: use the new methods. Analyses updated. - Adding support for 1D and 3D YODA scatters, and helper methods for calling the efficiency, asymm and 2D histo divide functions.
- Adding 5 new ATLAS analyses: ATLAS_2011_I921594: Inclusive isolated prompt photon analysis with full 2010 LHC data ATLAS_2013_I1263495: Inclusive isolated prompt photon analysis with 2011 LHC data ATLAS_2014_I1279489: Measurements of electroweak production of dijets + Z boson, and distributions sensitive to vector boson fusion ATLAS_2014_I1282441: The differential production cross section of the ϕ(1020) meson in $\sqrt{s}=7$ TeV pp collisions measured with the ATLAS detector ATLAS_2014_I1298811: Leading jet underlying event at 7 TeV in ATLAS
- Adding a
median(vector<NUM>)function and fixing the other stats functions to operate onvector<NUM>rather thanvector<int>. - Improvements to the particles methods on
ParticleFinder/FinalState, in particular adding the range of cuts arguments cf.JetAlg(and tweaking the sorted jets equivalent) and returning as a copy rather than a reference if cut/sorted to avoid accidentally messing up the cached copy. - Creating
ParticleFinderprojection base class, and movingParticles-accessing methods fromFinalStateinto it. - Adding basic forms of MC_ELECTRONS, MC_MUONS, and MC_TAUS analyses.
- 2.2.0beta1 for use at BOOST and MCnet school.
- New analyses: ATLAS_2014_I1268975 (high mass dijet cross-section at 7 TeV) ATLAS_2014_I1304688 (jet multiplicity and pT at 7 TeV) ATLAS_2014_I1307756 (scalar diphoton resonance search at 8 TeV – no histograms!) CMSTOTEM_2014_I1294140 (charged particle pseudorapidity at 8 TeV)
- Adding
PromptFinalState, based on code submitted by Alex Grohsjean and Will Bell. Thanks! - Adding MC_HFJETS and MC_JETTAGS analyses.
- Update all analyses to use the
xMin/Max/Mid,xMean,xWidth, etc. methods on YODA classes rather than the deprecatedlowEdgeetc. - Merge new
HasPIDfunctor from Holger Schulz intoRivet/Tools/ParticleUtils.hh, mainly for use with theany()function inRivet/Tools/Utils.hh - Convert
inRangeto not use fuzzy comparisons on closed intervals, providing old version asfuzzyInRange. MC_JetAnalysis.cc: re-enable +- ratios for eta and y, now that YODA divide doesn’t throw an exception.- ATLAS_2012_I1093734: fix a loop index error which led to the first bin value being unfilled for half the dphi plots.
rivet-cmphistosnow uses the genericyoda.read()function rather thanreadYODA()– AIDA files can also be compared and plotted directly now.bin/make-plots: Automatic generation of minor xtick labels ifLogXis requested but data resides e.g. in [200, 700]. Fixes m_12 plots of, e.g. ATLAS_2010_S8817804pyext/rivet/Makefile.am:make distcheckand out-of-source builds should work now.- Removing direct includes of
MathUtils.hhand others from analysis code files.
[2.1.2] - 2014-06-02
Added
- Adding a few extra kinematics mappings to ParticleBase.
- Adding
p3()accessors to the 3-momentum onFourMomentum,Particle, andJet. - Adding interfacing of smart pointer types and booking etc. for YODA 2D histograms and profiles.
- Adding CMS_2012_I1090423 (dijet angular distributions), CMS_2013_I1256943 (Zbb xsec and angular correlations), CMS_2013_I1261026 (jet and UE properties vs. Nch) and D0_2000_I499943 (bbbar production xsec and angular correlations).
- Adding
any(iterable, fn)andall(iterable, fn)template functions for convenience. - Adding the namespace protection workaround for Boost described at http://www.boost.org/doc/libs/1_55_0/doc/html/foreach.html
- Adding a
rivet.pctemplate file and installation rule forpkg-configto use.
Fixed
- Fix some bugs in identified hadron PIDs in OPAL_1998_S3749908.
- Fix missing
abs()inParticle::abspid()!!!! - Fixing a bug in plot file handling, and adding a
texpand()routine to rivet.util, to be used to expand some ‘standard’ physics TeX macros. - Bug fixes in CMS_2013_I1209721 from Giulio Lenzi.
- Fixing compiler warnings from clang, including one which indicated a misapplied cut bug in CDF_2006_S6653332.
Changed
- Using Particle
absrap(),abseta()andabspid()where automatic conversion was feasible. - Using
JetandParticlekinematics methods directly (without momentum()) where possible. - More tweaks to make-plots 2D histo parsing behaviour.
- Actually fill the XQ 2D histo
.plotdecorations. - Have
make-plotsproduce colourmaps using YODA_3D_SCATTER objects. Remove the grid in colourmaps. - Some tweaks for the SFM analysis, trying to contact Martin Wunsch who did the unfolding back then.
- Re-enable 2D histo in MC_PDFS
- Updating analysis and project routines to use
Particle::pid()by preference toParticle::pdgId(), andParticle::abspid()by preference toabs(Particle::pdgId()), etc. - Improving
ParticleIdUtilsandParticleUtilsfunctions based on merging of improved function collections from MCUtils, and dropping the compiledParticleIdUtils.ccfile. - Adding ATLAS_2012_I1124167 (min bias event shapes), ATLAS_2012_I1203852 (ZZ cross-section), and ATLAS_2013_I1190187 (WW cross-section) analyses.
- Writing out
[UNVALIDATED],[PRELIMINARY], etc. in the--list-analysesoutput if analysis is notVALIDATED. - Adding CMS_2013_I1265659 colour coherence analysis.
- Updating
data/refdata/ALEPH_2001_S4656318.yodato corrected version in HepData. - Flattening PNG output of
make-plots(i.e. no transparency) and other tweaks. - Renaming the internal meta-particle class in
DressedLeptons(and exposed in theW/ZFinders) fromClusteredLeptontoDressedLeptonfor consistency with the change in name of its containing class. - Removing need for
cmakeand unportable yaml-cpp trickery by using libtool to build an embedded symbol-mangled copy of yaml-cpp rather than trying to mangle and build direct from the tarball.
[2.1.1] - 2014-03-10
Added
- Adding ATLAS multilepton search (no ref data file), ATLAS_2012_I1204447.
- Adding programmatic access to final histograms via
AnalysisHandler::getData(). - Adding CMS 4 jet correlations analysis, CMS_2013_I1273574.
- Adding CMS W + 2 jet double parton scattering analysis, CMS_2013_I1272853.
- Adding ATLAS isolated diphoton measurement, ATLAS_2012_I1199269.
- Adding better momentum comparison functors and
sortBy,sortByXfunctions to use them easily on containers ofParticle,Jet, andFourMomentum. - Adding
isStable,children,allDescendants,stableDescendants, andflightLengthfunctions toParticle. - Adding a
Jet.fhhforward declaration header, includingfastjet::PseudoJet. - Adding a
RivetCommon.hhheader to allowRivet.hhto be used externally.
Removed
- Removing duplicate and unused
ParticleBasesorting functors. - Removing unused HT increment and units in ATLAS_2012_I1180197 (unvalidated SUSY).
Fixed
- Fixing photon-isolation logic bug in CMS_2013_I1258128 (Z rapidity).
- Fixing
HeavyHadronsto apply pT cuts if specified.
Changed
- Also renaming Breit-Wigner functions to
cdfBW,invcdfBWandbwspace. - Renaming
index_between()to the more RivetybinIndex(), since that’s the only real use of such a function… plus a bit of SFINAE type relaxation trickery. - Improving the
index_betweenfunction so the numeric types don’t have to exactly match. - Replacing internal uses of
#include Rivet/Rivet.hhwithRivet/Config/RivetCommon.hh, removing theMAXRAPIDITYconst, and repurposingRivet/Rivet.hhas a convenience include for external API users. - Replacing
ParticleandJetdeltaXfunctions with generic ones onParticleBase, and addingdeltaRapvariants.
[2.1.0] - 2014-02-06
Added
- Adding the ATLAS_2012_I1093734 fwd-bwd / azimuthal minbias correlations analysis.
- Adding the LHCB_2013_I1208105 forward energy flow analysis.
Removed
- Removing unused/overrestrictive
Isolation*headers.
Fixed
- Fixing the JADE_OPAL analysis ycut values to the midpoints, thanks to information from Christoph Pahl / Stefan Kluth.
Changed
- Protect against invalid prefix value if the
--prefixconfigure option is unused. - Checking the YODA minimum version in the configure script.
- Re-bundling yaml-cpp, now built as a mangled static lib based on the LHAPDF6 experience.
- Throw a
UserErrorrather than an assert ifAnalysisHandler::initis called more than once. src/Core/Cuts.cc: NewCuts machinery, already used inFinalState. Old-style “mineta, maxeta, minpt” constructors kept around for ease of transition. Minimal set of convenience functions available, likeEtaIn(), should be expanded as needed.
[2.2.0] - 2014-01-22
Added
- Adding
pid()andabspid()methods toParticle. - Adding
hasCharmandhasBottommethods toParticle. - Adding a sorting functor arg version of the
ZFinder::constituents()method. - Adding pTmin cut accessors to
HeavyHadrons. - Adding a
GenParticle*cast operator toParticle, removing theParticleandJetcopies of the momentum cmp functors, and general tidying/improvement/unification of the momentum properties of jets and particles. - Adding
isNeutrinotoParticleIdUtils, andisHadron/isMeson/isBaryon/isLepton/isNeutrinomethods toParticle. - Adding a
FourMomentumcast operator toParticleBase, so thatParticleandJetobjects can be used directly asFourMomentums. - Adding singular particle accessor functions to
WFinderandZFinder. - Adding
-DNDEBUGto the default build flags, unless in--enable-debugmode. - Adding a special treatment of
RIVET_*_PATHvariables: if they end in::the default search paths will not be appended. Used primarily to restrict the doc builds to look only inside the build dirs, but potentially also useful in other special circumstances. - Adding a definition of
exec_prefixtorivet-buildplugin. - Adding
-DNDEBUGto the default non-debug build flags. - Adding the
DEFAULT_RIVET_ANA_CONSTRUCTORcosmetic macro. - Adding
deltaRap()etc. function variations - Adding no-decay photon clustering option to
WFinderandZFinder, and replacing opaque bool args with enums. - Adding an option for ignoring photons from hadron/tau decays in
LeptonClusters. - Adding
Particle::fromBottom/Charm/Tau()members. LHCb were aready mocking this up, so it seemed sensible to add it to the interface as a more popular (and even less dangerous) version ofhasAncestor(). - Adding an
empty()member to theJetAlginterface. - Adding the GSL lib path to the library path in the env scripts and
the
rivet-config --ldflagsoutput.
Removed
- Removing
ClusteredPhotonsand converting ATLAS_2010_S8919674. - Removing accidentally still-present no-as-needed linker flag from
rivet-config.
Fixed
- Fixing a problem with
--disable-analyses(thanks to David Hall)
Changed
configure.ac: Remove opportunistic C++11 build, until this becomes mandatory (in version 2.2.0?). Anyone who wants C++11 can explicitly set theCXXFLAGS(andDYLDFLAGSfor pre-Mavericks Macs)src/Core/Analysis.cc: Fixed bug inAnalysis::isCompatiblewhere anabswas left out when checking that beam energes does not differ by more than 1 GeV.src/Analyses/CMS_2011_S8978280.cc: Fixed checking of beam energy and booking corresponding histograms.- Tweak to the
WFinderconstructor to place the target W (trans) mass argument last. - Using SFINAE techniques to improve the math util functions.
LeptonClustersrenamed toDressedLeptons.- Require FastJet version 3.
- Lots of analysis clean-up and migration to use new features and W/Z finder APIs.
- More momentum-method forwarding on
ParticleBaseand addingabseta(),absrap()etc. functions.
[2.0.0] - 2013-10-25
Added
- Add the
-avoid-versionflag to libtool. - Add
-std=c++11or-std=c++0xto the Rivet compiler flags if supported. - Add HepData URL for Inspire ID lookup to the
rivetscript. - Add MathJax to
rivet-mkhtmloutput, set up so the.infoentries should render ok. - Adding a
ConnectBinsflag inmake-plots, to decide whether to connect adjacent, gapless bins with a vertical line. Enabled by default (good for the step-histo default look of MC lines), but nowrivet-cmphistosdisables it for the reference data. - Adding a
copy_ptsparam to someAnalysis::bookScatter2Dmethods: pre-setting the points with x values is sometimes genuinely useful. - Adding a rejection of histo paths containing
/TMP/from thewriteDatafunction. Use this to handle booked temporary histograms… for now. - Adding a new
HeavyHadronsprojection. - Adding optional extra include_end args to
logspace()andlinspace(). - Adding
PrimaryHadronsprojection. - Adding
particles_in/outfunctions onGenParticletoRivetHepMC. - Adding a
#includeofLogging.hhintoProjection.hh, and removing unnecessary#includesfrom allProjectionheaders. - Adding a version of
Analysis::removeAnalysisObject()which takes an AO pointer as its argument. - Adding histo booking from an explicit reference
Scatter2D(and more placeholders for 2D histos / 3D scatters) and rewriting existing autobooking to use this. - Added ATLAS_2012_I1125575 analysis
- Adding
Analysis::integrate()functions and tidying theAnalysis.hhfile a bit. - Adding explicit protection against using
inf/nanscalefactors in ATLAS_2011_S9131140 and H1_2000_S4129130. - Adding a couple of minor
Utils.hhandMathUtils.hhfeatures. - Adding Doxy comments and a couple of useful convenience functions to
Utils.hh. - Adding configure-time differentiation between yaml-cpp API versions 3 and 5.
- Adding
Particle::fromDecay()method. - Adding many more ‘popular’ particle ID code named-consts and
aliases, and updating the
RapSchemeenum with ETA -> ETARAP, and fixing affected analyses (plus other opportunistic tidying / minor bug-fixing). - Adding new
Particle(const GenParticle*)constructor. - Adding a
Particlestypedef by analogy toJets, and in preference to the cumbersomeParticleVector. - Adding an element to the
PhiMappingenum and a new mapAngle(angle, mapping) function.
Removed
- Removed the (officially) obsolete CDF 2008 LEADINGJETS and NOTE_9351 underlying event analyses – superseded by the proper versions of these analyses based on the final combined paper.
- Removed the semi-demo
Multiplicityprojection – only the EXAMPLE analysis and the trivial ALEPH_1991_S2435284 needed adaptation. - Removing unnecessary uses of a momentum() indirection when accessing kinematic variables.
- Removing broken attempt at
histoDir()caching which led to all histograms being registered under the same analysis name. - Removing
Constraints.hhheader. - Removing defunct
HistoFormat.hhandHistoHandler.{hh,cc} - Removing includes of
Logging.hh,RivetYODA.hh, andParticleIdUtils.hhfrom analyses (and adding an include ofParticleIdUtils.hhtoAnalysis.hh) - Removing now-unused
.fhhfiles. - Removing lots of unnecessary
.fhhincludes from core classes: everything still compiling ok. A good opportunity to tidy this up before the release. - Removing bundling of yaml-cpp: it needs to be installed by the user / bootstrap script from now on.
- Removing
svn:externalm4directory, and converting Boost detection to use betterboost.m4macros.
Fixed
- Fix analyses’ info files which accidentally listed the Inspire ID under the SpiresID metadata key.
- Fixing remaining issues with booking in BABAR_2007_S7266081 using the feature below (far nicer than hard-coding).
- Improvements and fixes to HepData lookup with
rivet-mkanalysis. - Various fixes to analyses with non-zero numerical diffs.
- Fixing attempted abstraction of import fallbacks in
rivet.util.import_ET(). - ARGUS_1993_S2669951 also fixed using scatter autobooking.
- Fix TeX variable in the
rivetenvscripts, especially for csh - Fixing a symbol misnaming in ATLAS_2012_I1119557.
- Fixing doc build so that the reference histos and titles are ~correctly documented. We may want to truncate some of the lists!
- Fixing the histograms entries in the documentation to be tolerant to plotinfo loading failures.
- Fixes to
Vector3::azimuthalAngleandVector3::polarAnglecalculation (using themapAnglefunctions).
Changed
- Supporting zsh completion via bash completion compatibility.
- Updating the manual to describe YODA rather than AIDA and the new rivet-cmphistos script.
bin/make-plots: Adding paths to error messages in histogram combination.- CDF_2005_S6217184: fixes to low stats errors and final scatter plot binning.
- Several small fixes in jet shape analyses, SFM_1984, etc. found in the last H++ validation run.
- Updates to
configureand therivetenvscripts to try harder to discover YODA. - Now bundling Cython-generated files in the tarballs, so Cython is not a build requirement for non-developers.
- Clean-up in
Jet,Particle, andParticleBase, in particular splitting PID functions on Particle from those on PID codes, and adding convenience kinematic functions toParticleBase. - Final analysis histogramming issues resolved.
- Make
rivet-cmphistosnot draw a ratio plot if there is only one line. - Moving
Rivet/RivetXXX.hhtools headers intoRivet/Tools/. - Moved STL extensions from
Utils.hhtoRivetSTL.hhand tidying. - Tidying, improving, extending, and documenting in
RivetSTL.hh. - Moving
htmlify()anddetex()Python functions intorivet.util. - Updating
mk-analysis-htmlscript to produce MathJax output bin/rivet: Adding pandoc-based conversion of TeX summary and description strings to plain text on the terminal output.- Mark the OPAL 1993 analysis as UNVALIDATED: from the H++ benchmark runs it looks nothing like the data, and there are some outstanding ambiguities.
- Renaming
Analysis::add()etc. to very explicitaddAnalysisObject(), sorting out shared_pointer polymorphism issues via the Boost dynamic_pointer_cast, and adding a full set ofgetHisto1D(), etc. explicitly named and typed accessors, including ones with HepData dataset/axis ID signatures. - Converting inappropriate uses of
size_ttounsigned intinAnalysis. - Moving
Analysis::addPlottoAnalysis::add()(orreg()?) and addingget()andremove()(orunreg()?) - Updating the Cython version requirement to 0.18
- Making Analysis::scale noisly complain about invalid scalefactors.
- Reducing the TeX main memory to ~500MB. Turns out that it can be too large with new versions of TeXLive!
- Reverting
bookScatter2Dbehaviour to never look at ref data, and updating a few affected analyses. This should fix some bugs with doubled datapoints introduced by the previous behaviour+addPoint. - Minor bugfixes and improvements in
Scatter2Dbooking and MC_JetAnalysis. - Moving the
rivet-completionscript from the data dir to bin (the completion is for scripts in bin, and this makes development easier). - Updating bash completion scripts for YODA format and
compare-histos->rivet-cmphistos. - Final tweaks to ATLAS ttbar jet veto analysis (checked logic with Kiran Joshi).
- Many 1.0 -> weight bugfixes in ATLAS_2011_I945498.
- yaml-cpp v3 support re-introduced in
.infoparsing. - Lots of analysis clean-ups for YODA TODO issues.
- Analysis histo booking improvements for
Scatter2D, placeholders for 2D histos, and general tidying. - Converting info file reading to use the yaml-cpp 0.5.x API.
- Moving PID consts to the PID namespace and corresponding code updates and opportunistic clean-ups.
- Renaming existing uses of
ParticleVectorto the newParticlestype. - Updating util classes, projections, and analyses to deal with the HepMC return value changes.
- Converting
Particle::genParticle()to return a const pointer rather than a reference, for the same reason as below (+ consistency within Rivet and with the HepMC pointer-centric coding design). - Converting Event to use a different implementation of original and
modified GenParticles, and to manage the memory in a more future-proof
way.
Event::genParticle()now returns a const pointer rather than a reference, to signal that the user is leaving the happy pastures of ‘normal’ Rivet behind. bin/: Lots of tidying/pruning of messy/defunct scripts.- Creating
spiresbib,util, andplotinforivetpython module submodules: this eliminateslighthistoand the standalonespiresbibmodules. Util contains convenience functions for Python version testing, clean ElementTree import, and process renaming, for primary use by therivet-*scripts. - Removing defunct scripts that have been replaced/obsoleted by YODA.
- Converted
rivet-mkhtmlto yoda - Introduced
rivet-cmphistosas yoda based replacement forcompare-histos - Replacing all AIDA ref data with YODA versions.
- Making the
findDatafile()function primarily find YODA data files, then fall back to AIDA. The ref data loader will use the appropriate YODA format reader. include/Rivet/Math/MathUtils.hh: addedBWspacebin edge method to give equal-area Breit-Wigner bins- Split MC_JETS analyses into three separate bits: MC_INC (inclusive properties) MC_JETS (jet properties) MC_KTSPLITTINGS (kT splitting scales).
[1.8.2] - 2012-12-21
Added
- Added CMS_2011_I954992 analysis
- Added CMS_2012_I1193338 analysis
- Added CMS_2012_PAS_FWD_11_003 analysis
- Added LHCB_2012_I1119400 analysis
- Added CMS_2012_PAS_QCD_11_010 analysis
- Added ALICE_2012_I1181770 analysis
- Added ATLAS_2012_I1188891 analysis
- Added ATLAS_2012_I1118269 analysis
- Added CMS_2012_I1184941 analysis
- Added LHCB_2010_I867355 analysis
- Added TGraphErrors support to root2flat
- Added ATLAS_2012_CONF_2012_153 4-lepton SUSY search
- Added LHCF_2012_I1115479 analysis
- Added ATLAS_2011_I894867 analysis
- Added CMS_2012_I1102908 analysis
- Added CMS_2012_I1107658 analysis
- Added CDF_2012_NOTE10874 analysis
- Added ATLAS_2012_I1183818 analysis
- Add CMS_2012_I1087342
Fixed
- Fixed xi cut in ATLAS_2011_I894867
- Fix make-plots png creation for SL5
- Fix rivet-mkanalysis a bit for YODA compatibility.
Changed
- Adding ATLAS_2012_I1119557 analysis (from Roman Lysak and Lily Asquith).
- Adding TOTEM_2012_002 analysis, from Sercan Sen.
- Adding analysis descriptions to the HTML analysis page ToC.
- Correction to jet acceptance in CMS_2011_S9120041, from Sercan Sen: thanks!
- Rewrite of ALICE_2012_I1181770 analysis to make it a bit more sane and acceptable.
- Adding a note on
FourVectorandFourMomentumthatoperator-andoperator-=invert both the space and time components: use of-=can result in a vector with negative energy. - Adding
particlesByRapidityandparticlesByAbsRapiditytoFinalState. - Converting CMS_2012_I1102908 analysis to use YODA.
- Adding
XLabelandYLabelsetting in histo/profile/scatter booking. - Adding MC_PHOTONS by Steve Lloyd and AB, for testing general unisolated photon properties, especially those associated with charged leptons (e and mu).
- Adding MC_PRINTEVENT, a convenient (but verbose!) analysis for printing out event details to stdout.
- Removing the long-unused/defunct autopackage system.
- Converting the argument order of logspace, clarifying the arguments,
updating affected code, and removing
Analysis::logBinEdges. - Merging updates from the AIDA maintenance branch up to r4002 (latest revision for next merges is r4009).
include/Math/: Various numerical fixes toVector3::angleand changing the 4-vector mass treatment to permit spacelike virtualities (in some cases even the fuzzyisZeroassert check was being violated). The angle check allows a clean-up of some workaround code in MC_VH2BB.- Cleanup and multiple fixes in CMS_2011_S9120041
- Bugfixed in ALEPH_2004_S5765862 and ATLAS_2010_CONF_2010_049 (thanks to Anil Pratap)
- Fixing
aida2rootcommand-line help message and converting toTH*rather thanTGraphby default. - Improvements/migrations to
rivet-mkhtml,rivet-mkanalysis, andrivet-buildplugin.
[1.8.1] - 2012-07-05
Added
- Add ATLAS_2011_I945498
- Add ATLAS_2012_I1091481
- Added D0_2011_I895662: 3-jet mass
- Added new TOTEM dN/deta analysis
Fixed
- Fixed a few bugs in rivet-rmgaps
Changed
- Bugfix for transverse mass (thanks to Gavin Hesketh)
- Merge YODA branch into trunk. YODA is alive!!!!!!
[1.8.0] - 2012-03-19
Added
- Add ATLAS diffractive gap analysis
- Add first version of ATLAS_2012_I1083318 (W+jets). Still UNVALIDATED until final happiness with validation plots arises and data is in Hepdata.
- Add ATLAS inclusive lepton analysis
- Added pi0 to list of particles.
- Add
--ignore-missingoption torivet-mkhtmlto ignore non-existing AIDA files. doc/mk-analysis-html: Adding more LaTeX/text -> HTML conversion replacements, including better<,>handling.- Adding CMS_2011_S8973270, CMS_2011_S8941262, CMS_2011_S9215166, CMS_QCD_10_024, from CMS.
- Adding LHCB_2011_I917009 analysis, from Alex Grecu.
src/Core/Analysis.cc, include/Rivet/Analysis.hh: Add a numeric-arg version ofhistoPath().- Adding ATLAS Ks/Lambda analysis.
- Add some dR/deta/dphi distributions as noted in TODO
- Adding a placeholder
rivet-whichscript (not currently installed). - Adding a command line completion function for
rivet-mkhtml. - Adding default do-nothing implementations of
Analysis::init()andAnalysis::finalize(), since it is possible for analysis implementations to not need to do anything in these methods, and forcing analysis authors to write do-nothing boilerplate code is not “the Rivet way”! - Adding variant constructors to
FastJetswith a more naturalPlugin*argument, and decrufting the constructor implementations a bit. bin/rivet: Adding a more helpful error message if therivetmodule can’t be loaded, grouping the option parser options, removing the-Aoption (this just doesn’t seem useful anymore), and providing a--pwdoption as a shortcut to append.to the search path.- Adding a guide to compiling a new analysis template to the output
message of
rivet-mkanalysis.
Removed
bin/rivet: Remove the conversion of requested analysis names to upper-case: mixed-case analysis names will now work.- Removing references to Boost random numbers.
- Removing crufty legacy stuff from the
Jetclass – there is never any ambiguity between whetherParticleorFourMomentumobjects are the constituents now, and the jet 4-momentum is set explicitly by the jet alg so that e.g. there is no mismatch if the FastJet pt recombination scheme is used.
Fixed
- Fix compiler warnings in ATLAS_2011_I944826 and CMS_2011_S8973270
- Fixed broken
UnstableFSbehaviour - Fix for factor of 2.0 in normalisation of CMS_2011_S9086218
- Bugfixes and improvements for MC_TTBAR: - Avoid assert failure with logspace starting at 0.0.
- Bugfix in ATLAS_2010_S8919674: Really use neutrino with highest pT for Etmiss. Doesn’t seem to make very much difference, but is more correct in principle.
- Bugfix in ATLAS_2012_I1083318: Include non-signal neutrinos in jet clustering.
- Fixes to ATLAS_20111_S9225137 to include reference data
Changed
src/Core/AnalysisInfo.cc: Add printout of YAML parser exception error messages to aid debugging.src/Projections/UnstableFinalState.cc: Fix compiler warning.bin/Makefile.am: Attempt to fixrivet-nopybuild on SLC5.src/Analyses/LHCB_2010_S8758301.cc: Add two missing entries to the PDGID -> lifetime map.src/Projections/UnstableFinalState.cc: Extend list of vetoed particles to include reggeons.pyext/setup.py.in: Adding handling for the YAML library: fix for Genser build from Anton Karneyeu.src/Analyses/LHCB_2011_I917009.cc: Hiding lifetime-lookup error message if the offending particle is not a hadron.include/Rivet/Math/MathHeader.hh: Using unnamespacedstd::isnanandstd::isinfas standard.- Improve default plot behaviour for 2D histograms
- Make ATLAS_2012_I1084540 less verbose, and general code cleanup of that analysis.
- New-style plugin hook in ATLAS_2011_I926145, ATLAS_2011_I944826 and ATLAS_2012_I1084540
- CMS_2011_S8941262: Weights are
double, notint. - Disable
inRange()tests intest/testMath.ccuntil we have a proper fix for the compiler warnings we see on SL5. - Marking ATLAS_2011_I919017 as VALIDATED (this should have happened a long time ago) and adding more references.
lighthisto.py: Caching forre.compile(). This speeds upaida2flatandflat2aidaby more than an order of magnitude.src/Analyses/ATLAS_2011_I925932.cc: Using new overflow-awarenormalize()in place of counters andscale(..., 1/count)- Splitting MC_GENERIC to put the PDF and PID plotting into MC_PDFS and MC_IDENTIFIED respectively.
- Renaming MC_LEADINGJETS to MC_LEADJETUE.
- DELPHI_1996_S3430090 and ALEPH_1996_S3486095: fix rapidity vs {Thrust,Sphericity}-axis.
bin/compare-histos: Don’t attempt to remove bins from MC histos where they aren’t found in the ref file, if the ref file is not expt data, or if the new--no-rmgapbinsarg is given.- Ignore charged lepton in jet finding (otherwise jet multi is always +1).
- Change pT plots to logspace as well (to avoid low-stat high pT bins)
rivet-mkhtml -coption now has the semantics of a.plotfile. The contents are appended to the dat output by compare-histos.- Improvements in make-plots: - Add
PlotTickLabelsandRatioPlotTickLabelsoptions (cf.make-plots.txt) - Make
ErrorBarsandErrorBandsnon-exclusive (and change their order, such thatBarsare on top ofBands) bin/rivet: When using--list-analyses, the analysis summary is now printed out when log level is <=INFO, rather than <INFO. The effect on command line behaviour is that useful identifying info is now printed by default when using--list-analyses, rather than requiring--list-analyses -v. To get the old behaviour, e.g. if using the output of rivet--list-analysesfor scripting, now use--list-analyses -q.- Tidying lighthisto, including fixing the order in which +- error
values are passed to the
Binconstructor infromFlatHisto. - Font selection support in
rivet-mkhtml - Tweaking to avoid a very time-consuming debug printout in
compare-histoswith the-vflag, and modifying the Rivet env vars inrivet-mkhtmlbefore callingcompare-histosto eliminate problems induced by relative paths (i.e..does not mean the same thing when the directory is changed within the script). - Include underflow and overflow bins in the normalisation when
calling
Analysis::normalise(h)
[1.7.0] - 2011-11-11
Added
- Add four CMS QCD analyses kindly provided by CMS.
- Added ALICE_2011_S8909580 (strange particle production at 900 GeV)
- Add sorting of the
ParticleVectorreturned by theChargedLeptonsprojection. - Added ATLAS_2011_S9126244
- Added ATLAS_2011_S9128077
- Added ALICE_2011_S8945144
- Add
--ignore-beamsoption to skip compatibility check. - Adding new ATLAS W pT analysis from Elena Yatsenko (slightly adapted).
- Adding new version of LHCB_2010_S8758301, based on submission from
Alex Grecu. There is some slightly dodgy-looking
GenParticle*fiddling going on, but apparently it’s necessary (and hopefully robust). - Adding a separate test program for non-matrix/vector math functions,
and adding a new set of
int/floatliteral arg tests for theinRangefunctions in it. - Adding a jet multiplicity plot for jets with pT > 30 GeV to MC_TTBAR.
- Adding Inspire support to the
AnalysisInfoandAnalysisinterfaces. Maybe we can find a way to combine the two, e.g. return the SPIRES code prefixed with an “S” if no Inspire ID is available… - Adding ATLAS track jet analysis, modified from the version provided by Seth Zenz: ATLAS_2011_I919017. Note that this analysis is currently using the Inspire ID rather than the Spires one: we’re clearly going to have to update the API to handle Inspire codes, so might as well start now…
- Adding the ATLAS Z pT measurement at 7 TeV (ATLAS_2011_S9131140) and an MC analysis for VH->bb events (MC_VH2BB).
- Adding a new
DECLARE_RIVET_PLUGINwrapper macro to hide the details of the plugin hook system from analysis authors. Migration of all analyses and therivet-mkanalysisscript to use this as the standard plugin hook syntax. - Adding
TEXINPUTSandLATEXINPUTSprepend definitions to the variables provided byrivetenv.(c)sh. A manual setting of these variables that didn’t include the RivetTEXMFHOMEpath was breakingmake-plotson lxplus, presumably since the system LaTeX packages are so old there.
Removed
- Remove obsolete
setBeams()from the analyses - Removing
SVertex. - Removing deprecated features: the
setBeams(...)method onAnalysis, theMaxRapidityconstant, thesplit(...)function, the defaultinit()method fromAnalysisHandlerand its test, and the deprecatedTotalVisibleMomentumandPVertexprojections.
Fixed
- Fix bug in ATLAS_2010_S8817804 that misidentified the akt4 jets as akt6
- Fix
aida2flatto ignore empty dataPointSet
Changed
- Protecting the OPAL 2004 analysis against
NaNs in the hemispheres projection – I can’t track the origin of these and suspect some occasional memory corruption. - Renaming source files for EXAMPLE and PDG_HADRON_MULTIPLICITIES(_RATIOS) analyses to match the analysis names.
- Cosmetic fixes in ATLAS_2011_S9212183 SUSY analysis.
- Extend API of
W/ZFinderto allow for specification of input final state in which to search for leptons/photons. bin/rivet-nopylinker line tweak to make compilation work with GCC 4.6 (-lHepMChas to be explicitly added for some reason).root2flatwas missing the first bin (plus spurious last bin)- My version of bash does not understand the pipe syntax
|&inrivet-buildplugin - Converting
FinalStateHCMto a slightly more generalDISFinalState. - Adding a default libname argument to
rivet-buildplugin. If the first argument doesn’t have a.solibrary suffix, then useRivetAnalysis.soas the default. - make-plots: Fixing regex for
\physicscoor. AddingFrameColoroption. - Improving interactive metadata printout, by not printing headings for missing info.
- Updating the mkanalysis, BibTeX-grabbing and other places that care about analysis SPIRES IDs to also be able to handle the new Inspire system record IDs. The missing link is getting to HepData from an Inspire code…
- Using the
.infofile rather than an in-code declaration to specify that an analysis needs cross-section information. - Feed-down correction in ALICE_2011_S8945144
- Removing uses of
getLog,cout,cerr, andendlfrom all standard analyses and projections, except in a very few special cases. - Changing the behaviour and interface of the
MissingMomentumprojection to calculate vector ET correctly. This was previously calculated according to the common definition of-E*sin(theta)of the summed visible 4-momentum in the event, but that is incorrect because the timelike term grows monotonically. Instead, transverse 2-vectors of size ET need to be constructed for each visible particle, and vector-summed in the transverse plane. The rewrite of this behaviour made it opportune to make an API improvement: the previous method namesscalarET/vectorET()have been renamed toscalar/vectorEt()to better match the RivetFourMomentum::Et()method, andMissingMomentum::vectorEt()now returns aVector3rather than adoubleso that the transverse missing Et direction is also available. Only one data analysis has been affected by this change in behaviour: the D0_2004_S5992206 dijet delta(phi) analysis. It’s expected that this change will not be very significant, as it is a veto on significant missing ET to reduce non-QCD contributions. MC studies using this analysis ~always run with QCD events only, so these contributions should be small. The analysis efficiency may have been greatly improved, as fewer events will now fail the missing ET veto cut. configure.ac: Adding a check to make sure that no-one tries to install into--prefix=$PWD.- lighthisto fixes from Christian Roehr.
- Also call the
--cflagsoption onroot-configwhen using the--rootoption withrivet-buildplugin(thanks to Richard Corke for the report) - Update CMS_2011_S8957746 reference data to the official numbers
- Use Inspire rather than Spires.
- More NLO parton level generator friendliness: Don’t crash or fail when there are no beam particles.
[1.6.0] - 2011-08-02
Changed
- Overhaul of the
WFinderandZFinderprojections, including a change of interface. This solves potential problems with leptons which are not W/Z constituents being excluded from theRemainingFinalState.
[1.5.2] - 2011-07-29
Added
- Added ATLAS_2011_S9120807
- Add two more observables to MC_DIPHOTON and make its isolation cut more LHC-like
- Add linear photon pT histo to MC_PHOTONJETS
- Added CMS_2011_S8884919 (charged hadron multiplicity in NSD events corrected to pT>=0).
- Added CMS_2010_S8656010 and CMS_2010_S8547297 (charged hadron pT and eta in NSD events)
- Added CMS_2011_S8968497 (chi_dijet)
- Added CMS_2011_S8978280 (strangeness)
- Add support for goodness-of-fit calculations to make-plots. The results are shown in the legend, and one histogram can be selected to determine the color of the plot margin. See the documentation for more details.
- Add
BeamThrustprojection - Add basic infrastructure for Taylor plots in make-plots
Fixed
- Fix implementation of
--configfile option in make-plots. - Fix
fromFlat()in lighthistos: It would ignore histogram paths before. - Fix
LIBSfor fastjet-3.0 - Fix OPAL_2004_S6132243: They are using charged+neutral.
Changed
- New version of
aida2rootfrom James Monk. - Updated
MC_TTBAR.plotto reflect updated analysis. - Adding a
useTransverseMassflag method and implementation toInvMassFinalState, and using it in theWFinder, after feedback from Gavin Hesketh. This was the neatest way I could do it :S Some other tidying up happened along the way. - Adding transverse mass
massTandmassT2methods and functions forFourMomentum. - Making MC_TTBAR work with semileptonic ttbar events and generally tidying the code.
- Replaced MC_TTBAR: Added t,tbar reconstruction. Not yet working.
bin/rivet-buildplugin.in: Pass theAM_CXXFLAGSvariable (including the warning flags) to the C++ compiler when building user analysis plugins.include/LWH/DataPointSet.h: Fix accidental setting oferrorMinus = scalefactor * error_Plus_. Thanks to Anton Karneyeu for the bug report!- Rivet PDF manual updates, to not spread disinformation about bootstrapping a Genser repo.
bin/make-plots: Protect property reading against unstripped haracters from DOS newlines.bin/rivet-mkhtml: Add a-Munmatch regex flag (note that these are matching the analysis path rather than individual histos on this script), and speed up the initial analysis identification and selection by avoiding loops of regex comparisons for repeats of strings which have already been analysed.bin/compare-histos: remove the completely (?) unused histogram list, and add-mand-Mregex flags, as foraida2flatandflat2aida.flat2aida: preserve histogram order from.datfilespyext/setup.py.in: UseCXXFLAGSandLDFLAGSsafely in the Python extension build, and improve the use of build/src directory arguments.- Adding a tentative
rivet-updateanalysesscript, based onlhapdf-getdata, which will download new analyses as requested. We could change our analysis-providing behaviour a bit to allow this sort of delivery mechanism to be used as the normal way of getting analysis updates without us having to make a whole new Rivet release. It is nice to be able to identify analyses with releases, though, for tracking whether bugs have been addressed. - Bugfixes in
WFinder. - Adding
\physicsxcoorand\physicsycoortreatment tomake-plots. - Allow for negative cross-sections. NLO tools need this.
make-plots: ForRatioPlotMode=deviationalso consider the MC uncertainties, not just data.- Adding auto conversion of
Histogram2DtoDataPointSets in theAnalysisHandler_normalizeTreemethod. - Adding a file-weight feature to the
Runobject, which will optionally rescale the weights in the provided HepMC files. This should be useful for e.g. running on multiple differently-weighted AlpGen HepMC files/streams. The new functionality is used by therivetcommand via an optional weight appended to the filename with a colon delimiter, e.g.rivet fifo1.hepmc fifo2.hepmc:2.31
[1.5.1] - 2011-05-31
Added
- Added ATLAS_2011_S9002537 W asymmetry analysis
- Added ATLAS 8983313: 0-lepton BSM
Changed
- Adding plots of stable and decayed PID multiplicities to MC_GENERIC (useful for sanity-checking generator setups).
- Removing actually-unused
ProjectionApplier.fhhforward declaration header. - Removing import of ipython shell from
rivet-rescale, having just seen it throw a multi-coloured warning message on a student’s lxplus Rivet session! - Adding support for the
compare-histos--no-ratioflag when usingrivet-mkhtml. Adding--rel-ratio,--linear, etc. is an exercise for the enthusiast ;-) - Internal minor changes to the ProjectionHandler and
ProjectionApplier interfaces, in particular changing the
ProjectionHandler::create()function to be calledgetInstanceand to return a reference rather than a pointer. The reference change is to make way for an improved singleton implementation, which cannot yet be used due to a bug in projection memory management. The code of the improved singleton is available, but commented out, inProjectionManager.hhto allow for easier migration and to avoid branching. - Extending
flat2aidato be able to read from and write tostdin/outas foraida2flat, and also eliminating the internal histo parsing representation in favour of the one in lighthisto. lighthisto’sfromFlatalso needed a bit of an overhaul: it has been extended to parse each histo’s chunk of text (includingBEGINandENDlines) infromFlatHisto, and forfromFlatto parse a collection of histos from a file, in keeping with the behaviour offromDPS/fromAIDA. Merging into Professor is now needed. - Extending
aida2flatto have a better usage message, to accept input from stdin for command chaining via pipes, and to be a bit more sensibly internally structured (although it also now has to hold all histos in memory before writing out – that shouldn’t be a problem for anything other than truly huge histo files). compare-histos: If using--mc-errs style, prefer dotted and dashdotted line styles to dashed, since dashes are often too long to be distinguishable from solid lines. Even better might be to always use a solid line for MC errs style, and to add more colours.rivet-mkhtml: use a no-mc-errors drawing style by default, to match the behaviour of compare-histos, which it calls. The--no-mc-errsoption has been replaced with an--mc-errsoption.- Ignore duplicate files in
compare-histos. - Adding some hadron-specific N and sumET vs. |eta| plots to MC_GENERIC.
- Re-adding an explicit attempt to get the beam particles, since HepMC’s IO_HERWIG seems to not always set them even though it’s meant to.
deltaR,deltaPhi,deltaEtanow available in all combinations ofFourVector,FourMomentum,Vector3,doubles. They also accept jets and particles as arguments now.bin/rivet-mkanalysis: Don’t try to download SPIRES or HepData info if it’s not a standard analysis (i.e. if the SPIRES ID is not known), and make the default.infofile validly parseable by YAML, which was an unfortunate gotcha for anyone writing a first analysis.bin/compare-histos: Write more appropriate ratio plot labels when not comparing to data, and use the default make-plots labels when comparing to data.bin/rivet-mkhtml: Adding a timestamp to the generated pages, and a-t/--titleoption to allow setting the main HTML page title on the command line: otherwise it becomes impossible to tell these pages apart when you have a lot of them, except by URL!bin/aida2flat: Adding a-Moption to exclude histograms whose paths match a regex. Writing a negative lookahead regex with positive matching was far too awkward!src/Core/AnalysisHandler.cc(AnalysisHandler::removeAnalysis): Fixed strange shared pointer assignment that caused seg-fault.- Filling of functions works now in a more intuitive way (I hope).
[1.5.0] - 2011-03-09
Added
- Adding some extra checks for external packages in
make-plots. - Adding
--no-plottitleto compare-histos (+ completion). - Add the prepending and appending optional arguments to the path searching functions. This will make it easier to combine the search functions with user-supplied paths in Python scripts.
- Added ATLAS prompt photon analysis ATLAS_2010_S8914702
- Add CMS event shape analysis. Data read off the plots. We will get the final numbers when the paper is accepted by the journal.
- Add final version of ATLAS dijet azimuthal decorrelation
- Add
getAnalysisPlotPaths()function, and use it incompare-histos - Added ATLAS_2010_CONF_046, only two plots are implemented. The paper will be out soon, and we don’t need the other plots right now. Data is read off the plots in the note.
- Add
--show-analysesas an alias for--show-analysis, following a comment at the ATLAS tutorial.
Removed
- Remove ATLAS conf note analyses for which we have final data
Fixed
- Fix several rendering and comparison bugs in
rivet-mkhtml. - Fix the cuts in the CDF 1994 colour coherence analysis.
Changed
- Changing the accuracy of the beam energy checking to 1%, to make the UI a bit more forgiving. It’s still best to specify exactly the right energy, of course!
- Fixing segfaults in UA1_1990_S2044935 and UA5_1982_S875503.
- Use
AnalysisInfofor storage of theNeedsCrossSectionanalysis flag. - Allow field setting in
AnalysisInfo. - Support
LineStyle=dashdottedinmake-plots - New command line option
--styleforcompare-histos. Options are “default”, “bw” and “talk”. - Cleaner uninstall
- Changing internal storage and return type of
Particle::pdgId()toPdgId, and addingParticle::energy(). - Renaming
Analysis::energies()asAnalysis::requiredEnergies(). - Adding beam energies into beam consistency checking:
Analysis::isCompatiblemethods now also require the beam energies to be provided. - Removing long-deprecated
AnalysisHandler::init()constructor andAnalysisHandler::removeIncompatibleAnalyses()methods. - Adding
--disable-obsolete, which takes its value from the value of--disable-preliminaryby default. - Replacing
RivetUnvalidatedandRivetPreliminaryplugin libraries with optionally-configured analysis contents in the experiment-specific plugin libraries. This avoids issues with making libraries rebuild consistently when sources were reassigned between libraries. - Changing analysis plugin registration to fall back through available
paths rather than have
RIVET_ANALYSIS_PATHtotally override the built-in paths. The first analysis hook of a given name to be found is now the one that’s used: any duplicates found will be warned about but unused.getAnalysisLibPaths()now returns all the search paths, in keeping with the new search behaviour. - Moving the definition of the
MSG_*macros into the Logging.hh header. They can’t be used everywhere, though, as they depend on the existence of athis->getLog()method in the call scope. This move makes them available in e.g.AnalysisHandlerand other bits of framework other than projections and analyses. - Adding a gentle print-out from the Rivet
AnalysisHandlerif preliminary analyses are being used, and strengthening the current warning if unvalidated analyses are used. - Adding documentation about the validation “process” and the (un)validated and preliminary analysis statuses.
- Adding the new
RivetPreliminaryanalysis library, and the corresponding--disable-preliminaryconfigure flag. Analyses in this library are subject to change names, histograms, reference data values, etc. between releases: make sure you check any dependences on these analyses when upgrading Rivet. - Change the Python script ref data search behaviours to use Rivet ref
data by default where available, rather than requiring a
-Roption. Where relevant,-Ris still a valid option, to avoid breaking legacy scripts, and there is a new--no-rivet-refsoption to turn the default searching off. - Make
make-plotskillable! - Adding Rivet version to top of run printout.
- Adding
Run::crossSection()and printing out the cross-section in pb at the end of a Rivet run. - Make
lighthisto.pyaware of 2D histograms - Adding published versions of the CDF_2008 leading jets and DY analyses, and marking the preliminary ones as “OBSOLETE”.
- Adding PDF documentation for path searching and
.info/.plotfiles, and tidying overfull lines. - Removing unneeded const declarations from various return by value
path and internal binning functions. Should not affect ABI compatibility
but will force recompilation of external packages using the
RivetPaths.hhandUtils.hhheaders. - Adding
findAnalysis*File(fname)functions, to be used by Rivet scripts and external programs to find files known to Rivet according to Rivet’s (newly standard) lookup rule. - Changing search path function behaviour to always return all search directories rather than overriding the built-in locations if the environment variables are set.
- Adding the ATLAS 2011 transverse jet shapes analysis.
- Support for transparency in
make-plots - Simple NOOP constructor for
Thrustprojection - Reshuffle histograms in ATLAS minbias analysis to match HepData
- Small pT-cut fix in ATLAS track based UE analysis
- Doc tweaks and adding cmp-by-|p| functions for Jets, to match those added by Hendrik for Particles.
- Don’t sum photons around muons in the D0 2010 Z pT analysis.
- Adding ATLAS 2010 min bias and underlying event analyses and data.
- Make
make-plotswrite out PDF rather than PS by default. - Allow
make-plotsto write into an existing directory, at the user’s own risk. - Make
rivet-mkhtmlproduce PDF-based output rather than PS by default (most people want PDF these days). Can we do the same change of default formake-plots? - Use proper
.infofile search path function internally inAnalysisInfo::make. - Clean up ATLAS dijet analysis.
- Adding a run timeout option, and small bug-fixes to the event timeout handling, and making first event timeout work nicely with the run timeout. Run timeout is intended to be used in conjunction with timed batch token expiry, of the type that likes to make 0 byte AIDA files on LCG when Grid proxies time out.
- Fixing CDF midpoint cone jet algorithm default construction to have an overlap threshold of 0.5 rather than 0.75. This was recommended by the FastJet manual, and noticed while adding the ATLAS and CMS cones.
- Adding ATLAS and CMS old iterative cones as “official” FastJets constructor options (they could always have been used by explicit instantiation and attachment of a Fastjet plugin object).
- Removing defunct and unused
ClosestJetShapeprojection. bin/compare-histos, pyext/lighthisto.py: Take ref paths fromrivetmodule API rather than getting the environment by hand.pyext/lighthisto.py: Only read.plotinfo from the first matching file (speed-upcompare-histos).- Augmenting the physics vector functionality to make
FourMomentumsupport maths operators with the correct return type (FourMomentumrather thanFourVector). - Adding a
--event-timeoutoption to control the event timeout, adding it to the completion script, and making sure that the init time check is turned OFF once successful! - Adding an 3600 second timeout for initialising an event file. If it takes longer than (or anywhere close to) this long, chances are that the event source is inactive for some reason (perhaps accidentally unspecified and stdin is not active, or the event generator has died at the other end of the pipe. The reason for not making it something shorter is that e.g. Herwig++ or Sherpa can have long initialisation times to set up the MPI handler or to run the matrix element integration. An timeout after an hour is still better than a batch job which runs for two days before you realise that you forgot to generate any events!
- Fixing unbooked-histo segfault in UA1_1990_S2044935 at 63 GeV.
- Fixes in ATLAS_2010_CONF_083, declaring it validated
- New option
SmoothLineforHISTOGRAMsections inmake-plots - Changed
CustomTickstoCustomMajorTicksand addedCustomMinorTicksinmake-plots. - Update the documentation to explain this latest bump to path lookup behaviours.
- Various improvements to existing path lookups. In particular, the analysis lib path locations are added to the info and ref paths to avoid having to set three variables when you have all three file types in the same personal plugin directory.
- Adding
setAnalysisLibPathsandaddAnalysisLibPathfunctions.rivet --analysis-path{,-append}now use these and work correctly. Hurrah! - Change
LegendXPosbehaviour in make-plots. Now the top left corner of the legend is used as anchor point.
[1.4.0] - 2010-12-03
Added
- Add bin-skipping to compare-histos to avoid one use of
rivet-rmgaps(it’s still needed for non-plotting post-processing like Professor).
Fixed
- Fix normalisation issues in UA5 and ALEPH analyses
- Fix error in N_effective definition for weighted profile errors.
Changed
MathUtils.hh: AddingfuzzyGtrEqualsandfuzzyLessEquals, and tidying up the math utils collection a bit.- CDF 1994 colour coherence analysis overhauled and correction/norm factors fixed. Moved to VALIDATED status.
- Adding programmable completion for
aida2flatandflat2aida. - Improvements to programmable completion using the neat _filedir completion shell function which I just discovered.
- Tweak to floating point inRange to use
fuzzyEqualsfor CLOSED interval equality comparisons. - Some BibTeX generation improvements, and fixing the ATLAS dijet BibTeX key.
- Resolution upgrade in PNG
make-plotsoutput. CDF_2005_S6217184.cc, CDF_2008_S7782535.cc: Updates to use the new per-jetJetAlginterface (and some other fixes).JetAlg.cc: Changed the interface on request to return per-jet rather than per-event jet shapes, with an extra jet index argument.MathUtils.hh: Addingindex_between(...)function, which is handy for working out which bin a value falls in, given a set of bin edges.Cmp.hh: Adding ASC/DESC (and ANTISORTED) as preferred non-EQUIVALENT enum value synonyms over misleading SORTED/UNSORTED.- Change of rapidity scheme enum name to
RapScheme - Reworking
JetShapea bit further: constructor args now avoid inconsistencies (it was previously possible to define incompatible range-ends and interval). Internal binning implementation also reworked to use a vector of bin edges: the bin details are available via the interface. The general jet pT cuts can be applied via theJetShapeconstructor. MathUtils.hh: Adding linspace and logspace utility functions. Useful for defining binnings.- Adding more general cuts on jet pT and (pseudo)rapidity.
- Adding special handling of
FourMomentum::mass()for computed zero-mass vectors for which mass2 can go (very slightly) negative due to numerical precision. - Adding ATLAS-CONF-2010-083 conference note. Data is read from plots. When I run Pythia 6 the bins close to pi/2 are higher than in the note, so I call this “unvalidated”. But then … the note doesn’t specify a tune or even just a version for the generators in the plots. Not even if they used Pythia 6 or Pythia 8. Probably 6, since they mention AGILe.
- Adding a
JetAlg::useInvisibles(bool)mechanism to allow ATLAS jet studies to include neutrinos. Anyone who chooses to use this mechanism had better be careful to remove hard neutrinos manually in the providedFinalStateobject. - Adding ATLAS-CONF-2010-049 conference note. Data is read from plots. Fragmentation functions look good, but I can’t reproduce the MC lines (or even the relative differences between them) in the jet cross-section plots. So consider those unvalidated for now. Oh, and it seems ATLAS screwed up the error bands in their ratio plots, too. They are upside-down.
- Adding ATLAS-CONF-2010-081 conference note. Data is read from plots.
- Deprecating the old
JetShapeprojection and renaming toClosestJetShape: the algorithm has a tenuous relationship with that actually used in the CDF (and ATLAS) jet shape analyses. CDF analyses to be migrated to the new JetShape projection… and some of that projection’s features, design elements, etc. to be finished off: we may as well take this opportunity to clear up what was one of our nastiest pieces of code. - Adding ATLAS-CONF-2010-031 conference note. Data is read from plots.
- Making
rivet-buildpluginuse the same C++ compiler andCXXFLAGSvariable as used for the Rivet system build. - Fixing
NeutralFinalStateprojection to, erm, actually select neutral particles (by Hendrik). - Allow passing a general
FinalStatereference to theJetShapeprojection, rather than requiring aVetoedFS. - Adding a
--with-rootflag to rivet-buildplugin to add root-config –libs flags to the plugin build command.
[1.3.0] - 2010-09-24
Added
- Adding MC_GENERIC analysis. NB. Frank Siegert also added MC_HJETS.
- Adding rivet-nopy: a super-simple Rivet C++ command line interface which avoids Python to make profiling and debugging easier.
- Adding graceful exception handling to the AnalysisHandler event loop methods.
- Adding an explicit library dependency declaration on libHepMC, and hence removing the -lHepMC from the rivet-config –libs output.
- Adding a manual section on use of Rivet (and AGILe) as libraries, and how to use the -config scripts to aid compilation.
- Add @brief Doxygen comments to all analyses, projections and core classes which were missing them.
- Adding
--epspngoption tomake-plots(and converting to usesubprocess.Popen). - Adding protection and warning about numerical precision issues in jet mass calculation/histogramming to the MC_JetAnalysis analysis.
- Adding relative scale ratio plot flag to
compare-histos - Adding
--analysis-pathand--analysis-path-appendcommand-line flags to therivetscript, as a “persistent” way to set or extend theRIVET_ANALYSIS_PATHvariable. - Adding plotinfo entries for new jet rapidity and jet mass plots in MC_JetAnalysis derivatives.
- Adding BibKey and BibTeX entries to analysis metadata files, and updating doc build to use them rather than the time-consuming SPIRES screen-scraping. Added SPIRES BibTeX dumps to all analysis metadata using new (uninstalled & unpackaged) doc/get-spires-data script hack.
bin/root2flat: Adding this little helper script, minimally modified from one which Holger Schulz made for internal use in ATLAS.- Adding
ToDo,NeedsCrossSection, and better treatment ofBeamsandEnergiesentries in metadata files and inAnalysisInfoandAnalysisinterfaces.
Removed
- Remove obsolete reference to InitialQuarks from DELPHI_2002
- Removing check for
CEDARSTD#defineguard, since we no longer compile against AGILe and don’t have to be careful about duplication. - Removing defunct and unused KtJets and Configuration classes.
Fixed
- Fix normalisation in CDF_2000_S4155203
- Fix misleading help comment in configure.ac
- Fixing
compare-histostreatment of what is now a ref file, and speeding things up… again. What a mess! - Fixing a couple of references to temporary variables in the analysis beam info, which had been introduced during refactoring: have reinstated reference-type returns as the more efficient solution. This should not affect API compatibility.
- Small fix to TinyXML operator precendence: removes a warning, and I think fixes a small bug.
- Fixing factor-of-2 bug in the error calculation when scaling histograms.
- Fixing D0_2001_S4674421 analysis.
- Fixing LaTeX problems (make-plots) on ancient machines, like lxplus.
- Fixing (I hope!) the treatment of weighted profile bin errors in LWH.
Changed
- Bundling
underscore.styto fix problems with runningmake-plotson dat files generated bycompare-histosfrom AIDA files with underscores in their names. - Changing
compare-histosbehaviour to always show plots for which there is at least one MC histo. The default behaviour should now be the correct one in 99% of use cases. - Merging in a fix for
shared_ptrsnot being compared for insertion into a set based on raw pointer value. - FastJets projection now allows setting of a jet area definition, plus a hacky mapping for getting the area-enabled cluster sequence. Requested by Pavel Starovoitov & Paolo Francavilla.
- Minimising amount of
Logclass mapped into SWIG. - Making Python ext build checks fail with error rather than warning if it has been requested (or, rather, not explicitly disabled).
- Converting
rivetPython module to be a package, with the dlopen flag setting etc. done around the SWIG generated core wrapper module (rivet.rivetwrap). - Requiring Python >= 2.4.0 in Rivet scripts (and adding a Python
version checker function to
rivetmodule) - Converting JADE_OPAL analysis to use the fastjet
exclusive_
ymerge_*max*function, rather than justexclusive_ymerge: everything looks good now. It seems that fastjet >= 2.4.2 is needed for this to work properly. - Making
rivet-buildpluginlook in its own bin directory when trying to findrivet-config. - Numerical precision improvement in calculation of
Vector4::mass2. - Extended command completion to
rivet-config,compare-histos, andmake-plots. - Providing protected log messaging macros,
MSG_{TRACE,DEBUG,INFO,WARNING,ERROR}cf. Athena. - Adding environment-aware functions for Rivet search path list access.
- Using
.infofile beam ID and energy info in HTML and LaTeX documentation. - Using
.infofile beam ID and energy info in command-line printout. - Making SWIG configure-time check include testing for
incompatibilities with the C++ compiler (re. the recurring
const
char*literals issue). - Various tweaks to scripts:
make-plotsandcompare-histosprocesses are now renamed (on Linux),rivet-configis avoided when computing the Rivet version,andRIVET_REF_PATHis also set using therivet --analysis-path*flags.compare-histosnow uses multiple ref data paths for.aidafile globbing. - Hendrik changed
VetoedFinalStatecomparison to always returnUNDEFINEDif vetoing on the results of other FS projections is being used. This is the only simple way to avoid problems emanating from theremainingFinalStatething. - Changing
-Q/-Vscript verbosity arguments to more standard-q/-v, after Hendrik moaned about it ;) - Moving MC_JetAnalysis base class into a new
libRivetAnalysisToolslibrary, with analysis base class and helper headers to be stored in the reinstatedRivet/Analysesinclude directory. - Moving crappy closest approach and decay significance functions from
UtilsintoSVertex, which is the only place they have ever been used (and is itself almost entirely pointless). - Overhauling particle ID <-> name system to clear up
ambiguities between enums, ints, particles and beams. There are no more
enums, although the names are still available as
const static ints, and names are now obtained via a singleton class which wraps an STL map for name/ID lookups in both directions. - Replacing
TotalVisibleMomentumwithMissingMomentumin analyses andWFinder. Using vector ET rather than scalar ET in some places. - Revamping the
AnalysisHandlerconstructor and data writing, with some LWH/AIDA mangling to bypass the stupid AIDA idea of having to specify the sole output file and format when making the data tree. PreferredAnalysisHandlerconstructor now takes only one arg – the runname – and there is a newAH.writeData(outfile)method to replaceAH.commitData(). Doing this now to begin migration to more flexible histogramming in the long term. - Hiding some internal details from Doxygen.
bin/make-plots: real support for 2-dim histograms plotted as colormaps, updated the documentation accordingly.- Using spiresbib in rivet-mkanalysis: analysis templates made with rivet-mkanalysis will now contain a SPIRES-dumped BibTeX key and entry if possible!
- Updating metadata files to add
Energies,BeamsandPtCutsentries to all of them. - Frank Siegert: Update of
rivet-mkhtmlto conform to improvedcompare-histos. - Frank Siegert: LWH output in precision-8 scientific notation, to solve a binning precision problem… the first time we’ve noticed a problem!
- Improved treatment of data/reference datasets and labels in
compare-histos. - Rewrite of
rivet-mkanalysisin Python to make way for neat additions. - Improving SWIG tests, since once again the user’s build system must include SWIG (no test to check that it’s a ‘good SWIG’, since the meaning of that depends on which compiler is being used and we hope that the user system is consistent… evidence from Finkified Macs and bloody SLC5 notwithstanding).
[1.2.1] - 2010-03-23
Added
- Adding
MissingMomentumprojection, as replacement for ~all uses of now-deprecatedTotalVisibleMomentumprojection. - Adding
UNUSEDmacro to help with places where compiler warnings can’t be helped.
Fixed
- Fixing bug with
TotalVisibleMomentumprojection usage in MC_SUSY analysis.
Changed
- General tidying of return arguments and intentionally unused
parameters to keep
-Wextrahappy (some complaints remain from TinyXML, FastJet, and HepMC). - Some extra bug fixes: in
FastJetsprojection with explicit plugin argument, removing muon veto cut on FoxWolframMoments. - Turning on
-Wextrawarnings, and fixing some violations. - Frank Siegert fixed major bug in
pTminparam passing to FastJets projection. D’oh: requires patch release.
[1.2.0] - 2010-03-02
Added
- Add HepData URL to metadata print-out with
rivet --show-analysis - Add tests for “stable” heavy flavour hadrons in jets (rather than just testing for c/b hadrons in the ancestor lists of stable jet constituents)
- Add
make pycleanmake target at the top level to make it easier for developers to clean their Python module build when the API is extended. - New option
RatioPlotMode=deviationinmake-plots. - New option
MainPlotinmake-plots. For people who only want the ratio plot and nothing else. - New option
ConnectGapsinmake-plots. Set to 1 if you want to connect gaps in histograms with a line whenErrorBars=0. Works both inPLOTand inHISTOGRAMsections. - Adding more beam configuration features to
BeamandAnalysisHandler: thesetRunBeams(...)methods on the latter now allow a beam configuration for the run to be specified without using theRunclass. - Identify use of unvalidated analyses with a warning message at runtime.
- Providing
Analysis::sqrtS()andAnalysis::beams(), and making sure they’re available by the time the init methods are called. - Adding passing of first event sqrt(s) and beams to analysis handler.
- Adding
crossSectionPerEvent()method [== crossSection()/sumOfWeights()] toAnalysis. Useful for histogram scaling since numerator of sumW_passed/sumW_total (to calculate pass-cuts xsec) is cancelled by dividing histo by sumW_passed. - Adding lists of analyses’ histograms (obtained by scanning the plot info files) to the LaTeX documentation.
- Adding checking system to ensure that
Projections aren’t registered before the init phase of analyses. - Adding
Cmp<double>specialisation, usingfuzzyEquals(). - Adding consistence checking on beam ID and sqrt(s) vs. those from first event.
- Adding more assertion checks to linear algebra testing.
- Adding analysis info files for MC SUSY and PHOTONJETUE analyses.
- Adding MC UE analysis in photon+jet events.
- Adding new
NeutralFinalStateprojection. Note that this final state takes E_T instead of p_T as argument (makes more sense for neutral particles). Thecompare()method does not yet work as expected (E_T comparison still missing). - Adding new
MergedFinalStateprojection. This merges two final states, removing duplicate particles. Duplicates are identified by looking at thegenParticle(), so users need to take care of any manually added particles themselves. - New
ShowZerooption inmake-plots - (Huge) overhaul of
ProjectionHandlersystem to use shared_ptr: projections are now deleted much more efficiently, naturally cleaning themselves out of the central repository as they go out of scope. - New analysis STAR_2006_S6500200 (pion and proton pT spectra in pp collisions at 200 GeV). It is still unclear if they used a cut in rapidity or pseudorapidity, thus the analysis is declared “UNDER DEVELOPMENT” and “DO NOT USE”.
- Adding parsing of units in cross-sections passed to the
-xflag, i.e.-x 101 mbis parsed internally into 1.01e11 pb. - Adding triggers and other tidying to (still unvalidated) UA1_1990 analysis.
- Adding trigger implementations as projections for CDF Runs 0 & 1, and for UA5.
- Adding generic SUSY validation analysis, based on plots used in ATLAS Herwig++ validation.
- Adding sorted particle accessors to
FinalState(cf.JetAlg). - Adding optional use of args as regex match expressions with
-l/--list-analyses. - Adding
WFinderandWAnalysis, based on Z proj and analysis, with some tidying of the Z code. - Adding YAML metadata files and parser, removing same metadata from the analysis classes’ source headers.
- Adding
Jet::hadronicEnergy() - Adding VisibleFinalState and automatically using it in
JetAlgprojections. - Adding YAML parser for new metadata (and eventually ref data) files.
- Adding
Jet::neutralEnergy()(andJet::totalEnergy()for convenience/symmetry). - Adding
RivetHepMC.hh, which defines container-type accessors to HepMC particles and vertices, making it possible to use Boostforeachand hence avoiding the usual huge boilerplate for-loops. - Adding
--disable-pdfmanualoption, to make the bootstrap a bit more robust.
Removed
- Removing use of
PVertexfrom few remaining analyses. Still used bySVertex, which is itself hardly used and could maybe be removed… - Disabling DELPHI_2003_WUD_03_11 in the Makefiles, since I don’t trust the data.
- Removing lib extension passing to compiler from the configure
script, because Macs and Linux now both use
.soextensions for the plugin analysis modules. - Removing/merging headers for all analyses except for the special MC_JetAnalysis base class.
Fixed
- Fix average Et plot in UA1 analysis to only apply to the tracker acceptance (but to include neutral particle contributions, i.e. the region of the calorimeter in the tracker acceptance).
- Fix muon veto in CDF_1994_S2952106, CDF_2005_S6217184, CDF_2008_S7782535, and D0_2004_S5992206
- Many fixes to OPAL_2004.
- Fixing division by zero in
Profile1Dbin errors for bins with just a single entry. - Fixing trigger efficiency in CDF_2009_S8233977
- Fixing typos / non-existing bins in CDF_2001_S4751469 and CDF_2004_S5839831 reference data
- Fixing our
compare()for doubles. - Fixing last issues in STAR_2006_S6500200 and setting it to VALIDATED.
- Fixing histogram division code.
- Fixing
compare()inNeutralFinalStateandMergedFinalState - Fixing normalisation issue with stacked histograms in make-plots.
- CDF_2009_S8233977: Updating data and axes labels to match final paper. Normalise to cross-section instead of data.
- Fixing Cheese-3 plot in CDF 2004… at last!
- Fixing most open issues with the STAR_2009_UE_HELEN analysis. There is only one question left, regarding the away region.
- Fixing definition of UA5 trigger to not be intrinscally different for pp and ppbar: this is corrected for (although it takes some readng to work this out) in the 1982 paper, which I think is the only one to compare the two modes.
- Fixing Jet’s
containsBottomandcontainsCharmmethods, since B hadrons are not necessarily to be found in the final state. Discovered at the same time thatHepMC::GenParticledefines a massively unhelpful copy constructor that actually loses the tree information; it would be better to hide it entirely! - Fixing CDF_2004 min/max cone analysis to use calo jets for the leading jet Et binning. Thanks to Markus Warsinsky for (re)discovering this bug: I was sure it had been fixed. I’m optimistic that this will fix the main distributions, although Swiss Cheese “minus 3” is still likely to be broken. Early tests look okay, but it’ll take more stats before we can remove the “do not trust” sign.
- Bug fix in MC leading jets analysis, and general tidying of leading jet analyses to insert units, etc. (should not affect any current results)
Changed
- Updates to manual, manual generation scripts, analysis info etc.
- Use Et rather than pT in filling the scalar Et measure in
TotalVisibleMomentum. - Fixes to UA1 normalisation (which is rather funny in the paper).
- Update
WFinderto not place cuts and other restrictions on the neutrino. - Change analysis loader behaviour to use ONLY
RIVET_ANALYSIS_PATHlocations if set, otherwise use ONLY the standard Rivet analysis install path. Should only impact users of personal plugin analyses, who should now explicitly setRIVET_ANALYSIS_PATHto load their analysis… and who can now create personal versions of standard analyses without getting an error message about duplicate loading. - Eliminated global variables for coordinates in
make-plotsand enabled multithreading. AnalysisHandler::executenow callsAnalysisHandler::init(event)if it has not yet been initialised.- Updating JADE_OPAL to do the histo booking in
init(), sincesqrtS()is now available at that stage. - Renaming and slightly re-engineering all
MC_*_*analyses to not be collider-specific (now theAnalysis::sqrtS/beams()) methods mean that histograms can be dynamically binned. - Creating
RivetUnvalidated.soplugin library for unvalidated analyses. Unvalidated analyses now need to be explicitly enabled with a--enable-unvalidatedflag on the configure script. - Various min bias analyses updated and validated.
- Propagate SPECIAL and HISTOGRAM sections from .plot files through compare-histos
- STAR_2006_S6860818:
vs particle mass, validate analysis - Use scaling rather than normalising in DELPHI_1996: this is generally desirable, since normalizing to 1 for 1/sig dsig/dx observables isn’t correct if any events fall outside the histo bounds.
- Improved
Hemispheresinterface to remove unnecessary consts on returned doubles, and to also return non-squared versions of (scaled) hemisphere masses. - Restructuring running to only use one HepMC input file (no-one was
using multiple ones, right?) and to break down the
Runclass to cleanly separate the init and event loop phases. End of file is now neater. - Adding parsing of beam types and pairs of energies from YAML.
- Using shared pointers to make I/O object memory management neater and less error-prone.
- Clean-up of
Particleclass and provision of inlinePID::functions which take aParticleas an argument to avoid having to explicitly call theParticle::pdgId()method. - First working version of STAR_2006_S6860818
- Adding missing CDF_2001_S4751469 plots to uemerge
- Improving lots of plot defaults
- Zeroth version of STAR_2006_S6860818 analysis (identified strange particles). Not working yet for unstable particles.
- Adding separate jet-oriented and photon-oriented observables to MC PHOTONJETUE analysis.
- Normalise STAR_2006_S6870392 to cross-section
- Overhaul of jet caching and
ParticleBaseinterface. - Now that the
ProjHandlerisn’t full of defunct pointers (which tend to coincidentally point to newProjectionpointers rather than undefined memory, hence it wasn’t noticed until recently!), use of a duplicate projection name is now banned with a helpful message at runtime. - Set the default split-merge value for SISCone in our FastJets projection to the recommended (but not Fastjet-default!) value of 0.75.
- Getting STAR_2009_UE_HELEN to work.
- Moving projection setup and registration into
init()method for remaining analyses. - Moving projection setup and registration into
init()method for analyses from ALEPH, CDF and theMC_group. - Passing GSL include path to compiler, since its absence was breaking builds on systems with no GSL installation in a standard location (such as SLC5, for some mysterious reason!)
- Adding analysis info file path search with
RIVET_DATA_PATHvariable (and using this to fix doc build.) - Improvements to
AnalysisLoaderpath search. - Moving analysis sources back into single directory, after a proletarian uprising ;)
ClusteredPhotonsnow uses anIdentifiedFSto pick the photons to be looped over, and only clusters photons around charged signal particles.- Splitting analyses by directory, to make it easier to disable building of particular analysis group plugin libs.
- Exit with an error message if
addProjectionis used twice from the same parent with distinct projections. - Changed naming convention for analysis plugin libraries, since the loader has changed so much: they must now start with the word “Rivet” (i.e. no lib prefix).
- Split standard plugin analyses into several plugin libraries: these will eventually move into separate subdirs for extra build convenience.
- Started merging analysis headers into the source files, now that we can (the plugin hooks previously forbade this).
- Replacement of analysis loader system with a new one based on ideas from ThePEG, which uses dlopen-time instantiation of templated global variables to reduce boilerplate plugin hooks to one line in analyses.
- Replacing in-source histo-booking metadata with
.plotfiles. - Making Python wrapper files copy into place based on bundled versions for each active HepMC interface (2.3, 2.4 & 2.5), using a new HepMC version detector test in configure.
- Tidying and small efficiency improvements in CDF_2008_S7541902
W+jets analysis (remove unneeded second stage of jet storing, sorting
the jets twice, using
foreach, etc.). - Re-enabling D0IL in FastJets: adding 10^-10 to the pTmin removes the numerical instability!
- Providing “calc” methods so that
ThrustandSphericityprojections can be used as calculators without having to use the projecting/caching system.
[1.1.3] - 2009-06-09
Added
- Added
psycoPython optimiser torivet,make-plotsandcompare-histos.
Removed
- Removed all mentions of the FastJet JADE patch and the
HAVE_JADEpreprocessor macro. - Removing argument to
vetoEventmacro, since no weight subtraction is now needed. It’s now just an annotated return, with built-in debug log message. - Removing incorrect setting of DPS x-errs in CDF_2008 jet shape analysis: the DPS autobooking already gets this bit right.
- Removing redundant rotation in
DISKinematics… this was a legacy of Peter using theta rather than pi-theta in his rotation. - Deleting Rivet implementations of
TrackJetandD0ILConeJets: the code from these has now been incorporated into FastJet 2.4.0.
Fixed
- Fix phi rotation in CDF_2008_LEADINGJETS.
- Fix the paths for linking such that our own libraries are found
before any system libraries, e.g. for the case that there is an outdated
fastjetversion installed on the system while we want to use our own up-to-date version. - Fix to
hepmc.i(included byrivet.i) to ignore new HepMC 2.5.0b GenEvent stream operator.
Changed
- More doc building and SWIG robustness tweaks.
- Make doc build from metadata work even before the library is installed.
- Disabling D0 IL midpoint cone (using CDF modpoint instead), since there seems to be a crashing bug in FastJet’s implementation: we can’t release that way, since ~no D0 analyses will run.
- Putting SWIG-generated source files under SVN control to make life easier for people who we advise to check out the SVN head version, but who don’t have a sufficiently modern copy of SWIG to
- Adding the
--disable-analysesoption, for people who just want to use Rivet as a framework for their own analyses. - Enabling HepMC cross-section reading, now that HepMC 2.5.0 has been released.
- Using
gsl-configto locatelibgsl - Change
dmergetoymergein the e+e- analyses using JADE or DURHAM from fastjet. That’s what it is called in fastjet-2.4 now. - Adding use of
gsl-configin configure script. - Adding an “open”
FinalState, which is only calculated once per even, then used by all other FSes, avoiding the loop over non-status 1 particles. - Using
Jetrather thanFastJet::PseudoJetwhere possible, as it means that the phi ranges match up nicely betweenParticleand theJetobject. The FastJet objects are only really needed if you want to do detailed things like look at split/merge scales for e.g. diff jet rates or “y-split” analyses. - Tidying and debugging CDF jet shape analyses and jet shape plugin… ongoing, but I think I’ve found at least one real bug, plus a lot of stuff that can be done a lot more nicely.
- Fully removing deprecated math functions and updating affected analyses.
- Adding convenience
phi,rho,eta,theta, andperp,perp2methods to the 3 and 4 vector classes. - Adding event auto-rotation for events with one proton… more complete approach?
- Renaming CDF_2008_NOTE_9337 to CDF_2009_S8233977.
- Numerous small bug fixes in ALEPH_1996_S3486095.
- Adding data for one of the Rick-Field-style STAR UE analyses.
- Adding
rivet-mkanalysisscript, to make generating new analysis source templates easier. - Adding null vector check to
Vector3::azimuthalAngle(). - Fixing definition of HCM/Breit frames in DISKinematics, and adding asserts to check that the transformation is doing what it should.
- Removing eta and Et cuts from CDF 2000 Z pT analysis, based on our
reading of the paper, and converting most of the analysis to a call of
the
ZFinderprojection. - Support non-default seed_threshold in CDF cone jet algorithms.
- New analyses STAR_2006_S6870392 and STAR_2008_S7993412. In STAR_2008_S7993412 only the first distribution is filled at the moment. STAR_2006_S6870392 is normalised to data instead of the Monte Carlo cross-section, since we don’t have that available in the HepMC stream yet.
- Changing
Eventwrapper to copy wholeGenEventsrather than pointers, use std units if supported in HepMC, and run a placeholder function for event auto-orientation. - Removing inclusion of
IsolationToolsheader by analyses that aren’t actually using the isolation tools… which is all of them. Leaving the isolation tools in place for now, as there might still be use cases for them and there’s quite a lot of code there that deserves a second chance to be used! - Bug fix to D0_2008_S6879055 to ensure that cuts compare to both electron and positron momenta (was just comparing against electrons, twice, probably thanks to the miracle of cut and paste).
- Converting all D0 IL Cone jets to use FastJets. Involved tidying
D0_2004 jet azimuthal decorrelation analysis and D0_2008_S6879055 as
part of migration away from using the
getLorentzJetsmethod, and removing the D0ILConeJets header from quite a few analyses that weren’t using it at all. - Updating CDF 2001 to use FastJets in place of
TrackJet, and adding axis labels to its plots. - Note that ZEUS_2001_S4815815 uses the wrong jet definition: it should be a cone but curently uses kT.
- Fixing CDF_2005_S6217184 to use correct (midpoint, R=0.7) jet definition. That this was using a kT definition with R=1.0 was only made obvious when the default FastJets constructor was removed.
- Removing FastJets default constructor: since there are now several good (IRC safe) jet definitions available, there is no obvious safe default and analyses should have to specify which they use.
- Moving FastJets constructors into implementation file to reduce recompilation dependencies, and adding new plugins.
- Ensuring that axis labels actually get written to the output data file.
- Adding explicit FastJet CDF jet alg overlap_threshold constructor param values, since the default value from 2.3.x is now removed in version 2.4.0.
- Removing use of HepMC
ThreeVector::magmethod (in one place only) since this has been removed in version 2.5.0b. - Dependency on FastJet now requires version 2.4.0 or later. Jade algorithm is now native.
- Moving all analysis constructors and
Projectionheaders from the analysis header files into their.ccimplementation files, cutting header dependencies. - Removing AIDA headers: now using LWH headers only, with enhancement to use axis labels. This facility is now used by the histo booking routines, and calling the booking function versions which don’t specify axis labels will result in a runtime warning.
- Adding
$(DESTDIR)prefix to call to Python modulesetup.py install - Moving HepMC SWIG mappings into Python Rivet module for now: seems to work-around the SL type-mapping bug.
- Adding MC analysis for LHC UE: higher-pT replica of Tevatron 2008 leading jets study.
- Adding CDF_1990 pseudorapidity analysis.
- Moving CDF_2001 constructor into implementation file.
- Cleaning up CDF_2008_LEADINGJETS a bit, e.g. using foreach loops.
- Adding function interface for specifying axis labels in histo bookings. Currently has no effect, since AIDA doesn’t seem to have a mechanism for axis labels. It really is a piece of crap.
- Adding docs “make upload” and other tweaks to make the doc files fit in with the Rivet website.
- Improving LaTeX docs to show email addresses in printable form and to group analyses by collider or other metadata.
- Adding doc script to include run info in LaTeX docs, and to make HTML docs.
- Removing
WZandhprojection, which wasn’t generator independent and whose sole usage was already replaced byZFinder. - Improvements to constructors of
ZFinderandInvMassFS. - Changing
ExampleTreeto use real FS-based Z finding. - Allow the
-Hhisto file spec to give a full name if wanted. If it doesn’t end in the desired extension, it will be added. - Adding
--runnameoption (and API elements) to choose a run name to be prepended as a “top level directory” in histo paths. An empty value results in no extra TLD. - Adding R=0.2 photon clustering to the electrons in the CDF 2000 Z pT analysis.
- Fixing use of
fastjet-configto not use the user’sPATHvariable. - Fixing SWIG type table for HepMC object interchange.
- Adding use of new metadata in command line analysis querying with the rivet command, and in building the PDF Rivet manual.
- Adding extended metadata methods to the
Analysisinterface and the Python wrapper. All standard analyses comply with this new interface. - Adding usefully-scoped config headers, a
Rivet::version()function which uses them, and installing the generated headers to fix “external” builds against an installed copy of Rivet. The version() function has been added to the Python wrapper. - Removing ROOT dependency and linking. Woo! There’s no need for this
now, because the front-end accepts no histo format switch and we’ll just
use
aida2rootfor output conversions. Simpler this way, and it avoids about half of our compilation bug reports from 32/64 bit ROOT build confusions. - Adding automatic generation of LaTeX manual entries for the standard analyses.
- Removing RivetGun and TCLAP source files!
bin/aida2root: Added “-” -> “_” mangling, following requests.
[1.1.2] - 2009-01-17
Added
- Added
Particlecomparison functions for sorting. - Added the two missing observables to the CDF_2008_NOTE_9337 analysis, i.e. track pT and sum(ET). There is a small difference between our MC output and the MC plots of the analysis’ author, we’re still waiting for the author’s comments.
- Added searching of
$RIVET_REF_PATHfor AIDA reference data files. - Added unchecked ratio plots to D0 Run II jet + photon analysis.
- Added D0 inclusive photon analysis.
- Added D0 Z rapidity analysis.
- Added ~complete set of
JetandFourMomentumsorting functors. - Added
IdentifiedFinalState. - Added quark enum values to
ParticleName. - Added D0 W charge asymmetry and D0 inclusive jets analyses.
- Added D0 Z + jet pT and photon + jet pT spectrum analyses.
- Added bash completion for
rivetgun. - Added CDF_2002_S4796047: CDF Run-I charged multiplicity distribution
- Added DELPHI_2003_WUD_03_11: Delphi 4-jet angular distributions. There is still a problem with the analysis, so don’t use it yet. But I need to commit the code because my laptop is broken …
- Added momentum construction functions from FastJet
PseudoJets. - Added
AnalysisHandler::commitData()method, to allow the Python interface to write out a histo file without having to know anything about the histogramming API. - Added Doxygen to the build with target
dox - Added if-zero-return-zero checking to angle mapping functions, to avoid problems where 1e-19 gets mapped on to 2 pi and then fails boundary asserts.
- Added
HistoHandlersingleton class, which will be a central repository for holding analyses’ histogram objects to be accessed via a user-chosen name. - Added extra histos and filling to Acosta analysis - all HepData histos should now be filled, depending on sqrt{s}. Also trialling use of LaTeX math mode in titles.
- Added AIDA headers to the install list, since external (plugin-type) analyses need them to be present for compilation to succeed.
- Added command line repetition to logging.
- Added
mkprefixes andx/setXconvention to math classes. - Added better tests for Boost headers.
- Added testing for
-ansi,-pedanticand-Wallcompiler flags. - Added TASSO, SLD and D0_2008 reference data. The TASSO and SLD papers aren’t installed or included in the tarball since there are currently no plans to implement these analyses.
- Added Rivet namespacing to vector, matrix etc. classes. This required some re-writing and the opportunity was taken to move some canonical function definitions inside the classes and to improve the header structure of the Math area.
- Added Rivet namespace to Units.hh and Constants.hh.
- Added Doxygen
@briefflags to analyses. - Added “RIVET_” namespacing to all header guards.
- Added first version of the CDF_2008_DRELLYAN analysis described on
http://www-cdf.fnal.gov/physics/new/qcd/abstracts/UEinDY_08.html There
is a small difference between the analysis and this implementation, but
it’s too small to be visible. The
fpythia-cdfdrellyan.paramsparameter file is for this analysis. - Added first version of the CDF_2008_MINBIAS analysis described on
http://www-cdf.fnal.gov/physics/new/qcd/abstracts/minbias_08.html The
.aidafile is read from the plots on the web and will change. I’m still discussing some open questions about the analysis with the author. - Added First versions of
splitJetandfilterJetmethods tofastjet.cc. Not yet tested, buyer beware. - Added extra sorted
JetsandPseudojetsmethods toFastJets, and addedptminargument to theJetAlggetJets()method, requiring a change toTrackJet. - Added DELPHI_2002_069_CONF_603 analysis
- Added
InitialQuarksprojection - Added OPAL_1998_S3780481 analysis
- Added (a subset of) Boost headers, particularly the smart pointers.
- Added autopackage spec files.
- Added a
registerClonedProjection(...)method toProjectionHandler: this is needed so that cloned projections will have valid pointer entries in theProjectHandlerrepository. - Added
clone()methods to all projections (need to use this, since the templatednew PROJ(proj” approach to cloning can’t handle object polymorphism. - Added Rivet-specific exceptions in place of
std::runtime_error. - Added error handling for requested analyses with wrong case convention / missing name.
- Added
RivetGun.HepMClogging of HepMC event details. - Added
--versionflag on config scripts andrivetgun. - Added proper
getEtSum()toJet. - Added
Et2()member and function toFourMomentum. - Added
aida2flatconversion script. - Added pT distribution histos to CDF 2001 UE analysis.
- Added
--enable-jadeflag for Professor studies with patched FastJet. - Added
Analysis::vetoEvent(e)function, which keeps track of the correction to the sum of weights due to event vetoing in analysis classes. - Added
Analysis::scale()function to scale 1D histograms.Analysis::normalize()uses it internally, and the DELPHI (A)EEC, whose histo weights are not pure event weights, and normalised usingscale(h, 1/sumEventWeights). - Added EEC and AEEC to the DELPHI_1996_S3430090 analysis. The normalisation of these histograms is still broken (ticket #163).
- Added angle range fix to pseudorapidity function (thanks to Piergiulio Lenzi).
- Added caching of the analysis bin edges from the AIDA file - each
analysis object will now only read its reference file once, which
massively speeds up the
rivetgunstartup time for analyses with large numbers of autobooked histos (e.g. the DELPHI_1996_S3430090 analysis). - Added
LossyFinalStateandHadronicFinalState, and fixed a “polarity” bug in the charged final state projection (it was keeping only the uncharged particles). - Added bash color escapes to the logger system.
- Added
JetAlgbase projection forTrackJet,FastJetetc. - Added checking for Boost library, and the standard Boost test
program for
shared_ptr. - Added forward declarations of GSL diagonalisation routines, eliminating need for GSL headers to be installed on build machine.
- Added
AxesDefinitionbase interface toSphericityandThrust, used byHemispheres. - Added automatic DPS booking.
- Added new reference files.
- Added newly built HepML and AIDA reference files for current analyses.
- Added more functionality to the
rivet-configscript: now haslibdir,includedir,cppflags,ldflagsandldlibsoptions. - Added the analysis library closer function to the
AnalysisHandlerfinalize()method, and also moved the analysis delete loop intoAnalysisHandler::finalize()so as not to try deleting objects whose libraries have already closed. - Added HepEx0505013 analysis and
JetShapeprojection (some fixes by AB.) - Added
GetLorentzJetsmember function to D0 RunII cone jet projection - Added
isEmpty()method to final state projection. - Added testing for empty final state and useful debug log messages to sphericity projection.
- Added
Hemispheresprojection, which calculates event hemisphere masses and broadenings. - Added an explicit copy-assignment operator to
Particle:the absence of one of these was responsible for the double-delete error. - Added a “fuzzy equals” utility function for float/double types to Utils.hh (which already contains a variety of handy little functions).
- Added
ChargedFinalStateprojection and de-pointered the containedFinalStateprojection inVetoedFinalState. - Added extra methods to thrust and sphericity projections to get the oblateness and the sphericity basis (currently returns dummy axes since I can’t yet work out how to get the similarity transform eigenvectors from CLHEP)
- Added pT ranges to Vetoed final state projection
- Added leptons to the ExampleTree.
- Added
TotalVisibleEnergyprojection, and added output toExampleTree. - Added a charged-lepton projection
- Added (but haven’t properly tested) a
VetoedFinalStateprojection. - Added
normalize()method for AIDA 1D histograms. - Added configure checking for Mac OS X version, and setting the development target flag accordingly.
- Added an ostream method for
AnalysisNameenums. - Added beam pair combining to the
BeamPairsets ofProjectionsby finding set meta-intersections. - Added methods to
Cuts,AnalysisandProjectionto makeCutdefinition easier. - Added more control of logging presentation via static flag methods on Log.
- Added self-consistency checking mechanisms for Cuts and Beam
- Added auto-booking of histogram bins from AIDA XML files. The AIDA
files are located via a C++ function which is generated from
RivetPaths.cc.inby running configure. - Added a preliminary version of the Rick Field UE analysis, under the name PRD65092002.
- Added
BeamConstraintmechanism, which can be used to determine if an analysis is compatible with the beams being used in the generator. TheParticleNameincludes an “ANY” wildcard for this purpose. - Added
rivetexecutable which can read in HepMC ASCII dump files and apply Rivet analyses on the events. - Added analysis enum, which can be used as input to an analysis factory by Rivet users.
Removed
- Removed Boost headers: now a system dependency.
- Removed accidental reference to an “FS” projection in
FinalStateHCM’s compare method.rivetgun -Anow works again. - Removed unused HepML reference files.
- Removed unused mysterious Perl scripts!
- Removed charged+neutral versions of histograms and projections from DELPHI analysis since they just duplicate the more robust charged-only measurements and aren’t really of interest for tuning.
- Removed some unwanted
DEBUGstatements, and lowered the level of some infrastructureDEBUGs toTRACElevel. - Removed HepPID, HepPDT and Boost dependencies.
- Removed
rivetexecutable - HepMC file reading functionality will move intorivetgun. - Removed charge differentiation from
Multiplicityprojection (use CFS proj) and updated ExampleAnalysis to produce more useful numbers. - Removed conditional
HAVE_FASTJETbits: FastJet is now compulsory. - Removed extra output from autobooking AIDA reader.
- Removed deprecated
Beam::operator().
Fixed
- Fixed
uemerge. The output was seriously broken by a single line of debug information in fillAbove(). Also changeduemergeoutput to exponential notation. - Fixed a caching bug in Jet: cache flag resets should never be conditional, since they are then sensitive to initialisation errors.
- Fix floating point number output format in
aida2flatandflat2aida - Fix in CDF 2001 pT spectra to get the normalisations to depend on the pT_lead cutoff.
- Fixed some g++ 4.3 compilation bugs, including
vectornot being a valid name for a method which returns a physics vector, since it clashes withstd::vector(which we globally import). Took the opportunity to rationalise theJetinterface a bit, since “particle” was used to meanFourMomentum, andParticletypes required a call togetFullParticle. I removed thegetsat the same time, as part of our gradual migration to a coherent naming policy. - Fixed Et sorting in Acosta analysis.
- Fixed missing ROOT compile flags for
libRivet. - Fixed wrong flags on
rivet-config - Fixed polar angle calcuation to use
atan2. - Fixed definition of
FourMomentum::pT(it had been returningpT2) - Fixed missing namespace in vector/matrix testing.
- Fixed
polarRadiusinfinite loop. - Fixed definitions of
mapAngleMPiToPi, etc. and used them to fix theJet::getPhimethod. - Fixed processing of “RG” parameters to ensure that invalid iterators are never used.
- Fixed ambiguity in
TrackJetalgorithm as to how the iteration continues when tracks are merged into jets in the inner loop. - Fixed anomalous factor of 2 in LWH conversion from
Profile1DtoDataPointSet. - Fixed projection slicing issues with Field UE analysis.
- Fixed another misplaced factor of bin width in the
Analysis::normalize()method. - Fixed the conversion of IHistogram1D to DPS, both via the explicit
Analysis::normalize()method and the implicitAnalysisHandler::treeNormalize()route. The root of the problem is the AIDA choice of the word “height” to represent the sum of weights in a bin: i.e. the bin width is not taken into account either in computing bin height or error. - Fixed XML entity encoding in LWH. Updated CDF_2007_S7057202 analysis to not do its own XML encoding of titles.
- Fixed several bugs in
FinalState,ChargedFinalState,TrackJetand Field analysis. - Fixed
dylibdlopenon Mac OS X. - Fixed bug in
configure.acwhich led to explicitCXXsetting being ignored. - Fixed segfaulting bug due to use of
addProjection()in locally-scoped contained projections. This isn’t a proper fix, since the whole framework should be designed to avoid the possibility of bugs like this. - Fixed possible null-pointer dereference in
Particlecopy constructor and copy assignment: this removes one of two blocker segfaults, the other of which is related to the copy-assignment of theTotalVisMomentumprojection in theExampleTreeanalysis. - Fixed portable path to Rivet
sharedirectory. - Fixed lots if bugs and bad practice in HepEx0505013 (to make it compile-able!)
- Fixed some bugs in the root output for
DataPoint.h - Fixed initialization of
VetoedFinalStateProjectionin ExampleTree - Fixed bug in PRD65092002 (was failing on zero jets)
- Fixed default fall-through in cut handling switch statement and now
using
-numeric_limits<double>::max()rather thanmin()
Changed
Converting Python build system to bundle SWIG output in tarball.
Converting AIDA/LWH
dividefunction to return a DPS so that bin width factors don’t get all screwed up. Analyses adapted to use the new division operation (a DPS/DPS divide would also be nice… but can wait for YODA).bin/make-plots: Added--pngoption for making PNG output files, usingconvert(after making a PDF — it’s a bit messy)bin/make-plots: Added--epsoption for output filtering throughps2eps.Python: reworking Python extension build to use
distutilsand newer m4 Python macros. Probably breaksdistcheckbut is otherwise more robust and platform independent (i.e. it should now work on Macs).make-plots: Multi-threaded make-plots and cleaned up the LaTeX building a bit (necessary to remove the implicit single global state).make-plots: Made LaTeX run in no-stop mode.compare-histos: Updated to use a nicer labelling syntax on the command line and to successfully build MC-MC plots.Made LWH bin edge comparisons safe against numerical errors.
Removing most bad things from ExampleTree and tidying up. Marked
WZandhprojection for removal.Overloading use of a
std::setin the interface, since the version of SWIG on Sci Linux doesn’t have a predefined mapping for STL sets.Unified ref and mc histos in
compare-histos. Histos with one bin are plotted linear. Option for disabling the ratio plot. Several fixes for labels, legends, output directories, …Changed
rivetgun’s fallback directory for parameter files to $PREFIX/share/AGILe, since that’s where the steering files now are.Running
aida2flatin split mode now produces make-plots compatible dat-files for direct plotting.Replaced
binrelocwith an upgraded and symbol-independent copy.Removing “get”s and other obsfucated syntax from
ProjectionApplier(ProjectionandAnalysis) interfaces.Using new “global” Jet and
V4sorting functors inTrackJet. Looks like there was a sorting direction problem before…Verbose mode with
--list-analysesnow shows descriptions as well as analysis names.Moved data/Rivet to data/refdata and moved data/RivetGun contents to AGILe (since generator steering is no longer a Rivet thing)
Tidied up constructor interface and projection chain implementation of
InvMassFinalState.Moved a lot of
TrackJetandJetcode into.ccfiles.Rationalised
JetAlginterfaces somewhat, withsize()andjets()methods in the interface.Adding D0 inclusive Z pT shape analysis.
Lots of tidying up of particle, event, particle name etc.
Now the first event is used to detect the beam type and remove incompatible analyses.
Starting to provide stand-alone call methods on projections so they can be used without the caching infrastructure. This could also be handy for unit testing.
Adding functionality (sorting function and built-in sorting schemes) to the
JetAlginterface.Renamed CDF_2008_MINBIAS to CDF_2008_NOTE_9337, since the note is publicly available now.
Code review: lots of tidying up of projections and analyses.
Fixes for compatibility with the LLVM C & C++ compiler.
Change of
Particleinterface to remove “get”-prefixed method names.Adding ability to query analysis metadata from the command line.
Example of a plugin analyis now in plugindemo, with a
make checktest to make sure that the plugin analysis is recognised by the command linerivettool.GCC 4.3 fix to mat-vec tests.
Adding native logger control from Python interface.
Adding
bash_completionforrivetexecutable.Clean-up of histo titles and analysis code review.
Auto-booking of histograms with a name, rather than the HepData ID 3-tuple is now possible.
rivethandles signals neatly, as for rivetgun, so that premature killing of the analysis process will still result in an analysis file.rivetnow accepts cross-section as a command line argument and, if it is missing and is required, will prompt the user for it interactively.rivet(Python interface) now can list analyses, check when adding analyses that the given names are valid, specify histo file name, and provide sensibly graded event number logging.Corrections to CDF 2004 analysis based on correspondance with Joey Huston. Min bias dbns now use whole event within |eta| < 0.7, and Cheese plots aren’t filled at all if there are insufficient jets (and the correct ETlead is used).
Reduced SWIG interface file to just map a subset of
AnalysisandAnalysisHandlerfunctionality. This will be the basis for a new command-line interface.Converted FastJets plugin to use a Boost
shared_pointerto the cachedClusterSequence. The nullness of the pointer is now used to indicate an empty tracks (and hence jets) set. Once FastJet natively support emptyCSeqs, we can rewrite this a bit more neatly and ditch theshared_ptr.The CDF_2004 (Acosta) data file now includes the full range of pT for the min bias data at both 630 and 1800 GeV. Previously, only the small low-pT insert plot had been entered into HepData.
Lots of updates to CDF_2004 (Acosta) UE analysis, including sorting jets by E rather than Et, and factorising transverse cone code into a function so that it can be called with a random “leading jet” in min bias mode. Min bias histos are now being trial-filled just with tracks in the transverse cones, since the paper is very unclear on this.
Discovered a serious caching problem in
FastJetsprojection when an empty tracks vector is passed from theFinalState. Unfortunately, FastJet provides no API way to solve the problem, so we’ll have to report this upstream. For now, we’re solving this for CDF_2004 by explicitly vetoing events with no tracks.Moved detection of whether cross-section information is needed into the AnalysisHandler, with dynamic computation by scanning contained analyses.
Improved robustness of event reading to detect properly when the input file is smaller than expected.
New analysis: CDF_2000_S4155203
rivetguncan now be built and run withoutAGILe. Based on a patch by Frank Siegert.Some preliminary numbers for the CDF_2008_LEADINGJETS analysis (only transverse region and not all observables. But all we have now.)
Breaking up the mammoth “generate” function, to make Python mapping easier, among other reasons.
Allowing
rivet-config to return combined flags.Tidying of FastJets and added new data files from HepData.
FastJets now uses
user_indexproperty offastjet::PseudoJetto reconstruct PID information in jet contents.Reworking of param file and command line parsing. Tab characters are now handled by the parser, in a way equivalent to spaces.
More data files for CDF analyses (2 x 2008, 1 x 1994), and moved the RivetGun
AtlasPythia6.paramsfile to more standardfpythia-atlas.params(and added to the install list).Reduced size of available options blocks in RivetGun help text by removing “~” negating variants (which are hardly ever used in practice) and restricting beam particles to
PROTON,ANTIPROTON,ELECTRONandPOSITRON.Included the missing numbers and three more observables in the CDF_2008_NOTE_9351 analysis.
Renamed CDF_2008_DRELLYAN to CDF_2008_NOTE_9351. Updated numbers and cuts to the final version of this CDF note.
Updated DELPHI_2002_069_CONF_603 according to information from the author
Improvements to
aida2flat: now can produce one output file per histo, and there is a-g“gnuplot mode” which comments out the AIDA/make_plotheaders to make the format readable by gnuplot.Import
boost::assignnamespace contents into the Rivet namespace — provides very useful intuitive collection initialising functions.Trialling use of “foreach” loop in CDF_2004: it works! Very nice.
Merged Giulio Lenzi’s isolation/vetoing/invmass projections and D0 2008 analysis.
Modified FastJet to fix ysplit and split and filter.
Modified ExampleTree to show how to call them.
Updated AIDA reference files, changing
/HepDataroot path to/REF. Still missing a couple of reference files due to upstream problems with the HepData records.rivetgunnow handles termination signals (SIGTERM,SIGINTandSIGHUP) gracefully, finishing the event loop and finalising histograms. This means that histograms will always get written out, even if not all the requested events have been generated.distcheckcompatibility fixes and autotools tweaks.Converted FastJet to use Boost
smart_ptrfor its plugin handling, to solve double-delete errors stemming from the heap cloning of projections.Moved projection-applying functions into
ProjectionApplierbase class (from whichProjectionandAnalysisboth derive).New analysis PDG_Hadron_Multiplicities
flat2aidaconverterNew analysis DELPHI_1995_S3137023. This analysis contains the xp spectra of Xi+- and Sigma(1385)+-.
Improved logging interface: log levels are now integers (for cross-library compatibility and level setting also applies to existing loggers.
Improvements to robustness of ROOT checks.
New
UnstableFinalStateprojection which selects all hadrons, leptons and real photons including unstable particles.In the DELPHI_1996_S3430090 analysis the multiplicities for pi+/pi- and p0 are filled, using the
UnstableFinalStateprojection.FastJets projection now protects against the case where no particles exist in the final state (where FastJet throws an exception).
AIDA file writing is now separated from the
AnalysisHandler::finalizemethod… API users can choose what to do with the histo objects, be that writing out or further processing.Increased default tolerances in floating point comparisons as they were overly stringent and valid f.p. precision errors were being treated as significant.
Implemented remainder of Acosta UE analysis.
Merged in major “ProjectionHandler” branch. Projections are now all stored centrally in the singleton
ProjectionHandlercontainer, rather than as member pointers in projections and analyses. This also affects theapplyProjectionmechanism, which is now available as a templated method onAnalysisandProjection. Still a few wrinkles need to be worked out.The branch changes required a comprehensive review of all existing projections and analyses: lots of tidying up of these classes, as well as the auxiliary code like math utils, has taken place. Too much to list and track, unfortunately!
Started second CDF UE analysis (“Acosta”): histograms defined.
Profile histograms now use error computation with proper weighting, as described here: http://en.wikipedia.org/wiki/Weighted_average
Minor fixes to LCG tag generator and gfilt m4 macros.
Vector<N>and derived classes now initialise to have zeroed components when the no-arg constructor is used.Many fixes to the DELPHI_1996_S3430090 analysis: bugfix in the calulation of eigenvalues/eigenvectors in
MatrixDiag.hhfor the sphericity, rewrite of Thrust/Major/Minor, fixed scaled momentum, hemisphere masses, normalisation in single particle events, final state slicing problems in the projections forThrust,SphericityandHemispheres.Applied fixes and extensions to DIS classes, based on submissions by Dan Traynor.
Made projection pointers used for cut combining into const pointers. Required some redefinition of the
Projection*comparison operator.Temporarily added
FinalStatemember toChargedFinalStateto stop projection lifetime crash.Beam projection now uses HepMC
GenEvent::beam_particles()method to get the beam particles. This is more portable and robust for C++ generators, and equivalent to the existing “first two” method for Fortran generators.Changed autobooking plot codes to use zero-padding (gets the order right in JAS, file browser, ROOT etc.). Also changed the ‘ds’ part to ‘d’ for consistency. HepData’s AIDA output has been correspondingly updated, as have the bundled data files.
Tidied up
JetShapeprojection a bit, including making the constructor params const references. This seems to have sorted the runtime segfault in the CDF_2005 analysis.CDF_2001_S4751469 now uses the
LossyFinalStateprojection, with an 8% loss rate.Now using
isatty(1)to determine whether or not color escapes can be used. Also removed--colorargument, since it can’t have an effect (TCLAP doesn’t do position-based flag toggling).Made Python extension build optional (and disabled by default).
include/LWH/ManagedObject.h: Fixed infinite loop inencodeForXMLcf. ticket #135.Changed units header to set GeV = 1 (HepMC convention) and using units in CDF UE analysis.
Introduced analysis metadata methods for all analyses (and made them part of the Analysis interface).
Got basic Python interface running - required some tweaking since Python and Rivet’s uses of dlopen collide (another RTLD_GLOBAL issue - see http://muttley.hates-software.com/2006/01/25/c37456e6.html )
Replaced all use of KtJets projection with FastJets projection. KtJets projection disabled but left undeleted for now. CLHEP and KtJet libraries removed from configure searches and
Makefileflags.Param file loading now falls back to the
share/RivetGundirectory if a local file can’t be found and the provided name has no directory separators in it.Converted TrackJet projection to update the jet centroid with each particle added, using pT weighting in the eta and phi averaging.
Merged all command line handling functions into one large parse function, since only one executable now needs them. This removes a few awkward memory leaks.
Now using HepMC IO_GenEvent format (IO_Ascii and IO_ExtendedAscii are deprecated). Now requires HepMC >= 2.3.0.
Introduced
binrelocfor runtime path determination.Completed move to new analysis naming scheme.
Merging appropriate RivetGun parts into Rivet. RivetGun currently broken.
Renaming analyses to Spires-ID scheme: currently of form
S<SpiresID>, to become<Expt>_<YYYY>_<SpiresID>.Merged replacement vectors, matrices and boosts into trunk.
src/Analysis.cc, include/Rivet/Analysis.hh: Introducednormalizefunction. See ticket #126.Tagging as 1.0b2 for HERA-LHC meeting.
Exposed
BinaryCutclass, improved its interface and fixed a few bugs. It’s now used byVetoedFinalStatefor momentum cuts.Improved a few features of the build system
Including
Logging.hhinProjection.hh, hence new transitive dependency onLogging.hhbeing installed. Since this is the normal behaviour, I don’t think this is a problem.Replaced the
RivetPaths.cc.inmethod for portable paths with something using-Ddefines - much simpler!Downclassed the log messages from the Test analysis to
DEBUGlevel.Major bug fixes to the regularised version of the sphericity projection (and hence the Parisi tensor projection). Don’t trust C & D param results from any previous version!
Merged in a branch of pluggable analysis mechanisms.
include/Rivet/**/Makefile.am: No longer installing headers for “internal” functionality.include/Rivet/Projections/*.hh: Removed the private restrictions on copy-assignment operators.include/LWH/Tree.h: Fixed minor bug inlistObjectNames.include/LWH/DataPointSet.h: FixedsetCoordinatefunctions so that they resize the vector ofDataPointsif it initially was empty.include/LWH/DataPoint.h: Added constructor taking a vector of measurements.include/LWH/Tree.h: Implemented thelistObjectNamesandlsfunctions.include/Rivet/Projections/FinalStateHCM.hh``, include/Rivet/Projections/VetoedFinalState.hh: removed_theParticlesand corresponding access function. Use base class variable instead.include/Rivet/Projections/FinalState.hh: Made_theParticlesprotected.src/Projections/FinalStateHCM.cc, src/Projections/DISKinematics.cc: Equality checks usingGenParticle::operator==changed to check for pointer equality.include/Rivet/Analysis/HepEx9506012.hh: Uses modified DISLepton projection.include/Rivet/Particle.hh: Added member function to check if a GenParticle is associated.include/Rivet/Projections/DISLepton.hh, src/Projections/DISLepton.cc: Fixed bug in projection. Introduced final state projection to limit searching for scattered lepton. Still not properly tested.include/Rivet/Projections/PVertex.hh, src/Projections/PVertex.cc: Fixed the projection to simply get thesignal_process_vertexfrom theGenEvent. This is the way it should work. If theGenEventdoes not have asignal_process_vertexproperly set up in this way, the problem is with the class that fills theGenEvent.Merged
TotalVisibleMomentumandCalMETinclude/Rivet/Projections/KtJets.*: Make sure the KtEvent is deleted properly.src/Analysis/HepEx0409040.cc: Changed range of the histograms to the “pi” range rather than the “128” range.src/Analysis/Analysis.cc: Fixed a bug in the AIDA path building. Histogram auto-booking now works.src/Analysis/HepEx9506012.cc: Now uses the histogram booking function in the Analysis class.Converted Analyses and Projections to use projection lists, cuts and beam constraints.
Re-implemented the cut-handling part of
RivetInfoas aCutsclass.Changed names of
AnalysisandProjectionname()andhandler()methods togetName()andgetHandler()to be more consistent with the rest of the public method names in those classes.src/Analysis/HepEx0409040.cc: The reason this did not compile under gcc-4 is that some iterators into a vector were wrongly assued to be pointers and were initialized to 0 and later compared to 0. I’ve changed this to initialize toend()of the corresponding vector and to compare with the sameend()later.Lots of name changes in anticipation of the MCNet school.
RivetHandleris nowAnalysisHandler(since that’s what it does!),BeamParticlehas becomeParticleName, andRivetInfohas been split intoCutandBeamConstraintportions.src/Projections/KtJets.cc: Added comparison of member variables incompare()functionall: Merged changes from polymorphic-projections branch into trunk
all: projections and analysis handlers: All projections which uses other projections now has a pointer rather than a copy of those projections to allow for polymorphism. The constructors has also been changed to require the used projections themselves, rather than the arguments needed to construct them.
src/Projections/FinalState.cc, include/Rivet/Projections/FinalState.icc (Rivet), include/Rivet/Projections/FinalState.hh: Added cut in transverse momentum on the particles to be included in the final state.include/LWH/HistogramFactory.h: Fixed divide-by-zero in divide function. Also fixed bug in error calculation in divide function. Introduced checkBin function to make sure two histograms are equal even if they have variable bin widths.include/LWH/Histogram1D.h: Innormalize(double), do not do anything if the sum of the bins are zero to avoid dividing by zero.src/Test/testLWH.cc: Modified to output files using the Tree.configure.ac: RemovedAC_CONFIG_AUX_DIR([include/Rivet/Config])since the directory does not exist anymore.Rivet will now conditionally install the AIDA and LWH headers if it can’t find them when configure’ing.
Started integrating Leif’s LWH package to fulfill the AIDA duties.
Replaced multitude of CLHEP wrapper headers with a single RivetCLHEP.h header.
Introduced
log4cpplogging.Yet more, almost pointless, administrative moving around of things with the intention of making the structure a bit better-defined:
The
RivetInfoandRivetHandlerclasses have been moved fromsrc/Analysisintosrcas they are really the main Rivet interface classes. TheRivet.hheader has also been moved into the “header root”.The build of a single shared library in
libhas been disabled, with the library being built instead insrc.Introduced a minimal subset of the Sherpa math tools, such as
Vector{3,4}D,Matrix, etc. The intention is to eventually cut the dependency on CLHEP.Moving things around: all sources now in directories under
srcAnalysis/Examples/HZ95108.*: Now usesCentralEtHCM. Also set GeV units on the relevant histograms.Projections/CentralEtHCM.*: Making a special class just to get out one number - the summed Et in the central rapidity bin - may seem like an overkill. But in case some one else might need it…Analysis/Examples/HZ95108.*: Added the hz95108 energy flow analysis from HZtool.Projections/DISLepton.*: Since many HERA measurements do not care if we have electron or positron beam, it is now possible to specify lepton or anti-lepton.Projections/Event.*: Added member and access function for the weight of an event (taken from theGenEventobject.weights()[0].Analysis/RivetHandler.*: Now depends explicitly on the AIDA interface. An AIDA analysis factory must be specified in the constructor, where a tree and histogram factory is automatically created. Added access functions to the relevant AIDA objects.Analysis/AnalysisBase.*: Added access to theRivetHandlerand its AIDA factories.configure.ac: Added-I$THEPEGPATH/includetoAM_CPPFLAGS.Config/Rivet.h: Added somestdincludes and usingstd::declaration.Analysis/RivetInfo.*: Fixed some bugs. TheRivetInfofacility now works, although it has not been thoroughly tested.Analysis/Examples/TestMultiplicity.*: Re-introducedFinalStateHCMfor testing purposes but commented it away again.