7 template <
class T>
inline T sqr(
T t) {
return t*
t;}
16 vector<MSLayer>::const_iterator it =
58 float drOI = pointO.
r() - pointI.
r();
59 float drMO = pointO.
r() - pointM.
r();
60 float drMI = pointM.
r() - pointI.
r();
66 return sqrt( sum2I*
sqr(drMO) + sum2O*
sqr(drMI) )/drOI;
78 for (
LayerItr it = i1; it < i2; it++) {
79 pair<PixelRecoPointRZ,bool>
cross = it->crossing(line);
81 float x0 = it->x0(cotTh);
82 float dr = rTarget-cross.first.r();
83 if (x0 > 1.
e-5
f) dr *= 1.f+0.038f*
std::log(x0);
96 const float BIG=99999.f;
98 LayerItr theIt = ibeg;
float dist = BIG;
99 for (
LayerItr it = ibeg; it < iend; it++) {
100 float d = it->distance(point);
102 if (d < EPSILON)
return it;
std::vector< MSLayer > theLayers
float sum2RmRn(LayerItr i1, LayerItr i2, float rTarget, const PixelRecoLineRZ &line) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void update(const MSLayer &layer)
std::vector< MSLayer >::const_iterator LayerItr
float sumX0D(const PixelRecoPointRZ &pointI, const PixelRecoPointRZ &pointO, float tip=0.) const
Square< F >::type sqr(const F &f)
const MSLayer * findLayer(const MSLayer &layer) const
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Basic3DVector cross(const Basic3DVector &v) const
Vector product, or "cross" product, with a vector of same type.