55 assert (correction.size(1)-1 == correction_bins.
size());
58 if (
eta == -999.)
return;
59 float aeta = fabs(
eta);
64 unsigned int shape[] = {correction_bins.
size(), 2};
67 for (
unsigned int i=0; i<correction_bins.
size(); i++) {
68 w[i][0] = correction_bins[i];
69 w[i][1] = interpolate (correction, u1, correction_degree, i+1);
78 lar_cluster->
setEta( CaloSampling::EMB1,
eta - deta);
84 static const std::string typeName =
"CaloSwEta_g3";
Scalar eta() const
pseudorapidity method
Principal data class for CaloCell clusters.
virtual void setEta(double eta)
Set eta.
double etaSample(sampling_type sampling) const
Retrieve barycenter in a given sample.
bool inBarrel() const
Returns true if at least one clustered cell in EMB.
Constant< CxxUtils::Array< 1 > > m_correction_bins
static const float s_strip_granularity
virtual const std::string & toolType() const override
Return the name of the type of this tool.
Constant< int > m_correction_degree
Constant< int > m_interp_degree
virtual void makeCorrection(const Context &myctx, xAOD::CaloCluster *cluster) const override
Constant< float > m_correction_coef
Constant< CxxUtils::Array< 2 > > m_correction
Read-only multidimensional array.
unsigned int size(unsigned int dim=0) const
Return the size of the array along one dimension.
Polynomial interpolation in a table.
float interpolate(const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > ®ions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false)
Polynomial interpolation in a table.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.