9 :
MeasurementDet(gdet), thePixelCPE(cpe), theFirstDet(nullptr), theSecondDet(nullptr) {}
17 "TkDoubleSensMeasurementDet ERROR: Trying to glue a det which is not a TkPixelMeasurementDet");
25 if (
data.pixelData().handle()->data().empty())
27 LogTrace(
"MeasurementTracker") <<
" is not empty";
30 LogTrace(
"MeasurementTracker") <<
" and is active";
35 std::vector<bool> skipClustersUpper(
data.pixelClustersToSkip().empty() ? 0 : secondDetSet.
size(),
false);
36 std::vector<bool> skipClustersLower(
data.pixelClustersToSkip().empty() ? 0 : firstDetSet.
size(),
false);
39 if (!
data.pixelData().handle()->data().empty()) {
40 begin = &(
data.pixelData().handle()->data().front());
42 if (!
data.pixelClustersToSkip().empty()) {
43 if (!firstDetSet.
empty()) {
46 edm::LogError(
"IndexMisMatch") <<
"TkDoubleSensMeasurementDet cannot create hit because of index mismatch.";
49 unsigned int indexl = cil - begin;
50 if (
data.pixelClustersToSkip()[indexl]) {
52 skipClustersLower[iLocalL] =
true;
56 if (!secondDetSet.
empty()) {
59 edm::LogError(
"IndexMisMatch") <<
"TkDoubleSensMeasurementDet cannot create hit because of index mismatch.";
62 unsigned int indexu = ciu - begin;
63 if (
data.pixelClustersToSkip()[indexu]) {
65 skipClustersUpper[iLocalU] =
true;
78 LogDebug(
"MeasurementTracker") <<
"TkDoubleSensMeasurementDet::measurements";
85 LogTrace(
"MeasurementTracker") <<
" is active";
87 auto oldSize =
result.size();
90 for (
auto&&
hit : allHits) {
91 std::pair<bool, double> diffEst = est.
estimate(stateOnThisDet, *
hit);
93 LogDebug(
"MeasurementTracker") <<
"New vh added with chi2: " << diffEst.second;
98 if (
result.size() > oldSize)
103 LogDebug(
"MeasurementTracker") <<
"adding missing hit";
void init(const MeasurementDet *firstDet, const MeasurementDet *secondDet)
const TkPixelMeasurementDet * secondDet() const
Log< level::Error, false > LogError
TrackingRecHit::ConstRecHitPointer theMissingHit
bool isActive(const MeasurementTrackerEvent &data) const override
return TRUE if both first and second components are active
const TkPixelMeasurementDet * theFirstDet
const TkPixelMeasurementDet * firstDet() const
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const override
RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &data) const override
detset::const_iterator const_iterator
TrackingRecHit::ConstRecHitPointer theInactiveHit
const TkPixelMeasurementDet * theSecondDet
TrackingRecHit::ConstRecHitContainer RecHitContainer
Pixel cluster – collection of neighboring pixels above threshold.
char data[epos_bytes_allocation]
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
TkDoubleSensMeasurementDet(const DoubleSensGeomDet *gdet, const PixelClusterParameterEstimator *cpe)