40 typedef std::vector<TrajectoryMeasurement>::const_iterator aMeas;
41 std::vector<const DetLayer*> allayers;
43 for (std::vector<const DetLayer*>::const_iterator il = nl.begin(); il != nl.end(); il++) {
44 allayers.push_back(*il);
45 std::vector<const DetLayer*> n2l = (*il)->nextLayers( aFTS,
alongMomentum);
46 for (std::vector<const DetLayer*>::const_iterator i2l = n2l.begin(); i2l != n2l.end(); i2l++) {
47 allayers.push_back(*i2l);
55 for (std::vector<const DetLayer*>::const_iterator il = allayers.begin(); il != allayers.end(); il++)
59 std::vector<TrajectoryMeasurement> pixelMeasurements;
61 pixelMeasurements = theLayerMeasurements->
measurements( **il, tsos , *aProp, *aBarrelMeas);
63 pixelMeasurements = theLayerMeasurements->
measurements( **il, tsos, *aProp, *aForwardMeas);
65 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++){
66 if (
m == pixelMeasurements.begin()){
67 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
68 m->forwardPredictedState().globalPosition().y(),
69 m->forwardPredictedState().globalPosition().z());
72 if (
m->recHit()->isValid()) {
87 std::vector<TrajectoryMeasurement> pixelMeasurements;
88 pixelMeasurements = theLayerMeasurements->
measurements( (**il), tsos , *aProp, *aForwardMeas);
90 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++)
93 if (tTopo->
tidRing(
m->recHit()->geographicalId()) > 1)
continue;
94 if (
m == pixelMeasurements.begin())
96 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
97 m->forwardPredictedState().globalPosition().y(),
98 m->forwardPredictedState().globalPosition().z());
101 if (
m->recHit()->isValid())
113 std::vector<TrajectoryMeasurement> pixelMeasurements;
114 pixelMeasurements = theLayerMeasurements->
measurements( (**il), tsos , *aProp, *aForwardMeas);
116 for (aMeas
m=pixelMeasurements.begin();
m!=pixelMeasurements.end();
m++)
119 if (tTopo->
tecRing(
m->recHit()->geographicalId()) > 1)
continue;
120 if (tTopo->
tecWheel(
m->recHit()->geographicalId()) > 3)
continue;
121 if (
m == pixelMeasurements.begin())
123 CLHEP::Hep3Vector prediction(
m->forwardPredictedState().globalPosition().x(),
124 m->forwardPredictedState().globalPosition().y(),
125 m->forwardPredictedState().globalPosition().z());
128 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