33 : theLayerSubDet(subdet),
39 hasMatchedHits(
false),
42 hasRingSelector(
false),
43 hasSimpleRphiHitsCleaner(
true) {
83 assert(dynamic_cast<SiStripMatchedRecHit2D const*>(&
matched));
85 auto id =
hit.geographicalId();
87 bool rejectSt =
skipThis(
id,
hit.stereoClusterRef(), stripClusterMask);
88 bool rejectMono =
skipThis(
id,
hit.monoClusterRef(), stripClusterMask);
90 if ((!rejectSt) & (!rejectMono)) {
92 return std::make_pair(
false, replaceMe);
97 return std::make_pair(
true, replaceMe);
102 auto cloner = ttrhBuilder.
cloner();
105 LogDebug(
"HitExtractorSTRP") <<
"a matched hit is partially masked, and the mono hit got projected onto: "
108 LogDebug(
"HitExtractorSTRP") <<
"a matched hit is partially masked, and the stereo hit got projected onto: "
111 return std::make_pair(
true, replaceMe);
118 unsigned int cleanFrom)
const {
119 LogDebug(
"HitExtractorPIX") <<
"getting: " <<
hits.size() <<
" in input.";
124 unsigned int projected = 0;
125 for (
unsigned int iH = cleanFrom; iH <
hits.size(); ++iH) {
127 auto id =
hits[iH]->geographicalId();
134 LogDebug(
"HitExtractorSTRP") <<
"skipping a matched hit on :" <<
hits[iH]->geographicalId().rawId();
138 hits[iH].reset(replaceMe);
139 if (replaceMe ==
nullptr)
144 }
else if (
skipThis(
id,
hits[iH]->firstClusterRef(), stripClusterMask)) {
145 LogDebug(
"HitExtractorSTRP") <<
"skipping a hit on :" <<
hits[iH]->geographicalId().rawId() <<
" key: ";
156 <<
" strip rechits because of clusters and projected: " << projected;
163 unsigned int cleanFrom = 0;
178 cleanFrom =
result.size();
189 cleanFrom =
result.size();
196 cleanFrom =
result.size();
206 cleanFrom =
result.size();
221 cleanFrom =
result.size();
240 cleanFrom =
result.size();
260 cleanFrom =
result.size();
283 cleanFrom =
result.size();
306 cleanFrom =
result.size();
313 cleanFrom =
result.size();
323 cleanFrom =
result.size();
338 cleanFrom =
result.size();
357 cleanFrom =
result.size();
377 cleanFrom =
result.size();
393 LogDebug(
"HitExtractorSTRP") <<
" giving: " <<
result.size() <<
" out";