44 if((*(min_it-1) - *min_it) > 2 && (*(min_it+1) - *min_it) < 2 ) {
52 if(min_it-1 !=
compatible_hits.begin() && (*(min_it-1) - *min_it) < 2 && (*(min_it-2) - *(min_it-1)) > 2 ) {
63 std::vector<GlobalPoint> vgp = this->
HitPositions(vecTM);
66 if(vgp.size()<2)
return 0;
67 for(std::vector<GlobalPoint>::iterator itp = vgp.begin(); itp != vgp.end()-1; itp++) {
68 for(std::vector<GlobalPoint>::iterator itq = itp+1; itq != vgp.end(); itq++) {
69 double dist = ((*itp) - (*itq)).
mag();
77 return mean_dist/ncomb;
81 std::vector<GlobalPoint>
gp;
85 for(std::vector<TrajectoryMeasurement>::const_iterator itm = vecTM.begin(); itm!=
last; itm++) {
93 if(vecTM.empty())
return 0;
95 auto hit = vecTM.front().recHit().get();
116 if (vecTM.empty())
return vecTM.end();
117 if (vecTM.front().recHit()->isValid())
118 return std::find_if( vecTM.begin(), vecTM.end(),
119 [](
auto const& meas){
return !meas.recHit()->isValid(); });
120 else return vecTM.end();
bool checkWithMultiplicity()
double fwdEstimate() const
const MeasurementEstimator * theEstimator
std::vector< GlobalPoint > HitPositions(const std::vector< TrajectoryMeasurement > &vecTM) const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
std::vector< TM >::const_iterator lastValidTM(const std::vector< TM > &vecTM) const
std::vector< int > compatible_hits
bool isNuclearInteraction()
U second(std::pair< T, U > const &p)
TrajectoryMeasurement::ConstRecHitPointer ConstRecHitPointer
NuclearTester(unsigned int max_hits, const MeasurementEstimator *est, const TrackerGeometry *track_geom)
const TrackerGeomDet * idToDet(DetId) const override
const TrackerGeometry * trackerGeom
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
unsigned int nHitsChecked() const
double meanHitDistance() const