7 maxHits(max_hits), theEstimator(est), trackerGeom(track_geom) {
NuclearIndex=0; }
45 if((*(min_it-1) - *min_it) > 2 && (*(min_it+1) - *min_it) < 2 ) {
53 if(min_it-1 !=
compatible_hits.begin() && (*(min_it-1) - *min_it) < 2 && (*(min_it-2) - *(min_it-1)) > 2 ) {
64 std::vector<GlobalPoint> vgp = this->
HitPositions(vecTM);
67 if(vgp.size()<2)
return 0;
68 for(std::vector<GlobalPoint>::iterator itp = vgp.begin(); itp != vgp.end()-1; itp++) {
69 for(std::vector<GlobalPoint>::iterator itq = itp+1; itq != vgp.end(); itq++) {
70 double dist = ((*itp) - (*itq)).
mag();
78 return mean_dist/ncomb;
82 std::vector<GlobalPoint> gp;
86 for(std::vector<TrajectoryMeasurement>::const_iterator itm = vecTM.begin(); itm!=
last; itm++) {
94 if(vecTM.empty())
return 0;
96 auto hit = vecTM.front().recHit().get();
117 if (vecTM.empty())
return vecTM.end();
118 if (vecTM.front().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)
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
virtual const GeomDet * idToDet(DetId) const
TrajectoryMeasurement::ConstRecHitPointer ConstRecHitPointer
NuclearTester(unsigned int max_hits, const MeasurementEstimator *est, const TrackerGeometry *track_geom)
const TrackerGeometry * trackerGeom
unsigned int nHitsChecked() const
double meanHitDistance() const