12 if (dynamic_cast<const PixelGeomDetUnit*>(gdet) ==
nullptr) {
14 "TkPhase2OTMeasurementDet constructed with a GeomDet which is not a PixelGeomDetUnit");
40 std::vector<float>& diffs)
const {
44 auto oldSize =
result.size();
47 auto begin = &(
data.phase2OTData().handle()->data().front());
48 auto reject = [&](
auto ci) ->
bool {
49 return (!
data.phase2OTClustersToSkip().empty()) &&
data.phase2OTClustersToSkip()[ci - begin];
53 auto firstCluster = detSet.
begin();
54 auto lastCluster = detSet.
end();
73 int colMin =
ymin.y();
74 int colMax =
ymax.y();
76 return int(
hit.column()) >= colMin;
78 lastCluster = std::find_if(
82 while (firstCluster != lastCluster) {
83 auto const col = firstCluster->column();
84 auto endCluster = std::find_if(
87 auto rightCluster = std::find_if(
90 if (rightCluster != firstCluster) {
92 auto leftCluster = rightCluster;
93 while (--leftCluster >= firstCluster) {
102 diffs.push_back(diffEst.second);
105 for (; rightCluster != endCluster; rightCluster++) {
114 diffs.push_back(diffEst.second);
116 firstCluster = endCluster;
118 return result.size() > oldSize;
137 if (!
data.phase2OTData().handle()->data().empty()) {
138 begin = &(
data.phase2OTData().handle()->data().front());
144 edm::LogError(
"IndexMisMatch") <<
"TkPhase2OTMeasurementDet cannot create hit because of index mismatch.";
147 unsigned int index = ci - begin;
148 if (!
data.phase2OTClustersToSkip().empty() &&
index >=
data.phase2OTClustersToSkip().size()) {
149 edm::LogError(
"IndexMisMatch") <<
"TkPhase2OTMeasurementDet cannot create hit because of index mismatch. i.e " 150 <<
index <<
" >= " <<
data.phase2OTClustersToSkip().size();
153 if (
data.phase2OTClustersToSkip().empty()
or (not
data.phase2OTClustersToSkip()[
index])) {
157 LogDebug(
"TkPhase2OTMeasurementDet") <<
"skipping this cluster from last iteration on "
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(HandleT const &handle, const_iterator ci) const
const LocalTrajectoryError & localError() const
TrackingRecHit::RecHitPointer buildRecHit(const Phase2TrackerCluster1DRef &cluster, const LocalTrajectoryParameters <p) const
TkPhase2OTMeasurementDet(const GeomDet *gdet, Phase2OTMeasurementConditionSet &conditionSet)
LocalPoint localPosition() const
const ClusterParameterEstimator< Phase2TrackerCluster1D > * cpe() const
bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &dat, TempMeasurements &result) const override
const LocalTrajectoryParameters & localParameters() const
Log< level::Error, false > LogError
LocalError positionError() const
bool isEmpty(const Phase2OTMeasurementDetSet &data) const
TrackingRecHit::ConstRecHitPointer theMissingHit
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
bool hasBadComponents(const TrajectoryStateOnSurface &tsos, const MeasurementTrackerEvent &dat) const override
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
int index() const
Sets the list of bad ROCs, identified by the positions of their centers in the local coordinate frame...
bool isActive(const MeasurementTrackerEvent &data) const override
Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'...
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
DetId geographicalId() const
The label of this GeomDet.
std::shared_ptr< TrackingRecHit const > RecHitPointer
TrackingRecHit::ConstRecHitPointer theInactiveHit
constexpr uint32_t rawId() const
get the raw id
const GeomDet & fastGeomDet() const
TrackingRecHit::ConstRecHitContainer RecHitContainer
const PixelGeomDetUnit & specificGeomDet() const
char data[epos_bytes_allocation]
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
detset::const_iterator const_iterator
RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &dat) const override