- Module 2D scatter booking
- REINSTATE
- Module 2D scatter booking
- REINSTATE
- Module 2D scatter booking
- REINSTATE
- Module 2D scatter booking
- REINSTATE
- Module 2D scatter booking
- REINSTATE
- Module Analysis / beam compatibility testing
Replace with beamsCompatible() with no args (calling beams() function internally)
Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()
- Module Analysis / beam compatibility testing
Replace with beamsCompatible() with no args (calling beams() function internally)
Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()
- Module Analysis / beam compatibility testing
Replace with beamsCompatible() with no args (calling beams() function internally)
Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()
- Module Analysis / beam compatibility testing
Replace with beamsCompatible() with no args (calling beams() function internally)
Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()
- Module Analysis / beam compatibility testing
Replace with beamsCompatible() with no args (calling beams() function internally)
Add beamsMatch() methods with same (shared-code?) tolerance as in beamsCompatible()
- Module Analysis object manipulation
- Should really be protected: only public to keep BinnedHistogram happy for now...
- Module Analysis object manipulation
- Should really be protected: only public to keep BinnedHistogram happy for now...
- Module Analysis object manipulation
- Should really be protected: only public to keep BinnedHistogram happy for now...
- Module Analysis object manipulation
- Should really be protected: only public to keep BinnedHistogram happy for now...
- Module Analysis object manipulation
- Should really be protected: only public to keep BinnedHistogram happy for now...
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module Beam configuration
- Does it really make sense to restrict Projections to particular beam configs? Do we use this in practice?
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module For JetAlg compatibility
- Replace with cuts() accessor virtual Cut cuts() const { return _cuts; }
- Module Histograms
- Add jet masses and d(rap)
- Module Miscellaneous numerical helpers
- Add pair-based versions of the named range-boundary functions
- Module Miscellaneous numerical helpers
- Add pair-based versions of the named range-boundary functions
- Module Nuclei
- Add axion, black hole remnant, etc. on demand
- Module Nuclei
- Add axion, black hole remnant, etc. on demand
- Module Particle pair classifiers
- Make versions that work on PdgIdPair?
- Module Particle pair classifiers
- Make versions that work on PdgIdPair?
- Module particlebasetutils_pb2bool
- Move to FourMomentum functions
- Module particlebaseutils_kin
- Mostly move to functions on FourMomentum
- Module particlebaseutils_pb2dbl
- Move to FourMomentum functions
- Module particleutils_pairclass
- Make versions that work on ParticlePair?
- 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::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::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::scale (const std::vector< Histo2DPtr > &histos, CounterAdapter factor)
- Use SFINAE for a generic iterable of Histo2DPtrs
- Member Rivet::Analysis::scale (const Histo2DPtr(&histos)[array_size], CounterAdapter factor)
- YUCK!
- Member Rivet::Analysis::scale (const Histo1DPtr(&histos)[array_size], CounterAdapter factor)
- YUCK!
- Member Rivet::Analysis::scale (const std::vector< CounterPtr > &cnts, CounterAdapter factor)
- Use SFINAE for a generic iterable of CounterPtrs
- Member Rivet::Analysis::scale (const CounterPtr(&cnts)[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::binIndex (NUM1 val, std::initializer_list< NUM2 > binedges, bool allow_overflow=false)
- Use std::common_type<NUM1, NUM2>::type x = val; ?
- Member Rivet::binIndex (NUM val, const CONTAINER &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)
- geomspace
- 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 Scatter2DPtr hIn)
- Rename to book(ECorrPtr, ...)
- Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const Scatter2DPtr hIn)
- Rename to book(ECorrPtr, ...)
- Member Rivet::CumulantAnalysis::bookECorrelator (const string name, const vector< int > &h, const Scatter2DPtr hIn)
- Rename to book(ECorrPtr, ...)
- Member Rivet::CumulantAnalysis::bookECorrelatorGap (const string name, const vector< int > &h, const Scatter2DPtr hIn)
- Rename to book(ECorrPtr, ...)
- Member Rivet::CumulantAnalysis::bookECorrelatorGap (const string name, const Scatter2DPtr 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
- 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::Event::weights () const
- This needs to be revisited when we finally add the mechanism to support NLO counter-events and weight vectors.
- Member Rivet::FastJets::Algo
- Move to JetAlg and alias here?
- Member Rivet::FastJets::areaDef () const
- Care needed re. const shared_ptr<T> vs. shared_ptr<const T>
- Member Rivet::FastJets::clusterSeq () const
- Care needed re. const shared_ptr<T> vs. shared_ptr<const T>
- Member Rivet::FastJets::clusterSeqArea () const
- Care needed re. const shared_ptr<T> vs. shared_ptr<const T>
- Member Rivet::filter_discard (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...
- 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_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::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::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)
- Also provide a Scatter3D getRefData() version?
- 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::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 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::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::JetShape::project (const Event &e)
- Provide int and diff jet shapes with some sort of area normalisation?
- Class Rivet::LorentzTransform
- Review the active/passive convention choice. Seems counterintuitive now...
- Class Rivet::MC_JetAnalysis
- Could reduce duplication by inheriting this from MC_ParticleAnalysis, with minor tweaking
- 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)
- Just a copy of the Run 1 one: improve!!
- 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?
- 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::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::apply (const Event &evt, const PROJ &proj) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::apply (const std::string &name, const Event &evt) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::apply (const Event &evt, const std::string &name) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::apply (const Event &evt, const Projection &proj) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::applyProjection (const Event &evt, const PROJ &proj) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::applyProjection (const Event &evt, const Projection &proj) const
- Add SFINAE to require that PROJ inherit from Projection
- Member Rivet::ProjectionApplier::applyProjection (const Event &evt, const std::string &name) const
- Add SFINAE to require that PROJ inherit from Projection
- 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...
- 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.
- 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)
Or could use the/an actual clustered b-quark momentum?
As above... ?
- Member Rivet::SmearedJets::SmearedJets (const JetAlg &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 JetAlg &ja, const JetSmearFn &smearFn, const JetEffFn &bTagEffFn, const JetEffFn &cTagEffFn, const JetEffFn &jetEffFn)
- Add a tau-tag slot
- Member Rivet::SmearedJets::SmearedJets (const JetAlg &ja, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT, const vector< JetEffSmearFn > &effSmearFns={})
- Add a tau-tag slot
- Member Rivet::SmearedJets::SmearedJets (const JetAlg &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 JetAlg &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 JetAlg &ja, const vector< JetEffSmearFn > &effSmearFns, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT)
- 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::sortBy (MOMS &pbs, const CMP &cmp)
- Add sorting by phi [0..2PI]
- 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
- Module Streaming containers as string reps
Make these named toStr rather than operator<<
Make these generic to any iterable
- Module Streaming containers as string reps
Make these named toStr rather than operator<<
Make these generic to any iterable
- Module Transverse energy functions
- Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?
- Module Transverse energy functions
- Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?
- Module Transverse momentum functions
- Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?
- Module Transverse momentum functions
- Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?