ZFinder.hh
// -*- C++ -*-
#ifndef RIVET_ZFinder_HH
#define RIVET_ZFinder_HH
#include "Rivet/Tools/Logging.hh"
#include "Rivet/Rivet.hh"
#include "Rivet/Particle.hh"
#include "Rivet/Event.hh"
#include "Rivet/Projection.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/LeptonClusters.hh"
namespace Rivet {
class ZFinder : public FinalState {
public:
ZFinder(const FinalState& inputfs,
double etaMin, double etaMax,
double pTmin,
PdgId pid,
double minmass, double maxmass,
double dRmax, bool clusterPhotons, bool trackPhotons,
double masstarget=91.2*GeV);
ZFinder(const FinalState& inputfs,
const std::vector<std::pair<double, double> >& etaRanges,
double pTmin,
PdgId pid,
double minmass, const double maxmass,
double dRmax, bool clusterPhotons, bool trackPhotons,
double masstarget=91.2*GeV);
ZFinder(double, double, double, PdgId, double, double, double,
bool, bool, double masstarget=91.2*GeV);
ZFinder(const std::vector<std::pair<double, double> >&, double, PdgId,
double, double, double, bool, bool, double masstarget=91.2*GeV);
virtual const Projection* clone() const {
return new ZFinder(*this);
}
const ParticleVector& bosons() const { return _bosons; }
const vector<Particle>& constituents() const { return _constituents; }
const FinalState& remainingFinalState() const;
protected:
void project(const Event& e);
int compare(const Projection& p) const;
public:
void clear() {
_theParticles.clear();
_bosons.clear();
_constituents.clear();
}
private:
void _init(const FinalState& inputfs,
const std::vector<std::pair<double, double> >& etaRanges,
double pTmin, PdgId pid,
double minmass, double maxmass,
double dRmax, bool clusterPhotons, bool trackPhotons,
double masstarget);
double _minmass, _maxmass, _masstarget;
bool _trackPhotons;
PdgId _pid;
ParticleVector _bosons;
vector<Particle> _constituents;
};
}
#endif
Rivet
Definition: MC_JetAnalysis.hh:9
Rivet::ZFinder::bosons
const ParticleVector & bosons() const
Access to the found bosons (currently either 0 or 1)
Definition: ZFinder.hh:83
Rivet::ZFinder
Convenience finder of leptonically decaying Zs.
Definition: ZFinder.hh:20
Rivet::ZFinder::compare
int compare(const Projection &p) const
Compare projections.
Definition: ZFinder.cc:96
Rivet::ZFinder::constituents
const vector< Particle > & constituents() const
Definition: ZFinder.hh:88
Rivet::ZFinder::project
void project(const Event &e)
Apply the projection on the supplied event.
Definition: ZFinder.cc:106
Rivet::Event
Definition: Event.hh:22
Rivet::FinalState
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:14
Rivet::ZFinder::ZFinder
ZFinder(const FinalState &inputfs, double etaMin, double etaMax, double pTmin, PdgId pid, double minmass, double maxmass, double dRmax, bool clusterPhotons, bool trackPhotons, double masstarget=91.2 *GeV)
Definition: ZFinder.cc:13
Rivet::ZFinder::clone
virtual const Projection * clone() const
Clone on the heap.
Definition: ZFinder.hh:76
Rivet::ZFinder::remainingFinalState
const FinalState & remainingFinalState() const
Definition: ZFinder.cc:90
Rivet::Projection
Base class for all Rivet projections.
Definition: Projection.hh:28
Rivet::ZFinder::clear
void clear()
Clear the projection.
Definition: ZFinder.hh:108