|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef CALOCONDITIONS_CALOLOCALHADCOEFF_H
6 #define CALOCONDITIONS_CALOLOCALHADCOEFF_H
251 void addArea(LocalHadArea & theArea);
254 void setArea(
const int n_area,
const LocalHadArea & theArea);
257 const LocalHadArea *
getArea(
int n_area)
const;
284 int getBin(
const int n_area, std::vector<float> &vars)
const;
287 int getBin(
const int n_area, std::vector<int> &v_indexes)
const;
290 int bin2indexes(
const int iBin, std::vector<int> &v_dim_indx)
const;
293 bool isNeighbour(
const int iBinx, std::vector<int> &v_indx)
const;
296 bool isFilled(
const int iBin)
const;
301 std::vector<double> &xadj, std::vector<unsigned int> &gbin)
const;
317 #include "AthenaKernel/CondCont.h"
LocalHadArea(LocalHadArea &&other) noexcept=default
Class defines binning for user dimension.
CONDCONT_DEF(CaloLocalHadCoeff, 82862607)
int getNbins() const
return number of bins
unsigned int m_type
dimension type
LocalHadDimension & operator=(const LocalHadDimension &other)=default
float m_dx
bin size (in the case of equidistant binning)
std::vector< LocalHadDimension > m_dims
vector of defined dimensions
CaloLocalHadCoeff(CaloLocalHadCoeff &&) noexcept=default
const std::string & getTitle() const
return name
unsigned int getType() const
return dimension type
int getOffset() const
return area offset
void setTitle(const std::string &title)
set name
int getLength() const
return area length
int getSizeAreaSet() const
return number of areas defined for this data set
float getXmin() const
return minimum value for the first bin
const LocalHadArea * getAreaFromBin(int iBin) const
return area defined for given general iBin
bool const RAWDATA *ch2 const
bool isNeighbour(const int iBinx, std::vector< int > &v_indx) const
are this bins is neighbour to this indexes vector (any of their indexes differ per one ?...
bool isFilled(const int iBin) const
check if general bin is filled
const CaloLocalHadCoeff::LocalHadDimension * getDimension(int n_dim) const
to get dimension
CaloLocalHadCoeff()
Default constructor.
const std::string & getTitle() const
return dimension name
std::vector< float > LocalHadCoeff
Correction parameters for one general bin.
void addDimension(LocalHadDimension &dim)
to add new dimension
LocalHadArea(const LocalHadArea &other)=default
Copy constructor.
LocalHadDimension(const char *title, unsigned int typ, int nbins, float xmin, float xmax)
Constructor to define equidistant binning.
int m_nbins
number of bins
std::vector< int > m_dims_loc
locator index for dimensions
Hold binned correction data for local hadronic calibration procedure.
LocalHadArea(const char *title, int typ, int npars)
Constructor.
std::vector< float > m_xbins
bins borders (if dimension has non-equidistant binning), vector of size m_nbins+1
void setOffset(int offset)
set area offset
std::vector< LocalHadCoeff > m_CoeffSet
vector of correction coefficients
float getDx() const
return size of bin
unsigned int m_type
area type
const LocalHadCoeff * getCoeff(const int &iBin) const
get data for given general bin number
int m_offset
offset for the data in global vector (if more than one area is defined)
int getDimLoc(int i_dim) const
get dimension locator coefficient
int getSizeCoeffSet() const
return total number of coefficient sets
void setArea(const int n_area, const LocalHadArea &theArea)
replace existing area with another one
int getNdim() const
get number of dimensions
float m_xmax
maximum value for the last bin
int getNpars() const
return number of parameters
std::vector< LocalHadArea > m_AreaSet
vector of correction areas
void setCoeff(const int iBin, const LocalHadCoeff &theCoeff)
set new data
float getXmax() const
return maximum value for the last bin
int m_npars
number of correction parameters
int bin2indexes(const int iBin, std::vector< int > &v_dim_indx) const
expand general bin into vector of bins for defined dimensions
int m_length
length of area data block (product of m_nbins over all dimensions defined)
void setLength(int length)
set area length
LocalHadDimension(const char *title, unsigned int typ, std::vector< float > &xbins)
Constructor to define arbitrary binning.
int getBin(float &x) const
return bin number
unsigned int getType() const
return area type
float m_xmin
minimum value for the first bin
CaloLocalHadCoeff(const CaloLocalHadCoeff &other)=default
Copy constructor.
const std::string & getTitle() const
return name
LocalHadArea()
Default Constructor.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition of correction area.
void addArea(LocalHadArea &theArea)
add new area
int getBinAdjusted(float &x, float &xadj) const
const LocalHadArea * getArea(int n_area) const
return area
std::string m_title
title of data set
int getBin(const int n_area, std::vector< float > &vars) const
calculate general bin from vector of input cluster variables
LocalHadDimension()
Default Constructor.
CaloLocalHadCoeff & operator=(const CaloLocalHadCoeff &other)=default
LocalHadArea & operator=(const LocalHadArea &other)=default
macros to associate a CLID to a type
std::string m_title
dimensions title (e.g. "eta", "energy", "lambda", "blabla", etc)
std::string m_title
area title
LocalHadDimension(LocalHadDimension &&) noexcept=default
Move constructor.
LocalHadDimension(const LocalHadDimension &other)=default
Copy constructor.
bool getInterpArrays(const int n_area, const std::vector< int > &dim, std::vector< float > &x, std::vector< double > &xadj, std::vector< unsigned int > &gbin) const
for interpolation, build the vector of relative x, and global bins for interpolated array for area n_...