57 const double volume = idx >= 0 ? volumes[idx] : 1.;
72 for (std::size_t i=0; i < bins.size(); ++i) {
77 for (std::size_t i=0; i < bins.size(); ++i) {
78 output[i] = bins[i] >= 0 ? 1./volumes[bins[i]] : 1.;
81 for (std::size_t i=0; i < bins.size(); ++i) {
82 output[i] = bins[i] >= 0 ? volumes[bins[i]] : 1.;
static void disableClass()
Globally disable bin-width corrections by this class.
double evaluate() const override
Compute current bin of observable, and return its volume or inverse volume, depending on configuratio...
RooTemplateProxy< const RooHistFunc > _histFunc
static bool isClassEnabled()
Returns true if bin-width corrections by this class are globally enabled, false otherwise.
static void enableClass()
Globally enable bin-width corrections by this class.
void computeBatch(cudaStream_t *, double *output, size_t size, RooBatchCompute::DataMap &) const override
Compute bin index for all values of the observable(s) in evalData, and return their volumes or invers...
The RooDataHist is a container class to hold N-dimensional binned data.
RooSpan< const double > binVolumes(std::size_t first, std::size_t len) const
Retrieve all bin volumes. Bins are indexed according to getIndex().
Int_t numEntries() const override
Return the number of bins.
Int_t getBin() const
Compute bin number corresponding to current coordinates.
std::vector< Int_t > getBins(RooBatchCompute::DataMap &dataMap) const
Compute bin numbers corresponding to all coordinates in evalData.
RooDataHist & dataHist()
Return RooDataHist that is represented.
std::map< DataKey, RooSpan< const double > > DataMap