6 :
maxHits(max_hits), theEstimator(est), trackerGeom(track_geom) {
16 if (
allTM.front().first.updatedState().globalMomentum().mag() < 5.0 &&
compatible_hits.front() > 0) {
57 if ((*(min_it - 1) - *min_it) > 2 && (*(min_it + 1) - *min_it) < 2) {
65 if (min_it - 1 !=
compatible_hits.begin() && (*(min_it - 1) - *min_it) < 2 && (*(min_it - 2) - *(min_it - 1)) > 2) {
76 std::vector<GlobalPoint> vgp = this->
HitPositions(vecTM);
81 for (std::vector<GlobalPoint>::iterator itp = vgp.begin(); itp != vgp.end() - 1; itp++) {
82 for (std::vector<GlobalPoint>::iterator itq = itp + 1; itq != vgp.end(); itq++) {
83 double dist = ((*itp) - (*itq)).
mag();
91 return mean_dist / ncomb;
95 std::vector<GlobalPoint>
gp;
99 for (std::vector<TrajectoryMeasurement>::const_iterator itm = vecTM.begin(); itm !=
last; itm++) {
111 auto hit = vecTM.front().recHit().get();
135 if (vecTM.front().recHit()->isValid())
136 return std::find_if(vecTM.begin(), vecTM.end(), [](
auto const& meas) {
return !meas.recHit()->isValid(); });
std::vector< int > compatible_hits
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
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