page Todo List

Todo List

Module analysis_beamcompat

  • Replace with beamsCompatible() with no args (calling beams() function internally) Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()

Module analysis_cbook

  • Add “tmp” flags to book in standard temporary paths

Module analysis_histopaths

  • Add “tmp” flags to return /ANA/TMP/foo/bar paths

Module analysis_manip

  • Should really be protected: only public to keep BinnedHistogram happy for now…

Module analysis_s2book

  • REINSTATE

Module particlebasetutils_pb2bool

  • Move to FourMomentum functions

Module particlebaseutils_kin

  • Add ‘all’ variants Mostly move to functions on FourMomentum

Module particlebaseutils_pb2dbl

  • Move to FourMomentum functions

Module particleutils_pairclass

  • Make versions that work on ParticlePair?

Module ppair_class

  • Make versions that work on PdgIdPair?

Namespace Rivet

  • BinnedHistogram needs to have a list of interbnal members first which then get booked by the analysis. Booking a temporary, and then adding into BinnedHisto is not possible

Member Rivet::add_quad (NUM a, NUM b)

  • When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Member Rivet::add_quad (NUM a, NUM b, NUM c)

  • When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Class Rivet::ALICE::V0Multiplicity< MODE >

  • We should avoid experiment-specific projections and tools as much as possible… Says Leif: on the contrary this is a good thing!

Member Rivet::Analysis::barchart (Histo1DPtr h, Scatter2DPtr s, bool usefocus=false) const

  • Add in-place conversions

Member Rivet::Analysis::bookPercentile (string projName, vector< pair< float, float > > centralityBins, vector< tuple< int, int, int > > ref)

  • Convert to just be called book() cf. others

Member Rivet::Analysis::getOption (std::string optname, bool def) const

  • Make this a template-specialisation… needs to be outside the class body?

Member Rivet::Analysis::normalize (const std::vector< Histo2DPtr > &histos, CounterAdapter norm=1.0, bool includeoverflows=true)

  • Use SFINAE for a generic iterable of Histo2DPtrs

Member Rivet::Analysis::normalize (const Histo2DPtr(&histos)[array_size], CounterAdapter norm=1.0, bool includeoverflows=true)

  • YUCK!

Member Rivet::Analysis::normalize (const std::vector< Histo1DPtr > &histos, CounterAdapter norm=1.0, bool includeoverflows=true)

  • Use SFINAE for a generic iterable of Histo1DPtrs

Member Rivet::Analysis::normalize (const Histo1DPtr(&histos)[array_size], CounterAdapter norm=1.0, bool includeoverflows=true)

  • YUCK!

Member Rivet::Analysis::refData (const string &hname) const

  • SFINAE to ensure that the type inherits from YODA::AnalysisObject?

Member Rivet::Analysis::refData (unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) const

  • SFINAE to ensure that the type inherits from YODA::AnalysisObject?

Member Rivet::Analysis::registerAO (const YODAT &yao)

  • What about if/when we want to make the final objects the Scatter or binned persistent type?

Member Rivet::Analysis::scale (const std::vector< CounterPtr > &cnts, CounterAdapter factor)

  • Use SFINAE for a generic iterable of CounterPtrs

Member Rivet::Analysis::scale (const Histo1DPtr(&histos)[array_size], CounterAdapter factor)

  • YUCK!

Member Rivet::Analysis::scale (const std::vector< Histo1DPtr > &histos, CounterAdapter factor)

  • Use SFINAE for a generic iterable of Histo1DPtrs

Member Rivet::Analysis::scale (const Histo2DPtr(&histos)[array_size], CounterAdapter factor)

  • YUCK!

Member Rivet::Analysis::scale (const CounterPtr(&cnts)[array_size], CounterAdapter factor)

  • YUCK!

Member Rivet::Analysis::scale (const std::vector< Histo2DPtr > &histos, CounterAdapter factor)

  • Use SFINAE for a generic iterable of Histo2DPtrs

Member Rivet::binIndex (NUM val, const CONTAINER &binedges, bool allow_overflow=false)

  • Use std::common_type<NUM1, NUM2>::type x = val; ?

