Todo List

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

Replace with inheritance-based cut method.

Move this into the projection concrete class.

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 _moments_to_stddev (AIDA::IProfile1D *moment_profiles[], AIDA::IDataPointSet *target_dps)
Assuming unit weights here! Should use N_effective = sumW**2/sumW2? How?

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 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 &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 &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 &e)
Implement Run II min bias trigger cf. CDF_2009?

Member analyze (const Event &evt)

Resum photons around electrons

Resum photons around muons

Resum photons around muons

Member analyze (const Event &e)

Replace with foreach

Replace with PID::isLepton

Replace with PID::isLepton

Member analyze (const Event &event)
Don't we have a neater vector concatenation?

Member analyze (const Event &e)
Data is not corrected for branching fractions.

Member analyze (const Event &event)
Make this neater, using the JetAlg interface and the built-in sorting

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

Member analyze (const Event &event)
This shouldn't be necessary... what's going on? Memory corruption suspected :(

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)
Any trigger?

Member analyze (const Event &e)

Replace with foreach

Replace with PID::isLepton

Replace with PID::isLepton

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

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 &event)
include gaussian jet energy resolution smearing?

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

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?

Class ATLAS_2011_S9041966
Clean up the debug stuff

Class BELLE_2006_S6265367
Apply BELLE hadron selection cuts

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

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 ()
Norm to data!

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 ()
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 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 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!

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 ()
Corrected to full phase space?

Member init ()
Use correct jet algorithm

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

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

Member init ()

non-linear?

fuer WW: missing ET

fuer WW: missing ET

Member init ()
Moments of distributions

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

Member init ()

non-linear?

fuer WW: missing ET

fuer WW: missing ET

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 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 (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 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 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 operator() (const Particle &p)
Use a better RNG?

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

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)
Use acceptance from the FinalState instead

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

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

Member project (const Event &e)
Generalise rapidity cut value

Member project (const Event &e)
Improve!

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?