Todo List

Module Projection registration
  This is a better form of singleton, which cleans up properly... but it can't yet be used as it highlights a projection memory problem. Please fix so we can use this!
Namespace Rivet

  Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...

  Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...

Member Rivet::Analysis::histoDir () const
  This doesn't change: calc and cache at first use!
Member Rivet::Analysis::setBeams (PdgId beam1, PdgId beam2)
  Print out a warning to use setRequiredBeams() instead (and really to use .info files)
Member Rivet::AnalysisHandler::addAnalysis (const std::string &analysisname)
  Might we want to be able to run an analysis twice, with different params? Requires avoiding histo tree clashes, i.e. storing the histos on the analysis objects.
Member Rivet::CentralEtHCM::project (const Event &e)
  Generalise rapidity cut value
Member Rivet::ConstRandomFilter::operator() (const Particle &)
  Use a better RNG
Member Rivet::FastJets::clusterSeqArea () const
  Throw error if no area def? Or just blindly call dynamic_cast?
Member Rivet::FastJets::reset ()
  _cseq = fastjet::ClusterSequence();
Member Rivet::FinalState::FinalState (const vector< pair< double, double > > &etaRanges, double minpt=0.0 *GeV)
  Properly check whether any of these eta ranges (or their combination) are actually open
Member Rivet::FinalState::project (const Event &e)
  In general, we'd like to calculate a restrictive FS based on the most restricted superset FS.
Member Rivet::FourMomentum::boostVector () const
  Be careful about c=1 convention...
Member Rivet::FoxWolframMoments::FoxWolframMoments (const FinalState &fsp)
  Let the user supply any projection they like?
Member Rivet::FoxWolframMoments::getFoxWolframMoment (unsigned int l) const
  What?!?
Member Rivet::get2dClosestApproach (const HepMC::GenParticle &track, const Vector3 &vtx3pos)
  Whoa! - implicit constructors from hell!
Member Rivet::getDPSXValsErrs (string papername)

  Check that "path" matches filename

  Throw an exception here?

  Rethrow as a general XML failure.

  Throw an exception here?

  Rethrow as a general XML failure.

  Throw an exception here?

  Rethrow as a general XML failure.

Member Rivet::getDPSXYValsErrs (string papername)

  Check that "path" matches filename

  Throw an exception here?

  Rethrow as a general XML failure.

  Throw an exception here?

  Rethrow as a general XML failure.

  Throw an exception here?

  Rethrow as a general XML failure.

Member Rivet::inRange (NUM value, NUM low, NUM high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
  Optimise to one-line at compile time?
Member Rivet::inRange (int value, int low, int high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=CLOSED)
  Optimise to one-line at compile time?
Member Rivet::Jet::neutralEnergy () const
  Jet::containsMatch(Matcher m) { ... if m(pid) return true; ... }
Member Rivet::JetAlg::jets (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetAlg::jets (F sorter, double ptmin, double ptmax, double rapmin, double rapmax, RapScheme rapscheme) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetAlg::jetsByE (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetAlg::jetsByEt (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetAlg::jetsByP (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetAlg::jetsByPt (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const
  Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities
Member Rivet::JetShape::calc (const Jets &jets)
  Introduce a better (i.e. more safe and general) eta/y selection mechanism: MomentumFilter
Member Rivet::JetShape::project (const Event &e)
  Provide int and diff jet shapes with some sort of area normalisation?
Member Rivet::Log::getColorCode (int level)

  Test for VT100 compliance?

  Do the map::upper_limit thing to find nearest level...

Member Rivet::Log::getLevelName (int level)
  Do the map::upper_limit thing to find nearest level...
Member Rivet::MergedFinalState::compare (const Projection &p) const
  : Currently A+B is not recognised to be the same as B+A.
Member Rivet::Particle::fromDecay () const
  Shouldn't a const vertex be being returned? Ah, HepMC...
Member Rivet::Particle::hasAncestor (PdgId pdg_id) const

  Re-enable

  Re-enable

  Shouldn't a const vertex be being returned? Ah, HepMC...

Member Rivet::Run::readEvent ()
  Clear rather than new the GenEvent object per-event?
Class Rivet::SVertex
  Replace function with a functor to improve equality comparisons.
Member Rivet::SVertex::project (const Event &e)
  Use acceptance from the FinalState instead
Member Rivet::Vector3::unit () const
  What to do in this situation?
Member Rivet::VetoedFinalState::addDecayProductsVeto (const long id)
  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::VetoedFinalState::project (const Event &e)
  Improve!
Member Rivet::WFinder::project (const Event &e)
  Restrict missing momentum eta range? Use vectorET()?