Todo List

Member _applyVtxTrackCuts (const ParticleVector &, const Vector3 &, FourMomentum)

Replace with inheritance-based cut method.

Move this into the projection concrete class.

Member _calcSpherocity (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 _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 _dpsData
Reduce memory occupancy, or clear after initialisation?

Member _geNormAlignment ()
e+ e- convention? B-factories different from LEP?

Member _histBinEdges
Reduce memory occupancy, or clear after initialisation?

Member _init3 (fastjet::JetDefinition::Plugin &plugin)
Should we be copying the plugin?

Member _instance
Remove in favour of the static singleton function

Member _loadAnalysisPlugins ()

Make sure this is an abs path

Sys-dependent path separator instead of "/"

Member _nbin
Remove statics!

Member _nostream
Hide this...

Member _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 _xmin
Remove statics!

Member 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 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 ALICE_2010_S8624100 ()
Set whether your finalize method needs the generator cross section

Member ALICE_2010_S8625980 ()
Set whether your finalize method needs the generator cross section

Member Analysis
Remove this when all metadata taken from YAML

Member 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 analyze (const Event &event)

Use pT cut in WFinder

Any ETmiss cut?

Any ETmiss cut?

Member analyze (const Event &event)
Add jets

Member analyze (const Event &e)
Implement Run II min bias trigger cf. CDF_2009?

Member analyze (const Event &e)

Replace with foreach

Replace with PID::isLepton

Replace with PID::isLepton

Member 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 analyze (const Event &evt)

Resum photons around electrons

Resum photons around muons

Resum photons around muons

Member analyze (const Event &e)

Apply BELLE hadron selection cuts

Implement sqrtS() for asymm. beams in beam projection

Member analyze (const Event &event)

Allow proj creation w/o FS as ctor arg, so that calc can be used more easily.

Make this neater, using the JetAlg interface and the built-in sorting

Make this neater, using the JetAlg interface and the built-in sorting

Member analyze (const Event &event)
Add reconstruction of the other top from the leptonically decaying W, using WFinder

Member analyze (const Event &e)
Use PDG code enums

Member analyze (const Event &event)
Any trigger?

Member 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 analyze (const Event &event)
include gaussian jet energy resolution smearing?

Member analyze (const Event &e)

Replace with foreach

Replace with PID::isLepton

Replace with PID::isLepton

Member analyze (const Event &event)
include gaussian jet energy resolution smearing?

Member 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

Member analyze (const Event &e)
Implement Run II min bias trigger cf. CDF_2009?

Member analyze (const Event &event)
Copy the permanent histos to get the binnings more robustly

Member analyze (const Event &e)

Put this in an index loop?

Put this in an index loop?

Put this in an index loop?

Member boostVector () const
Be careful about c=1 convention...

Member calc (const Jets &jets)
Introduce a better (i.e. more safe and general) eta/y selection mechanism: MomentumFilter

Member CDF_2009_NOTE_9936 ()

Set approriate for your analysis

Set whether your finalize method needs the generator cross section

Set whether your finalize method needs the generator cross section

Class CDF_2009_S8057893
Finish!

Member clusterSeqArea () const
Throw error if no area def? Or just blindly call dynamic_cast?

Member compare (const Projection &p) const
: Currently A+B is not recognised to be the same as B+A.

Member finalize ()
I would love to use axis().binMidPoint(ibin) here, but this #*&$*^%$ LWH IAxis doesn't have it!!!! It's only in Axis and VariAxis, but doesn't get passed through to the user. I WANT YODA!!! *SIGH*

Member finalize ()
Take these normalisations from the data histo (it can't come from just the MC)

Member finalize ()
Scale rather than normalize?

Member finalize ()
Normalise!

Member finalize ()
Normalisations

Member finalize ()

Replace with autobooking etc. once YODA in place

Replace with autobooking etc. once YODA in place

Replace with autobooking etc. once YODA in place

Member finalize ()
Norm to data!

Member finalize ()
Why the factor of 2 on Nch for ppbar?

Member finalize ()
Automate this sort of thing so that the analysis code is more readable.

Member finalize ()
calculate errors while analysing and fill them here as well

Member finalize ()

Understand this!

Prefer to scale rather than normalize, if possible

Prefer to scale rather than normalize, if possible

Member 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 FoxWolframMoments (const FinalState &fsp)
Let the user supply any projection they like?

Member get2dClosestApproach (const HepMC::GenParticle &track, const Vector3 &vtx3pos)
Whoa! - implicit constructors from hell!

Member getColorCode (int level)

Test for VT100 compliance?

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

Member 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 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 getFoxWolframMoment (unsigned int l) const
What?!?

Member getLevelName (int level)
Do the map::upper_limit thing to find nearest level...

Class H1_1995_S3167097
Check this analysis!

Class Hemispheres

Allow axes to be defined by sphericity: superclass Thrust and Sphericity as AxisDefinition?

Member histoDir () const
This doesn't change: calc and cache at first use!

Group Histograms
Add jet masses and d(rap)

Member init ()
E735 trigger?

Member init ()
Use separate pT and ETmiss cuts in WFinder

Member 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 init ()
Use correct jet algorithm

Member init ()
Ratios of mass histograms left out: Binning doesn't work out

Member init ()
Book histograms here, e.g.:

Member init ()
Corrected to full phase space?

Member init ()

non-linear?

fuer WW: missing ET

fuer WW: missing ET

Member init ()

non-linear?

fuer WW: missing ET

fuer WW: missing ET

Member init ()
Automate this sort of thing so that the analysis code is more readable.

Member 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)

Member init ()
Use correct jet algorithm

Member init ()
Moments of distributions

Member inRange (NUM value, NUM low, NUM high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
Optimise to one-line at compile time?

Member inRange (int value, int low, int high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=CLOSED)
Optimise to one-line at compile time?

Member IS_PARTON_PDGID (id)
Use inline PID functions instead

Member JADE_1998_S3612880 ()
Set whether your finalize method needs the generator cross section

Member 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 jets (F sorter, double ptmin, double, double, double, RapScheme) const
Introduce MomentumFilter objects for pT, ET, eta, y, etc. filtering, to avoid double-arg ambiguities

Member 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 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 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 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 LHCB_2010_S8758301 ()
Set whether your finalize method needs the generator cross section

Member operator() (const Particle &p)
Use a better RNG?

Member operator() (const Particle &)
Use a better RNG

Member project (const Event &e)
Provide int and diff jet shapes with some sort of area normalisation?

Member project (const Event &e)
Improve!

Member project (const Event &e)
Use acceptance from the FinalState instead

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

Member project (const Event &e)
In general, we'd like to calculate a restrictive FS based on the most restricted superset FS.

Member project (const Event &e)
Can this extra rapidity cut be implemented so as to use the cached rapidity result?

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 readEvent ()
Clear rather than new the GenEvent object per-event?

Member reset ()
_cseq = fastjet::ClusterSequence();

Namespace Rivet

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

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

Member setBeams (PdgId beam1, PdgId beam2)
Print out a warning to use setRequiredBeams() instead (and really to use .info files)

Class SVertex

Replace function with a functor to improve equality comparisons.

Member TASSO_1990_S2148048 ()
Set whether your finalize method needs the generator cross section

Member totalEnergy () const
Jet::containsMatch(Matcher m) { ... if m(pid) return true; ... }

Member 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?