11#include <framework/logging/Logger.h>
37 const std::vector<std::vector<double>>& groupGains,
38 const std::vector<unsigned int>& layerToGroup);
69 unsigned int getGroup(
unsigned int layer)
const
72 B2ERROR(
"Layer out of range");
73 return std::numeric_limits<unsigned int>::max();
81 return (layer < 8) ? 0 : 1;
84 B2ERROR(
"Invalid 1DCell payload state");
85 return std::numeric_limits<unsigned int>::max();
90 unsigned int getNBins(
unsigned int layer)
const
92 const unsigned int group =
getGroup(layer);
122 double getMean(
unsigned int layer,
unsigned int bin)
const;
130 void setMean(
unsigned int layer,
unsigned int bin,
double value);
137 double getMean(
unsigned int layer,
double enta)
const;
dE/dx 1D cell correction calibration constants
unsigned int getNGroups() const
Number of groups.
std::vector< unsigned int > m_layerToGroup
layer to group map
short m_version
dE/dx cleanup correction versus entrance angle may be different for different layers,...
ClassDef(CDCDedx1DCell, 6)
ClassDef.
double getMean(unsigned int layer, unsigned int bin) const
Return dE/dx mean value for the given bin.
CDCDedx1DCell & operator*=(CDCDedx1DCell const &rhs)
Combine payloads.
~CDCDedx1DCell()
Destructor.
const std::vector< std::vector< double > > & getOneDCell() const
Get the grouped calibration constants.
std::vector< std::vector< double > > m_onedgains
dE/dx means in entrance angle bins
void setMean(unsigned int layer, unsigned int bin, double value)
Reset dE/dx mean value for the given bin.
bool isValidGroupedPayload() const
Payload validation.
const std::vector< unsigned int > & getLayerMap() const
Get the Layer-to-group map.
unsigned int getNLayers() const
Number of layers.
CDCDedx1DCell()
Default constructor.
unsigned int getGroup(unsigned int layer) const
Get group index for layer.
unsigned int getNBins(unsigned int layer) const
Get the number of bins for the entrance angle correction.
short getVersion() const
Get the version for the 1D cleanup.
Abstract base class for different kinds of events.