19 vector<MSLayer> allLayers;
22 vector<MSLayer>::iterator it;
24 for (it = allLayers.begin(); it != allLayers.end(); it++) {
35 dataX0 =
DataX0(x0, sumX0D, cotTheta);
37 float hrange= (it->range().max()-it->range().min())/2.;
38 float cot1 = it->position()/(it->range().mean()-hrange/2);
39 float cot2 = it->position()/(it->range().mean()+hrange/2);
44 float slope = (sum2-sum1)/(1/cot2-1/cot1);
45 float sumX0D = sum1 + slope*(1/cotTheta-1/cot1);
46 dataX0 =
DataX0(x0, sumX0D, cotTheta);
47 dataX0.setForwardSumX0DSlope(slope);
static const double slope[3]
void update(const MSLayer &layer)
MSLayersAtAngle theLayersData
static void setDataX0(MSLayer &l, const DataX0 &x0Data)
if(c.getParameter< edm::InputTag >("puppiValueMap").label().size()!=0)
static const DataX0 & getDataX0(const MSLayer &l)
float sumX0D(const PixelRecoPointRZ &pointI, const PixelRecoPointRZ &pointO) const