Member Rivet::binIndex (NUM1 val, std::initializer_list< NUM2 > binedges, bool allow_overflow=false)

  • Use std::common_type<NUM1, NUM2>::type x = val; ?

Member Rivet::BinnedHistogram::add (double binMin, double binMax, Histo1DPtr histo)

  • Can we have an “emplace constructor”, passing tuples of bookHisto1D args?

Member Rivet::bwspace (size_t nbins, double start, double end, double mu, double gamma)

  • pdfspace()… from YODA?

Class Rivet::ChargedLeptons

  • This is just electrons and muons, unless you set taus stable!

Member Rivet::contains (const std::string &s, const std::string &sub)

  • Use SFINAE, Boost.Range, or other template trickery for more generic container matching?

Member Rivet::correlation (const vector< NUM > &sample1, const vector< NUM > &sample2)

  • Support multiple container types via SFINAE

Member Rivet::correlation_err (const vector< NUM > &sample1, const vector< NUM > &sample2)

  • Support multiple container types via SFINAE

Member Rivet::Correlators::hVec (int n, int m)

  • In C++14 this can be done much nicer with TMP.

Member Rivet::covariance (const vector< NUM > &sample1, const vector< NUM > &sample2)

  • Support multiple container types via SFINAE

Member Rivet::covariance_err (const vector< NUM > &sample1, const vector< NUM > &sample2)

  • Support multiple container types via SFINAE

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const vector< int > &h1, const vector< int > &h2, const YODA::Scatter2D &hIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const vector< int > &h1, const vector< int > &h2, vector< double > &binIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const vector< int > &h, const YODA::Scatter2D &hIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, vector< double > binIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const YODA::Scatter2D &hIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const vector< int > &h, vector< double > &binIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelatorGap (const string name, const YODA::Scatter2D &hIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::bookECorrelatorGap (const string name, const vector< int > &h, const YODA::Scatter2D &hIn)

  • Rename to book(ECorrPtr, …)

Member Rivet::CumulantAnalysis::ECorrelator::ECorrelator (vector< int > h, vector< double > binIn)

  • Implement functionality for this if needed.

Member Rivet::Cutflows::normalize (double norm, size_t icut=0)

  • Provide a version that takes a vector of norms?

Class Rivet::DeltaRGtr

  • Define dR and dphi functors w.r.t. multiple ref vectors, with “all” or “any” semantics

Member Rivet::DISFinalState::DISFinalState (const Cut &c, BoostFrame boosttype, const DISKinematics &kinematicsp=DISKinematics())

  • Add a second optional Cut argument for post-boost cuts.

Member Rivet::DISFinalState::DISFinalState (BoostFrame boosttype, const Cut &c, const DISKinematics &kinematicsp=DISKinematics())

  • Add a second optional Cut argument for post-boost cuts.

Member Rivet::DISLepton::remainingFinalState () const

  • : re-enable once the interface update to use enums. string reconstructionMode() const { return _lmode; }

Class Rivet::DressedLepton

  • Remove completely – it’s unnecessary and too confusing (esp. between copying & aggregating)

Member Rivet::DressedLepton::addPhoton (const Particle &p, bool momsum=true)

  • Deprecate and override add/setConstituents instead?

Member Rivet::DressedLeptons::DressedLeptons (const FinalState &photons, const FinalState &bareleptons, double dRmax, const Cut &cut=Cuts::open(), bool useDecayPhotons=false, bool useJetClustering=false)

  • Convert second arg to a general ParticleFinder rather than an FS, to allow clustering on to unstables, e.g. taus via TauFinder.

Member Rivet::ELECTRON_EFF_ATLAS_RUN2_LOOSE (const Particle &e)

  • What about faking by jets or non-electrons?

Member Rivet::ELECTRON_EFF_CMS_RUN1 (const Particle &e)

  • Add charge flip efficiency?

Member Rivet::ELECTRON_EFF_CMS_RUN2 (const Particle &e)

  • Currently just a copy of Run 1: fix!

Member Rivet::ELECTRON_RECOEFF_ATLAS_RUN1 (const Particle &e)

  • Include reco eff (but no e/y discrimination) in forward region

Member Rivet::ELECTRON_SMEAR_ATLAS_RUN2 (const Particle &e)

  • Currently just a copy of the Run 1 version: fix!

Member Rivet::ELECTRON_SMEAR_CMS_RUN2 (const Particle &e)

  • Currently just a copy of the Run 1 version: fix!

Member Rivet::Event::applyProjection (PROJ &p) const

  • Can make this non-templated, since only cares about ptr to Projection base class

Member Rivet::FastJets::Algo

  • Move to JetAlg and alias here?

Member Rivet::FastJets::areaDef () const

  • Care needed re. const shared_ptr vs. shared_ptr

Member Rivet::FastJets::clusterSeq () const

  • Care needed re. const shared_ptr vs. shared_ptr

Member Rivet::FastJets::clusterSeqArea () const

  • Care needed re. const shared_ptr vs. shared_ptr

Member Rivet::Fills

  • Why a set rather than a vector? Efficiency???

Member Rivet::filter_discard (const CONTAINER &c, const FN &f, CONTAINER &out)

  • Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase

Member Rivet::filter_discard (const CONTAINER &c, const FN &f)

  • More efficient would be copy_if with back_inserter… Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase

Member Rivet::filter_select (const CONTAINER &c, const FN &f)

  • Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase More efficient would be copy_if with back_inserter … but is that equally container agnostic?

Member Rivet::filter_select (const CONTAINER &c, const FN &f, CONTAINER &out)

  • Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase

Member Rivet::FinalState::accept (const Particle &p) const

  • Rename to _accept or acceptFinal?

Class Rivet::FourVector

  • Add composite set/mk methods from different coord systems

Member Rivet::getDatafilePath (const string &papername)

Member Rivet::getEnvParam (const std::string name, const T &fallback)

  • Should the param name have to be specific to an analysis? Can specialise as an Analysis member fn.

Class Rivet::HeavyHadrons

  • This assumes that the heavy hadrons are unstable… should we also look for stable ones in case the decays are disabled?

Namespace Rivet::HepMCUtils

  • Use MCUtils?

Member Rivet::ifilter_discard (CONTAINER &c, const FN &f)

  • Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase

Member Rivet::ifilter_select (CONTAINER &c, const FN &f)

  • Use const std::function<bool(typename CONTAINER::value_type)>… but need polymorphism for ParticleBase

Member Rivet::isortBy (MOMS &pbs, const CMP &cmp)

  • Add sorting by phi [0..2PI]

Member Rivet::JET_BTAG_ATLAS_RUN1 (const Jet &j)

  • This form drops past ~100 GeV, asymptotically to zero efficiency… really?!

Member Rivet::JET_BTAG_PERFECT (const Jet &j)

  • Need to be able to pass a tag pT threshold? -> functor struct

Member Rivet::JET_CTAG_PERFECT (const Jet &j)

  • Need to be able to pass a tag pT threshold? -> functor struct

Member Rivet::JET_SMEAR_ATLAS_RUN1 (const Jet &j)

  • Also need a JES uncertainty component? Is this the best way to smear? Should we preserve the energy, or pT, or direction?

Member Rivet::JET_SMEAR_ATLAS_RUN2 (const Jet &j)

  • Just a copy of the Run 1 one: improve!!

Member Rivet::JET_SMEAR_CMS_RUN1 (const Jet &j)

  • Just a copy of the suboptimal ATLAS one: improve!!

Member Rivet::JET_SMEAR_CMS_RUN2 (const Jet &j)

  • Just a copy of the suboptimal ATLAS one: improve!!

Member Rivet::JET_SMEAR_IDENTITY (const Jet &j)

  • Modify constituent particle vectors for consistency Set a null PseudoJet if the Jet is smeared?

Member Rivet::JET_TAUTAG_PERFECT (const Jet &j)

  • Need to be able to pass a tag pT threshold? -> functor struct

Class Rivet::JetEffSmearFn

  • Include tagging efficiency functions?

Member Rivet::JetEffSmearFn::sfn

  • Ambiguity re. whether reco eff or a tagging efficiency…

Member Rivet::JetFinder::jets (const JetSelector &selector, const JetSorter &sorter) const

  • Will the vector be efficiently std::move’d by value through this function chain?

Member Rivet::JetFinder::jets (const JetSorter &sorter, const Cut &c=Cuts::open()) const

  • Will the vector be efficiently std::move’d by value through this function chain?

Member Rivet::JetFinder::jets (const Cut &c, const JetSorter &sorter) const

  • Will the vector be efficiently std::move’d by value through this function chain?

Member Rivet::JetShape::project (const Event &e)

  • Provide int and diff jet shapes with some sort of area normalisation?

Member Rivet::linspace (size_t nbins, double start, double end, bool include_end=true)

  • Import the YODA version rather than maintain this parallel version?

Member Rivet::logspace (size_t nbins, double start, double end, bool include_end=true)

  • Import the YODA version rather than maintain this parallel version?

Class Rivet::LorentzTransform

  • Review the active/passive convention choice. Seems counterintuitive now…

Class Rivet::MC_JetAnalysis

Member Rivet::mean (const vector< NUM > &sample)

  • Support multiple container types via SFINAE

Member Rivet::mean_err (const vector< NUM > &sample)

  • Support multiple container types via SFINAE

Member Rivet::median (const vector< NUM > &sample)

  • Support multiple container types via SFINAE

Class Rivet::MergedFinalState

  • Extend to merging many FS projections

Member Rivet::MET_SMEAR_ATLAS_RUN2 (const Vector3 &met, double set)

  • Allow smearing function to access the whole event, since Njet also affects? Or assume encoded in SET?

Member Rivet::METFinder::vectorPt () const =0

  • Currently equivalent to vectorEt

Member Rivet::MissingMomentum::missingMomentum (double mass=0 *GeV) const

  • Change to return a 3-vector with no argument, a 4-vector if a mass arg given

Member Rivet::MissingMomentum::visibleMomentum (double mass=0 *GeV) const

  • Change to return a 3-vector with no argument, a 4-vector if a mass arg given

Member Rivet::MUON_EFF_CMS_RUN2 (const Particle &m)

  • Currently just a copy of Run 1: fix!

Member Rivet::MUON_SMEAR_ATLAS_RUN1 (const Particle &m)

  • Add muon loose/medium/tight ID efficiencies? All around 95-98%… ignore?

Member Rivet::MUON_SMEAR_CMS_RUN2 (const Particle &m)

  • Currently just a copy of the Run 1 version: fix!

Member Rivet::P4_SMEAR_E_GAUSS (const FourMomentum &p, double resolution)

  • Also make jet versions that update/smear constituents?

Member Rivet::Particle::children (const Cut &c=Cuts::OPEN) const

  • isDecayed? How to restrict to physical particles?

Member Rivet::Particle::closestApproach () const

  • Check that this works with all angles

Member Rivet::Particle::stableDescendants (const Cut &c=Cuts::OPEN) const

  • Use recursion through replica-avoiding MCUtils functions to avoid bookkeeping duplicates Insist that the current particle is post-hadronization, otherwise throw an exception?

Class Rivet::Particles

  • Add explicit and implicit conversion to PseudoJets

Member Rivet::Percentile< T >::operator+= (const Percentile< T > &rhs)

  • should this also add the Counter?

Member Rivet::PercentileProjection::PercentileProjection (const SingleValueProjection &sv, const Histo1D &calhist, bool increasing=false)

  • Use mkScatter to pass this to the Scatter2D-calibrated version?

Member Rivet::PHOTON_EFF_ATLAS_RUN1 (const Particle &y)

  • Allow electron misID? What about jet misID?

Member Rivet::PHOTON_EFF_ATLAS_RUN2 (const Particle &y)

  • Allow electron misID? What about jet misID?

Member Rivet::PHOTON_EFF_CMS_RUN1 (const Particle &y)

  • Currently from Delphes Allow electron misID? What about jet misID?

Member Rivet::PHOTON_EFF_CMS_RUN2 (const Particle &y)

  • Currently just a copy of Run 1: fix! Allow electron misID? What about jet misID?

Member Rivet::PHOTON_SMEAR_ATLAS_RUN1 (const Particle &y)

  • Use real photon smearing

Member Rivet::PID::charge3 (int pid)

  • Is this sufficiently general? Why only gluino in g+q+qbar? Better to recurse to the related SM hadron code?

Member Rivet::PID::isBaryon (int pid)

  • This is more correct by the definition, but the PDG’s entries 1212, 1214, 1216, 1218 and 2122, 2124, 2126, 2128 come out as invalid Why this special case with nJ = 0? What are these? Not listed in RPP MC doc…

Member Rivet::PID::isDarkMatter (int pid)

  • Give a more explicit name to clarify that this does not cover all DM particles, e.g. LSP?

Member Rivet::PID::isGraviton (int pid)

  • isSUSYHiggs?

Member Rivet::PID::isMeson (int pid)

  • Remove special-casing for EvtGen

Member Rivet::PID::isResonance (int pid)

  • Also include SUSY, technicolor, etc. etc.? Maybe via a isStandardModel(pid) function, but there are stable BSM particles (in principle)

Member Rivet::PID::isTransportable (int pid)

  • Should exclude neutrinos/LSP, since the ATLAS G4 interface deletes them immediately? What about long-lived particles… could be BSM but need to be transported

Member Rivet::pids (const ParticlePair &pp)

  • Make ParticlePair a custom class instead?

Class Rivet::PrimaryHadrons

  • Also be able to return taus? Prefer a separate tau finder. This assumes that the primary hadrons are unstable… should we also look for stable primary hadrons?

Member Rivet::Projection::addPdgIdPair (PdgId beam1, PdgId beam2)

  • This deserves a better name!

Member Rivet::Projection::beamPairs () const

  • Remove the beam constraints system from projections.

Member Rivet::ProjectionApplier::declare (const std::string &name, const PROJ &proj)

  • Add SFINAE to require that PROJ inherit from Projection

Member Rivet::ProjectionApplier::declare (const PROJ &proj, const std::string &name)

  • Add SFINAE to require that PROJ inherit from Projection

Member Rivet::ProjectionApplier::declareProjection (const PROJ &proj, const std::string &name)

  • Add SFINAE to require that PROJ inherit from Projection

Member Rivet::ProjectionApplier::get (const std::string &name) const

  • Add SFINAE to require that PROJ inherit from Projection

Member Rivet::ProjectionApplier::getProjection (const std::string &name) const

  • Add SFINAE to require that PROJ inherit from Projection

Class Rivet::PromptFinalState

  • Decide how to treat brem photons off prompt leptons – are they also prompt? “Decay” does not change the lepton PID… Use enums for tau, mu, brem

Member Rivet::PseudoJets

  • Make into an explicit container with conversion to Jets and FourMomenta?

Member Rivet::safediv (double num, double den, double fail=0.0)

  • When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Class Rivet::SmearedJets

  • Allow applying a pre-smearing cut so smearing doesn’t need to be applied to below-threshold micro-jets

Member Rivet::SmearedJets::DEFAULT_RIVET_PROJ_CLONE (SmearedJets)

  • How to include tagging effs? Variadic eff/smear fn list? Add a trailing Cut arg cf. SmearedParticles? – wrap into an eff function

Member Rivet::SmearedJets::project (const Event &e)

  • As above… ? Or could use the/an actual clustered b-quark momentum?

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const JetSmearFn &smearFn, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT)

  • Add a tau-tag slot

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT, const initializer_list< JetEffSmearFn > &effSmearFns={})

  • Add a tau-tag slot

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const JetSmearFn &smearFn, const JetEffFn &bTagEffFn, const JetEffFn &cTagEffFn, const JetEffFn &jetEffFn)

  • Add a tau-tag slot

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const vector< JetEffSmearFn > &effSmearFns, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT)

  • Add a tau-tag slot

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const initializer_list< JetEffSmearFn > &effSmearFns, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT)

  • Add a tau-tag slot

