41 typedef std::vector<TrajectoryMeasurement>::const_iterator aMeas;
42 std::vector<const DetLayer*> allayers;
44 for (std::vector<const DetLayer*>::const_iterator il = nl.begin(); il != nl.end(); il++) {
45 allayers.push_back(*il);
46 std::vector<const DetLayer*> n2l = (*il)->nextLayers( aFTS,
alongMomentum);
47 for (std::vector<const DetLayer*>::const_iterator i2l = n2l.begin(); i2l != n2l.end(); i2l++) {
48 allayers.push_back(*i2l);
56 for (std::vector<const DetLayer*>::const_iterator il = allayers.begin(); il != allayers.end(); il++)
60 std::vector<TrajectoryMeasurement> pixelMeasurements;
62 pixelMeasurements = theLayerMeasurements->
measurements( **il, tsos , *aProp, *aBarrelMeas);
64 pixelMeasurements = theLayerMeasurements->
measurements( **il, tsos, *aProp, *aForwardMeas);
66 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++){
67 if (
m == pixelMeasurements.begin()){
68 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
69 m->forwardPredictedState().globalPosition().y(),
70 m->forwardPredictedState().globalPosition().z());
73 if (
m->recHit()->isValid()) {
88 std::vector<TrajectoryMeasurement> pixelMeasurements;
89 pixelMeasurements = theLayerMeasurements->
measurements( (**il), tsos , *aProp, *aForwardMeas);
91 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++)
94 if (tTopo->
tidRing(
m->recHit()->geographicalId()) > 1)
continue;
95 if (
m == pixelMeasurements.begin())
97 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
98 m->forwardPredictedState().globalPosition().y(),
99 m->forwardPredictedState().globalPosition().z());
102 if (
m->recHit()->isValid())
114 std::vector<TrajectoryMeasurement> pixelMeasurements;
115 pixelMeasurements = theLayerMeasurements->
measurements( (**il), tsos , *aProp, *aForwardMeas);
117 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++)
120 if (tTopo->
tecRing(
m->recHit()->geographicalId()) > 1)
continue;
121 if (tTopo->
tecWheel(
m->recHit()->geographicalId()) > 3)
continue;
122 if (
m == pixelMeasurements.begin())
124 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
125 m->forwardPredictedState().globalPosition().y(),
126 m->forwardPredictedState().globalPosition().z());
129 if (
m->recHit()->isValid())
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
unsigned int tidRing(const DetId &id) const
virtual Location location() const =0
Which part of the detector (barrel, endcap)
std::vector< TrajectoryMeasurement > measurementsHere
std::vector< TrajectoryMeasurement > badMeasurementsInNextLayers() const
unsigned int tecRing(const DetId &id) const
ring id
TransientTrackingRecHit::RecHitContainer hitsHere
std::vector< CLHEP::Hep3Vector > predictionInNextLayers() const
std::vector< ConstRecHitPointer > RecHitContainer
TransientTrackingRecHit::RecHitContainer hitsInNextLayers() const
std::vector< TrajectoryMeasurement > badMeasurementsHere
std::vector< TrajectoryMeasurement > measurementsInNextLayers() const
PixelMatchNextLayers(const LayerMeasurements *theLayerMeasurements, const DetLayer *ilayer, FreeTrajectoryState &aFTS, const PropagatorWithMaterial *aProp, const BarrelMeasurementEstimator *aBarrelMeas, const ForwardMeasurementEstimator *aForwardMeas, const TrackerTopology *tTopo, bool searchInTIDTEC)
unsigned int tecWheel(const DetId &id) const
std::vector< CLHEP::Hep3Vector > predictionHere
std::vector< const DetLayer * > nextLayers(Args &&...args) const