/usr/include/Rivet/Tools/BinnedHistogram.hh is in librivet-dev 1.8.3-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | // -*- C++ -*-
#ifndef RIVET_BINNEDHISTOGRAM_HH
#define RIVET_BINNEDHISTOGRAM_HH
#include "Rivet/Rivet.hh"
namespace Rivet {
class Analysis;
/**
* BinnedHistogram contains a series of histograms of the same quantity
* each in a different region of a second quantity. For example, a
* BinnedHistogram may contain histograms of the cross section differential
* in \f$ p_T \f$ in different \f$ \eta \f$ regions.
**/
template<typename T>
class BinnedHistogram {
public:
/// Create a new empty BinnedHistogram
BinnedHistogram() {
return;
}
/// Add a histogram in the region between @a binMin and @a binMax to this
/// set of BinnedHistograms.
const BinnedHistogram<T>& addHistogram(const T& binMin,
const T& binMax,
AIDA::IHistogram1D* histo);
/// Fill the histogram that lies in the same region as @a bin with the value
/// @a val of weight @a weight.
AIDA::IHistogram1D* fill(const T& bin,
const T& val,
double weight);
/// Scale histograms taking into account its "external" binwidth, i.e. by
/// scale/binWidth
void scale(const T& scale, Analysis* ana);
const vector<AIDA::IHistogram1D*>& getHistograms() const { return _histos; }
vector<AIDA::IHistogram1D*>& getHistograms() { return _histos; }
private:
map<T, AIDA::IHistogram1D*> _histosByUpperBound;
map<T, AIDA::IHistogram1D*> _histosByLowerBound;
vector<AIDA::IHistogram1D*> _histos;
map<AIDA::IHistogram1D*, T> _binWidths;
};
}
#endif
|