Member Rivet::SmearedJets::SmearedJets (const JetFinder &ja, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT, const vector< JetEffSmearFn > &effSmearFns={})

  • Add a tau-tag slot

Member Rivet::SmearedMET::vectorPt () const

  • Currently equivalent to vectorEt

Member Rivet::SmearedParticles::project (const Event &e)

  • Is this a good idea?? What if raw particles are requested?

Member Rivet::SmearedParticles::SmearedParticles (const ParticleFinder &pf, const Cut &c, ARGS… effSmearFns)

  • Wouldn’t it be nice if the Cut could also go after the parameter pack?

Member Rivet::TAU_EFF_CMS_RUN1 (const Particle &t)

  • Needs work; this is just a copy of the Run 2 version in Delphes 3.3.2

Member Rivet::TAU_EFF_CMS_RUN2 (const Particle &t)

  • Needs work; this is the dumb version from Delphes 3.3.2

Member Rivet::TAU_SMEAR_ATLAS_RUN1 (const Particle &t)

  • Currently a copy of the jet smearing Also need a JES uncertainty component? Is this the best way to smear? Should we preserve the energy, or pT, or direction?

Member Rivet::TAU_SMEAR_ATLAS_RUN2 (const Particle &t)

  • Currently a copy of the Run 1 version

