2#ifndef RIVET_JetShape_HH
3#define RIVET_JetShape_HH
5#include "Rivet/Config/RivetCommon.hh"
6#include "Rivet/Projection.hh"
7#include "Rivet/Projections/JetAlg.hh"
8#include "Rivet/Particle.hh"
9#include "Rivet/Event.hh"
10#include "Rivet/Tools/Utils.hh"
52 double rmin,
double rmax,
size_t nbins,
53 double ptmin=0,
double ptmax=DBL_MAX,
54 double absrapmin=-DBL_MAX,
double absrapmax=-DBL_MAX,
59 double ptmin=0,
double ptmax=DBL_MAX,
60 double absrapmin=-DBL_MAX,
double absrapmax=-DBL_MAX,
82 return _binedges.size() - 1;
87 return _diffjetshapes.size();
92 return _binedges.front();
97 return _binedges.back();
102 return _ptcuts.first;
107 return _ptcuts.second;
113 return _binedges[rbin];
119 return _binedges[rbin+1];
126 return (_binedges[rbin] + _binedges[rbin+1])/2.0;
133 return _diffjetshapes[ijet][rbin];
141 for (
size_t i = 0; i <= rbin; ++i) {
142 rtn += _diffjetshapes[ijet][i];
171 vector<double> _binedges;
174 pair<double, double> _ptcuts;
177 pair<double, double> _rapcuts;
189 vector< vector<double> > _diffjetshapes;
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Abstract base class for projections which can return a set of Jets.
Definition: JetFinder.hh:15
Calculate transverse jet profiles.
Definition: JetShape.hh:44
double rMax() const
value.
Definition: JetShape.hh:96
double rMin() const
value.
Definition: JetShape.hh:91
double ptMin() const
value.
Definition: JetShape.hh:101
double diffJetShape(size_t ijet, size_t rbin) const
Return value of differential jet shape profile histo bin.
Definition: JetShape.hh:130
double rBinMin(size_t rbin) const
Central value for bin rbin.
Definition: JetShape.hh:111
double intJetShape(size_t ijet, size_t rbin) const
Return value of integrated jet shape profile histo bin.
Definition: JetShape.hh:137
DEFAULT_RIVET_PROJ_CLONE(JetShape)
Clone on the heap.
size_t numJets() const
Number of jets which passed cuts.
Definition: JetShape.hh:86
CmpState compare(const Projection &p) const
Compare projections.
void project(const Event &e)
Apply the projection to the event.
JetShape(const JetAlg &jetalg, vector< double > binedges, double ptmin=0, double ptmax=DBL_MAX, double absrapmin=-DBL_MAX, double absrapmax=-DBL_MAX, RapScheme rapscheme=RAPIDITY)
Constructor from vector of bin edges.
JetShape(const JetAlg &jetalg, double rmin, double rmax, size_t nbins, double ptmin=0, double ptmax=DBL_MAX, double absrapmin=-DBL_MAX, double absrapmax=-DBL_MAX, RapScheme rapscheme=RAPIDITY)
Constructor from histo range and number of bins.
size_t numBins() const
Number of equidistant radius bins.
Definition: JetShape.hh:81
void clear()
Reset projection between events.
double rBinMax(size_t rbin) const
Central value for bin rbin.
Definition: JetShape.hh:117
void calc(const Jets &jets)
Do the calculation directly on a supplied collection of Jet objects.
double rBinMid(size_t rbin) const
Central value for bin rbin.
Definition: JetShape.hh:123
double ptMax() const
value.
Definition: JetShape.hh:106
Specialised vector of Jet objects.
Definition: Jet.hh:23
Base class for all Rivet projections.
Definition: Projection.hh:29
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
Definition: MC_Cent_pPb.hh:10
std::enable_if< std::is_arithmetic< N1 >::value &&std::is_arithmetic< N2 >::value &&std::is_arithmetic< N3 >::value, bool >::type inRange(N1 value, N2 low, N3 high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
Determine if value is in the range low to high, for floating point numbers.
Definition: MathUtils.hh:133
RapScheme
Enum for rapidity variable to be used in calculating , applying rapidity cuts, etc.
Definition: MathConstants.hh:46