21 theDetConditions(&conditions)
23 if ( dynamic_cast<const PixelGeomDetUnit*>(gdet) ==
nullptr) {
24 throw MeasurementDetException(
"TkPixelMeasurementDet constructed with a GeomDet which is not a PixelGeomDetUnit");
56 auto oldSize = result.
size();
58 for (
auto &&
hit : allHits) {
59 std::pair<bool,double> diffEst = est.
estimate( stateOnThisDet, *
hit);
64 if (result.
size()>oldSize)
return true;
81 return std::make_shared<SiPixelRecHit>( std::get<0>(params), std::get<1>(params), std::get<2>(params),
fastGeomDet(), cluster);
98 if (
isActive(data) ==
false)
return result;
104 result.reserve(detSet.
size());
111 int xminus = PMinus.
x();
112 int yminus = PMinus.y();
113 int xplus = PPlus.x()+0.5f;
114 int yplus = PPlus.y()+0.5f;
125 for (
auto ci = detSet.
begin(); ci != rightCluster; ++ci ) {
128 edm::LogError(
"IndexMisMatch")<<
"TkPixelMeasurementDet cannot create hit because of index mismatch.";
133 edm::LogError(
"IndexMisMatch")<<
"TkPixelMeasurementDet cannot create hit because of index mismatch. i.e "<<index<<
" >= "<<data.
pixelClustersToSkip().size();
137 if (ci->maxPixelRow()<xminus)
continue;
139 if (ci->minPixelCol()>yplus)
continue;
140 if (ci->maxPixelCol()<yminus)
continue;
155 if (
badRocPositions_.empty() && badFEDChannelPositions==
nullptr)
return false;
160 auto dx =
std::abs(broc.x() - lp.x()) - theRocWidth;
161 auto dy =
std::abs(broc.y() - lp.y()) - theRocHeight;
162 if ( (
dx<=0.
f) & (dy<=0.f) )
return true;
163 if ( (
dx*
dx < 9.
f*le.xx()) && (dy*dy< 9.
f*le.yy()) )
return true;
166 if (badFEDChannelPositions==
nullptr)
return false;
168 for (
auto const&
p : *badFEDChannelPositions) {
169 if ( lp.x() > (
p.first.x()-
dx) &&
170 lp.x() < (
p.second.x()+
dx) &&
171 lp.y() > (
p.first.y()-
dy) &&
172 lp.y() < (
p.second.y()+
dy) ) {
bool isActive(const MeasurementTrackerEvent &data) const override
Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'...
virtual ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const =0
bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &dat, TempMeasurements &result) const override
const LocalTrajectoryParameters & localParameters() const
std::vector< LocalPoint > badRocPositions_
const PixelClusterParameterEstimator * cpe() const
RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &dat) const override
LocalPoint localPosition() const
const PxMeasurementDetSet::BadFEDChannelPositions * getBadFEDChannelPositions(const MeasurementTrackerEvent &data) const
constexpr uint32_t rawId() const
get the raw id
RecHitContainer compHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &dat, float xl, float yl) const
const edm::Handle< edmNew::DetSetVector< SiPixelCluster > > & handle() const
TrackingRecHit::RecHitPointer buildRecHit(const SiPixelClusterRef &cluster, const LocalTrajectoryParameters <p) const
const std::vector< bool > & pixelClustersToSkip() const
LocalError positionError() const
TrackingRecHit::ConstRecHitPointer theMissingHit
const GeomDet & fastGeomDet() const
const PxMeasurementDetSet & pixelData() const
void add(ConstRecHitPointer const &h, float d)
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
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
TkPixelMeasurementDet(const GeomDet *gdet, PxMeasurementConditionSet &conditionSet)
data_type const * data(size_t cell) const
Abs< T >::type abs(const T &t)
DetId geographicalId() const
The label of this GeomDet.
const LocalTrajectoryError & localError() const
std::shared_ptr< TrackingRecHit const > RecHitPointer
TrackingRecHit::ConstRecHitPointer theInactiveHit
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
TrackingRecHit::ConstRecHitContainer RecHitContainer
Pixel cluster – collection of neighboring pixels above threshold.
char data[epos_bytes_allocation]
const PixelGeomDetUnit & specificGeomDet() const
bool hasBadComponents(const TrajectoryStateOnSurface &tsos, const MeasurementTrackerEvent &dat) const override
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(HandleT const &handle, const_iterator ci) const
const PixelDetSet & detSet(int i) const
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
bool isEmpty(const PxMeasurementDetSet &data) const