Member Rivet::TAU_SMEAR_CMS_RUN1 (const Particle &t)

  • Currently a copy of the crappy ATLAS one

Member Rivet::TAU_SMEAR_CMS_RUN2 (const Particle &t)

  • Currently a copy of the Run 1 version

Class Rivet::TauFinder

  • Convert to a general ParticleFinder, since it’s not a true final state? Needs some care…

Member Rivet::TauFinder::TauFinder (DecayMode decaymode=DecayMode::ANY, const Cut &cut=Cuts::open())

  • What about directness/promptness?

Member Rivet::Taus

  • Make this the canonical name in future

Member Rivet::transform (const CONTAINER1 &in, const std::function< T2(typename CONTAINER1::value_type)> &f)

  • Make the function template polymorphic… or specific to ParticleBase

Member Rivet::TRK_EFF_ATLAS_RUN2 (const Particle &p)

  • Currently just a copy of Run 1: fix!

Member Rivet::TRK_EFF_CMS_RUN2 (const Particle &p)

  • Currently just a copy of Run 1: fix!

Class Rivet::UnstableParticles

  • Convert to a general ParticleFinder since this is explicitly not a final state… but needs care Add a FIRST/LAST/ANY enum to specify the mode for uniquifying replica chains (default = LAST)

Member Rivet::Vector3::azimuthalAngle (const PhiMapping mapping=ZERO_2PI) const

  • Would it be better to return NaN in the null-perp case? Or throw?!

Member Rivet::VetoedFinalState::addDecayProductsVeto (PdgId pid)

  • Need HepMC to sort themselves out and keep vector bosons from the hard vtx in the event record before this will work reliably for all pdg ids

Member Rivet::WFinder::boson () const

  • C++17 std::optional…

Member Rivet::WFinder::constituentLepton () const

  • C++17 std::optional…

Member Rivet::WFinder::WFinder (const FinalState &inputfs, const Cut &leptoncuts, PdgId pid, double minmass, double maxmass, double missingET, double dRmax=0.1, ChargedLeptons chLeptons=ChargedLeptons::PROMPT, ClusterPhotons clusterPhotons=ClusterPhotons::NODECAY, AddPhotons trackPhotons=AddPhotons::NO, MassWindow masstype=MassWindow::M, double masstarget=80.4 *GeV)

  • Revisit AddPhotons::NO as default?

Class Rivet::ZFinder

  • Alias then rename as Dileptons

Updated on 2022-08-07 at 20:17:18 +0100