17 std::sort(theLayers.begin(), theLayers.end());
20 for (
auto const&
l : theLayers) {
25 if (sq >=
int(indeces.size()))
26 indeces.resize(sq + 1, -1);
36 return it ==
theLayers.end() ? nullptr : &(*it);
63 return sumX0D(pointI, pointO);
82 float drOI = pointO.
r() - pointI.
r();
83 float drMO = pointO.
r() - pointM.
r();
84 float drMI = pointM.
r() - pointI.
r();
95 std::cout <<
"old " << (*iI).seqNum() <<
" " << iI -
theLayers.begin() <<
", " << (*iM).seqNum() <<
" " 96 << iM -
theLayers.begin() <<
", " << (*iO).seqNum() <<
" " << iO -
theLayers.begin() <<
" " << pointI.
r()
97 <<
" " << pointI.
z() <<
" " << sum << std::endl;
108 return sumX0D(pointV, pointI, pointO);
113 float drOI = pointO.
r();
114 float drMO = pointO.
r() - pointI.
r();
115 float drMI = pointI.
r();
124 std::cout <<
"new " << il <<
" " << (*iI).seqNum() <<
" " << iI -
theLayers.begin() <<
", " << ol <<
" " 125 << (*iO).seqNum() <<
" " << iO -
theLayers.begin() <<
" " << zV <<
" " << sum << std::endl;
136 float cotTh =
line.cotLine();
138 std::pair<PixelRecoPointRZ, bool>
cross = it->crossing(
line);
140 float x0 = it->x0(cotTh);
141 float dr = rTarget -
cross.first.r();
143 dr *= 1.f + 0.038f * unsafe_logf<2>(x0);
144 sum2 += x0 *
dr *
dr;
154 const float BIG = 99999.f;
158 for (
LayerItr it = ibeg; it < iend; it++) {
159 float d = it->distance2(
point);
std::vector< int > indeces
std::vector< MSLayer > theLayers
Basic3DVector cross(const Basic3DVector &v) const
Vector product, or "cross" product, with a vector of same type.
const MSLayer * findLayer(const MSLayer &layer) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void update(const MSLayer &layer)
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< MSLayer >::const_iterator LayerItr
float sum2RmRn(LayerItr i1, LayerItr i2, float rTarget, const SimpleLineRZ &line) const
Square< F >::type sqr(const F &f)
static const bool doPrint
float sumX0D(const PixelRecoPointRZ &pointI, const PixelRecoPointRZ &pointO) 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