16 GroupMap::const_iterator iter =
groupmap_.find(centerxtal.
rawId());
19 int group =iter->second;
60 const int kModuleLow[]={1,501,901,1301};
61 const int kModuleHigh[]={500,900,1300,1700};
63 for (
int xtal =kModuleLow[module-1] ; xtal <= kModuleHigh[module-1];++xtal){
78 GroupMap::const_iterator iter=
groupmap_.find(xtal);
81 int group=iter->second;
95 corr+= coeff.
data[
i] *
pow( position ,
i-offset) ;
105 double x= pos.X()*10;
106 double y= pos.Y()*10;
121 double x= pos.X()*10;
122 double y= pos.Y()*10;
const double correctionXY(const EBDetId &xtal, double position, Direction dir, Type type) const
constexpr uint32_t rawId() const
get the raw id
GroupMap groupmap_
Maps in which group a particular xtal has been placed.
Structure defining the container for correction coefficients.
std::vector< Coefficients > coefficients_
Holds the coeffiecients. The index corresponds to the group.
static const int kPolynomialDegree
The degree of the polynomial used as correction function plus one.
const double correction3x3(const EBDetId &xtal, const math::XYZPoint &pos) const
The correction factor for 3x3 matrix.
static const int kModulesPerSM
const double correction5x5(const EBDetId &xtal, const math::XYZPoint &pos) const
The correction factor for 5x5 matrix.
const Coefficients correctionCoefficients(const EBDetId ¢erxtal) const
Get the correction coefficients for the given xtal.
XYZPointD XYZPoint
point in space with cartesian internal representation
static int position[264][3]
static const int SMCRYSTALMODE
Power< A, B >::type pow(const A &a, const B &b)
void fillCorrectionCoefficients(const EBDetId &xtal, int group, const Coefficients &coefficients)
Fill the correction coefficients for a given xtal, part of group .