rivet is hosted by Hepforge, IPPP Durham
The Rivet MC analysis system  2.1.0
Todo List
Group Access jet constituents
Add a constructor from PseudoJet
Member Analysis::_analysisobjects
Make this a map for fast lookup by path?
Member Analysis::addAnalysisObject (AnalysisObjectPtr ao)
2D versions of integrate... defined how, exactly?!?
Member Analysis::analysisObjects () const
Add integrate helpers for 2D histos (defined somehow...)
Member Analysis::bookProfile1D (const std::string &name, size_t nbins, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
Add booking methods which take a path, titles and *a reference Scatter from which to book*
Member Analysis::getAnalysisObject (const std::string &name)
Use this default function template arg in C++11
Member Analysis::getAnalysisObject (const std::string &name) const
Use this default function template arg in C++11
Member Analysis::histoDir () const
Cache in a member variable
Member Analysis::integrate (Histo1DPtr h, Scatter2DPtr s) const
2D versions of scale and normalize...
Member Analysis::needsCrossSection () const
Remove this and require HepMC >= 2.06
Member Analysis::setNeedsCrossSection (bool needed=true)
Remove this and require HepMC >= 2.06
Member 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 AnalysisLoader::_loadAnalysisPlugins ()

Make sure this is an abs path

Sys-dependent path separator instead of "/"

Member ARGUS_1993_S2653028::analyze (const Event &e)
Use better looping
Member ARGUS_1993_S2653028::findDecayProducts (const GenParticle *p, vector< GenParticle * > &pionsA, vector< GenParticle * > &pionsB, vector< GenParticle * > &protonsA, vector< GenParticle * > &protonsB, vector< GenParticle * > &kaons)
Use better looping
Member ARGUS_1993_S2669951::finalize ()
Better to group these by coherent 'if (weightSum_X)' statements?
Member ARGUS_1993_S2669951::findDecayProducts (const GenParticle *p, Particles &unstable)
Use better looping
Member ARGUS_1993_S2789213::analyze (const Event &e)

Use better looping

Replace with Counters and fill one-point Scatters at the end

Member ARGUS_1993_S2789213::finalize ()

Replace with Counters and fill one-point Scatters at the end

Replace with Counters and fill one-point Scatters at the end

Replace with Counters and fill one-point Scatters at the end

Member ARGUS_1993_S2789213::findDecayProducts (const GenParticle *p, Particles &unstable)
Use better looping
Member ATLAS_2010_S8894728::_moments_to_stddev (Profile1DPtr moment_profiles[], Scatter2DPtr target_dps)
Assuming unit weights here! Should use N_effective = sumW**2/sumW2?
Member ATLAS_2011_I926145::init ()

Bare Zs ...

... but dressed Ws?

Member ATLAS_2011_I944826::finalize ()

Replace with normalize()?

Replace with normalize()?

Member ATLAS_2011_I945498::selectJets (const ZFinder *zf, const FastJets *allJets)
Replace with a Cut passed to jetsByPt
Member ATLAS_2011_S9002537::_tmp_h_minus
Will need to register TMP histograms for future histogramming
Member ATLAS_2011_S9002537::_tmp_h_minus
Will need to register TMP histograms for future histogramming
Member ATLAS_2011_S9002537::init ()
Will need to register TMP histograms for future histogramming
Class ATLAS_2011_S9041966
Clean up the debug stuff
Class ATLAS_2011_S9126244
Make sure that temp histos are removed
Member ATLAS_2011_S9126244::finalize ()
Clean up temp histos -- requires restructuring the temp histo struct
Member ATLAS_2011_S9126244::finalizeQ0GapFraction (double totalWeightSum, Scatter2DPtr gapFractionDP, Histo1DPtr vetoPtHist)
Should be convertible to a YODA ~one-liner using toIntegralEfficiencyHisto
Member ATLAS_2011_S9128077::analyze (const Event &event)
It'd be better to avoid duplicating 95% of the code!
Member ATLAS_2012_I1091481::init ()
Initialise and register projections here
Member ATLAS_2012_I1093734::finalize ()

Should the difference always be shown as positive?, i.e. y -> abs(y), etc.

Should the normalization be done _after_ the -ve value treatment?

Should the normalization be done _after_ the -ve value treatment?

Member ATLAS_2012_I1093734::init ()
Declare/book as temporary
Member ATLAS_2012_I1093734::PTMINVALUES [NPTBINS]
Initialize these inline at declaration with C++11
Member ATLAS_2012_I1094568::analyze (const Event &event)

This is a hack -- replace with UnstableFinalState

Use MissingMomentum instead?

Member ATLAS_2012_I1094568::finalizeGapFraction (double total_weight, Scatter2DPtr gapFraction, Histo1DPtr vetoPt)

Should be possible to replace this with a couple of YODA one-lines for diff -> integral and "efficiency division"

Get rid of this and use vetoPt->integral(i+1) when points and bins line up?

Delete vetoPt temp histos: use /TMP system

Member ATLAS_2012_I1118269::analyze (const Event &event)
In future, convert to use built-in 'last B hadron' function
Member ATLAS_2012_I1119557::_h_planarFlow
Commented eccentricity out for now: reinstate
Member ATLAS_2012_I1119557::analyze (const Event &event)
Commented eccentricity out for now: reinstate
Member ATLAS_2012_I1119557::finalize ()
Commented eccentricity out for now: reinstate
Member ATLAS_2012_I1119557::init ()
Commented eccentricity out for now: reinstate
Member ATLAS_2013_I1230812::analyze (const Event &event)
Replace with a Cut passed to jetsByPt
Member ATLAS_2013_I1230812::init ()
Note that Zs are accepted with any rapidity: the cuts are on the e/mu: is this correct?
Member ATLAS_2013_I1243871::analyze (const Event &event)

Why rewrite the jets collection as a vector of pointers?

Use direct kinematics access

Use built-in identification on Particle, avoid HepMC

Use built-in dR < 0.3 Jet tagging, avoid HepMC

Use direct momentum accessor / delta functions

Use built-in b-tagging (dR < 0.3 defn), avoid HepMC

Use direct momentum accessor / delta functions

Use C++11 vector/array initialization

Use YODA bin index lookup tools

Use YODA bin index lookup tools

Member BABAR_2003_I593379::findDecayProducts (const GenParticle *p, vector< GenParticle * > &allJpsi, vector< GenParticle * > &primaryJpsi, vector< GenParticle * > &Psiprime, vector< GenParticle * > &all_chi_c1, vector< GenParticle * > &all_chi_c2, vector< GenParticle * > &primary_chi_c1, vector< GenParticle * > &primary_chi_c2)

Use better looping

Use better looping

Member BABAR_2005_S6181155::findDecayProducts (const GenParticle *p, unsigned int &nstable, unsigned int &npip, unsigned int &npim, unsigned int &nXip, unsigned int &nXim)
Use better looping
Member BABAR_2007_S7266081::findDecayProducts (const GenParticle *p, unsigned int &nstable, Particles &pip, Particles &pim, Particles &Kp, Particles &Km)
Use better looping
Member BELLE_2001_S4598261::analyze (const Event &e)
Use better looping
Member BELLE_2001_S4598261::findDecayProducts (const GenParticle *p, vector< GenParticle * > &pions)
Use better looping
Member BELLE_2006_S6265367::analyze (const Event &e)
Use better looping
Member BELLE_2006_S6265367::findDecayProducts (const GenParticle *p, unsigned int &nstable, unsigned int &npip, unsigned int &npim, unsigned int &np, unsigned int &nap, unsigned int &nKp, unsigned int &nKm, unsigned int &nPhi)
Use better looping
Member CDF_1996_S3108457::analyze (const Event &event)
include gaussian jet energy resolution smearing?
Member CDF_1996_S3108457::init ()
Ratios of mass histograms left out: Binning doesn't work out
Member CDF_1996_S3349578::analyze (const Event &event)
include gaussian jet energy resolution smearing?
Member CDF_2004_S5839831::finalize ()
Take these normalisations from the data histo (it can't come from just the MC)
Member CDF_2006_S6653332::analyze (const Event &event)

Use jet contents rather than accessing quarks directly

Use nicer looping

Use jet contents rather than accessing quarks directly

Use nicer looping

Use jet contents rather than accessing quarks directly

Member CDF_2008_S7540469::analyze (const Event &event)
Make this neater, using the JetAlg interface and the built-in sorting
Member CDF_2008_S7541902::analyze (const Event &event)
This isn't really a histogram: replace with a YODA::Counter when we have one!
Member CDF_2008_S7541902::finalize ()
This special case for 1-to-0 will disappear if we use Counters for all mults including 0.
Member CDF_2008_S7541902::init ()
These would be better off as YODA::Counter until finalize()
Member CDF_2008_S8095620::analyze (const Event &event)

: write out a warning if there are more than two decay products

Use a b-hadron search rather than b-quarks for tagging

Use a b-hadron search rather than b-quarks for tagging

Class CDF_2009_S8057893
Finish!
Member CDF_2009_S8233977::analyze (const Event &evt)
The pT and sum(ET) distributions look slightly different from Niccolo's Monte Carlo plots. Still waiting for his answer.
Member CDF_2010_S8591881_DY::analyze (const Event &e)

Replace with foreach

Replace with PID::isLepton

Replace with PID::isLepton

Member CDF_2010_S8591881_QCD::analyze (const Event &e)
Implement Run II min bias trigger cf. CDF_2009?
Member CentralEtHCM::project (const Event &e)
Generalise rapidity cut value
Member CMS_2011_S9215166::analyze (const Event &event)
"Diffractive" veto should really also veto dijet events?
Member CMS_2012_I1102908::init ()
Can we manage to only register these as they are "really" created in the finalize()?
Member CMS_2012_I941555::init ()
Really?: ZFinder zfinder_dressed_mu_pt(-2.1, 2.1, 20, PID::MUON, 60*GeV, 120*GeV, 0.2, false, true);
Member CMS_2013_I1224539_DIJET::findPtBin (double ptJ)
Use a YODA axis/finder alg when available
Member CMS_2013_I1224539_WJET::findPtBin (double ptJ)
Use a YODA axis/finder alg when available
Member CMS_2013_I1224539_WJET::isBackToBack_wj (const WFinder &wf, const fastjet::PseudoJet &psjet)
We should make FourMomentum know how to construct itself from a PseudoJet
Member CMS_2013_I1224539_ZJET::findPtBin (double ptJ)
Use a YODA axis/finder alg when available
Member CMS_2013_I1224539_ZJET::isBackToBack_zj (const ZFinder &zf, const fastjet::PseudoJet &psjet)
We should make FourMomentum know how to construct itself from a PseudoJet
Member ConstRandomFilter::operator() (const Particle &)
Use a better RNG
Group Convenience access to the effective 4-vector properties
Add a cast operator to FJ3 PseudoJet
Group Convenience access to the effective 4-vector properties
Add a cast operator to FJ3 PseudoJet
Group Convenience access to the effective 4-vector properties
Add a cast operator to FJ3 PseudoJet
Group Convenience access to the effective 4-vector properties
Add a cast operator to FJ3 PseudoJet
Member D0_1996_S3214044::init ()
Use correct jet algorithm
Member D0_1996_S3324664::finalize ()

Understand this!

Prefer to scale rather than normalize, if possible

Prefer to scale rather than normalize, if possible

Member D0_1996_S3324664::init ()
Use correct jet algorithm
Member D0_2008_S6879055::finalize ()
Use integrals of refData()?
Member D0_2008_S7837160::analyze (const Event &event)
Is it correct to multiply the eta sign into the charge to "fold" the plot?
Member D0_2008_S7837160::init ()
Use separate pT and ETmiss cuts in WFinder
Member D0_2008_S7863608::init ()
These clustering arguments look odd: are they ok?
Member D0_2009_S8202443::analyze (const Event &e)

Replace this explicit selection with a Cut

Replace this explicit selection with a Cut

Replace this explicit selection with a Cut

Member DELPHI_2003_WUD_03_11::finalize ()
Scale rather than normalize?
Member E735_1998_S3905616::init ()
E735 trigger?
Member Event::_geNormAlignment ()
Is there an e+ e- convention for longitudinal boosting, e.g. at B-factories? Different from LEP?
Member Event::_init (const GenEvent &ge)

When we can require C++11, constructors can call each other and this can be removed.

Enable this when HepMC has been fixed to allow printing to a stream like the Rivet logger.

Member Event::_originalGenEvent
Provide access to this via an Event::originalGenEvent() method? If requested...
Member Event::weight () const
This needs to be revisited when we finally add the mechanism to support NLO counter-events and weight vectors.
Member FastJets::_init3 (fastjet::JetDefinition::Plugin *plugin)
Should we be copying the plugin?
Member FastJets::_pseudojetsToJets (const PseudoJets &pjets) const
Cache?
Member FastJets::clusterSeqArea () const
Throw error if no area def? Or just blindly call dynamic_cast?
Member FastJets::reset ()
_cseq = fastjet::ClusterSequence();
Member FinalState::compare (const Projection &p) const
HOW DO WE COMPARE CUTS OBJECTS?
Member FinalState::project (const Event &e)
In general, we'd like to calculate a restrictive FS based on the most restricted superset FS.
Member FourMomentum::boostVector () const
Be careful about c=1 convention...
Member FoxWolframMoments::FoxWolframMoments (const FinalState &fsp)
Let the user supply any projection they like?
Member FoxWolframMoments::getFoxWolframMoment (unsigned int l) const
What?!?
Member H1_1994_S2919893::analyze (const Event &event)

Use units in w comparisons... what are the units?

Is this profile meant to be filled with 2 weight factors?

Use angle function

Is this profile meant to be filled with 2 weight factors?

Use angle function

Class H1_1995_S3167097
Make histograms match those in HepData and use autobooking
Member H1_1995_S3167097::finalize ()
Improve this!
Member H1_1995_S3167097::init ()
Convert to use autobooking and correspond to HepData data tables
Member H1_2000_S4129130::finalize ()
Simplify by using normalize() instead? Are all these being normalized to area=1?
Class HeavyHadrons
This assumes that the heavy hadrons are unstable... should we also look for stable ones in case the decays are disabled?
Member HeavyHadrons::project (const Event &e)
What about charm hadrons coming from bottom hadron decays?
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histogram manipulation
Should really be protected: only public to keep BinnedHistogram happy for now...
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Group Histograms
Add jet masses and d(rap)
Member IS_PARTON_PDGID (id)

Use inline PID functions instead

Use inline PID functions instead

Use inline PID functions instead

Member JADE_1998_S3612880::JADE_1998_S3612880 ()
Set whether your finalize method needs the generator cross section
Member Jet::neutralEnergy () const
Jet::containsMatch(Matcher m) { ... if m(pid) return true; ... }
Member 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 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 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 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 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 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 JetShape::calc (const Jets &jets)
Introduce a better (i.e. more safe and general) eta/y selection mechanism: MomentumFilter
Member JetShape::project (const Event &e)
Provide int and diff jet shapes with some sort of area normalisation?
Member LHCB_2011_I917009::finalize ()

Compactify to two one-liners

Compactify to two one-liners

Compactify to two one-liners

Member LHCB_2013_I1208105::analyze (const Event &event)

Can be "diffractive" *and* "hard"?

Can be "diffractive" *and* "hard"?

Member LHCB_2013_I1208105::init ()
Convert to declared/registered temp histos
Member LHCB_2013_I1218996::analyze (const Event &event)
Use PrimaryHadrons to avoid double counting and automatically remove the contributions from unstable?
Member Log::_nostream
Hide this...
Member Log::getColorCode (int level)

Test for VT100 compliance?

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

Member Log::getLevelName (int level)
Do the map::upper_limit thing to find nearest level...
Member MC_DIJET::analyze (const Event &event)
Add jets
Member MC_DIJET::finalize ()
Normalise!
Member MC_HINC::init ()
Urk, abuse! Need explicit HiggsFinder (and TauFinder?)
Member MC_HJETS::init ()
Urk, abuse! Need explicit HiggsFinder (and TauFinder?)
Member MC_HKTSPLITTINGS::init ()
Urk, abuse! Need explicit HiggsFinder (and TauFinder?)
Member MC_PHOTONJETS::analyze (const Event &e)
share IsolatedPhoton projection between all MC_*PHOTON* analyses
Member MC_PHOTONJETUE::analyze (const Event &evt)

Plot evolution of UE as a function of jet-photon angle

Plot evolution of UE as a function of photon pT

Plot evolution of UE as a function of photon pT

Member MC_PRINTEVENT::analyze (const Event &event)
Wouldn't this be nice... if HepMC::IO_AsciiParticles was sane :-/
Member MC_SUSY::analyze (const Event &evt)

Resum photons around electrons

Resum photons around muons

Resum photons around muons

Member MC_SUSY::finalize ()
Normalisations
Member MC_SUSY::init ()
LSP eta, pT, phi, mass: no reliable cross-scenario LSP PID but maybe plot for all of chi^0_1, gravitino, sneutrino, gluino, ... or identify the LSP as any PID::isSUSY (?) particle with status = 1?
Member MC_WWINC::init ()

non-linear?

fuer WW: missing ET

fuer WW: missing ET

Member MC_XS::init ()
Convert to Scatter1D or Counter
Member MC_ZZINC::init ()
non-linear?
Member MergedFinalState::compare (const Projection &p) const
: Currently A+B is not recognised to be the same as B+A.
Member OPAL_1993_S2692198::analyze (const Event &e)
Really want to use a "bar graph" here (i.e. ignore bin width)
Member OPAL_1998_S3780481::analyze (const Event &e)

Yuck... does this *really* have to be quark-based?!?

Use PDG code enums

Use PDG code enums

Member OPAL_2001_S4553896::init ()
Book histograms here, e.g.:
Member OPAL_2004_S6132243::analyze (const Event &event)
This shouldn't be necessary... what's going on? Memory corruption suspected :(
Member Particle::fromBottom () const
Shouldn't a const vertex be being returned? Ah, HepMC...
Member Particle::fromCharm () const
Shouldn't a const vertex be being returned? Ah, HepMC...
Member Particle::fromDecay () const
Shouldn't a const vertex be being returned? Ah, HepMC...
Member Particle::fromTau () const
Shouldn't a const vertex be being returned? Ah, HepMC...
Member Particle::hasAncestor (PdgId pdg_id) const

Neaten this up with C++11, via one waliker function and several uses with lamba tests

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

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

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

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

Class ParticleNames

Add axion, black hole remnant, etc. on demand

Hide this utility class or equiv in an unnamed namespace in a .cc file.

Member ParticleNames::particleId (const std::string &pname)
Isn't there a nicer, pointerless way to do singletons?
Member ParticleNames::particleName (PdgId pid)
Isn't there a nicer, pointerless way to do singletons?
Class 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 PrimaryHadrons::project (const Event &e)
Are hadrons from tau decays "primary hadrons"? I guess not
Group 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!
Member Projection::beamPairs () const
Remove the beam constraints system from projections.
Member ProjectionHandler::_instance
Remove in favour of the static singleton function
Namespace Rivet

Is there a reason that this stuff can't go into Projection.hh?

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

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

Namespace Rivet::@260
Why isn't the math divide() function being found?
Member Rivet::_updateLevels (const Log::LevelMap &defaultLevels, Log::LogMap &existingLogs)

Add single static setLevel

Check ordering - "Foo" should come before "Foo.Bar"

Check ordering - "Foo" should come before "Foo.Bar"

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.
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::nocase_cmp (const std::string &s1, const std::string &s2)
Replace with something from the Boost string library
Member Rivet::operator< (Cuts::Quantity qty, int i)
Can do more here: AbsEtaLess, PtGtr
Member Rivet::particles (const GenEvent &ge)
Add functions from mcutils
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.
Member Rivet::toLower (const std::string &s)
Replace with something from the Boost string library
Member Rivet::toUpper (const std::string &s)
Replace with something from the Boost string library
Member Run::readEvent ()
Clear rather than new the GenEvent object per-event?
Member SFM_1984_S1178091::analyze (const Event &event)
Any trigger?
Member SFM_1984_S1178091::init ()
Corrected to full phase space?
Member SLD_1999_S3743934::analyze (const Event &e)
Can we make this based on hadron flavour instead?
Member SLD_2004_S5693039::finalize ()
Include errors
Member STAR_2006_S6500200::analyze (const Event &event)

Use a binned counter to avoid this bin width cancellation hack

Use a binned counter to avoid this bin width cancellation hack

Member STAR_2008_S7869363::finalize ()
Norm to data!
Member STARRandomFilter::operator() (const Particle &p)
Use a better RNG?
Member TASSO_1990_S2148048::TASSO_1990_S2148048 ()
Set whether your finalize method needs the generator cross section
Member Thrust::_calcThrust (const vector< Vector3 > &fsmomenta)
Improve this --- special directions bad... (a,b,c) _|_ 1/(a^2+b^2) (b,-a,0) etc., but which combination minimises error?
Member UA5_1982_S875503::finalize ()
Why the factor of 2 on Nch for ppbar?
Member UA5_1989_S1926373::init ()
Moments of distributions
Member Vector3::unit () const
What to do in this situation?
Group Vectors for storing the number of particles in the different eta intervals per event.
Is there a better way?
Member 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 VetoedFinalState::project (const Event &e)

Improve!

Use better HepMC iteration

Member WFinder::project (const Event &e)
Restrict missing momentum eta range? Use vectorET()?
Member ZEUS_2001_S4815815::init ()

This is the *wrong* jet def: correct it!

This doesn't seem to correspond to the plots in the paper (SPIRES 4730372)

This doesn't seem to correspond to the plots in the paper (SPIRES 4730372)