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;
137 for (
LayerItr it = i1; it < i2; it++) {
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
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
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
float sum2RmRn(LayerItr i1, LayerItr i2, float rTarget, const SimpleLineRZ &line) const
float sumX0D(const PixelRecoPointRZ &pointI, const PixelRecoPointRZ &pointO) const
std::vector< MSLayer >::const_iterator LayerItr
static const bool doPrint
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.