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/JetFinder.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,
69 using Projection::operator =;
85 return _binedges.size() - 1;
90 return _diffjetshapes.size();
95 return _binedges.front();
100 return _binedges.back();
105 return _ptcuts.first;
110 return _ptcuts.second;
116 return _binedges[rbin];
122 return _binedges[rbin+1];
129 return (_binedges[rbin] + _binedges[rbin+1])/2.0;
136 return _diffjetshapes[ijet][rbin];
144 for (
size_t i = 0; i <= rbin; ++i) {
145 rtn += _diffjetshapes[ijet][i];
174 vector<double> _binedges;
177 pair<double, double> _ptcuts;
180 pair<double, double> _rapcuts;
192 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:23
Calculate transverse jet profiles.
Definition JetShape.hh:44
double rMax() const
value.
Definition JetShape.hh:99
double rMin() const
value.
Definition JetShape.hh:94
double ptMin() const
value.
Definition JetShape.hh:104
JetShape(const JetFinder &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.
double diffJetShape(size_t ijet, size_t rbin) const
Return value of differential jet shape profile histo bin.
Definition JetShape.hh:133
double rBinMin(size_t rbin) const
Central value for bin rbin.
Definition JetShape.hh:114
double intJetShape(size_t ijet, size_t rbin) const
Return value of integrated jet shape profile histo bin.
Definition JetShape.hh:140
JetShape(const JetFinder &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.
size_t numJets() const
Number of jets which passed cuts.
Definition JetShape.hh:89
CmpState compare(const Projection &p) const
Compare projections.
RIVET_DEFAULT_PROJ_CLONE(JetShape)
Clone on the heap.
void project(const Event &e)
Apply the projection to the event.
size_t numBins() const
Number of equidistant radius bins.
Definition JetShape.hh:84
void clear()
Reset projection between events.
double rBinMax(size_t rbin) const
Central value for bin rbin.
Definition JetShape.hh:120
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:126
double ptMax() const
value.
Definition JetShape.hh:109
Specialised vector of Jet objects.
Definition Jet.hh:21
Base class for all Rivet projections.
Definition Projection.hh:29
Definition MC_CENT_PPB_Projections.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