33 : theLayerSubDet(subdet),
39 hasMatchedHits(
false),
43 hasRingSelector(
false),
44 hasSimpleRphiHitsCleaner(
true) {
85 assert(dynamic_cast<SiStripMatchedRecHit2D const*>(&
matched));
87 auto id =
hit.geographicalId();
89 bool rejectSt =
skipThis(
id,
hit.stereoClusterRef(), stripClusterMask);
90 bool rejectMono =
skipThis(
id,
hit.monoClusterRef(), stripClusterMask);
92 if ((!rejectSt) & (!rejectMono)) {
94 return std::make_pair(
false, replaceMe);
99 return std::make_pair(
true, replaceMe);
104 auto cloner = ttrhBuilder.
cloner();
107 LogDebug(
"HitExtractorSTRP") <<
"a matched hit is partially masked, and the mono hit got projected onto: "
110 LogDebug(
"HitExtractorSTRP") <<
"a matched hit is partially masked, and the stereo hit got projected onto: "
113 return std::make_pair(
true, replaceMe);
120 unsigned int cleanFrom)
const {
122 unsigned int projected = 0;
124 LogTrace(
"HitExtractorSTRP") <<
"getting " <<
hits.size() <<
" strip hit in input.";
128 for (
unsigned int iH = cleanFrom; iH <
hits.size(); ++iH) {
130 auto id =
hits[iH]->geographicalId();
135 LogTrace(
"HitExtractorSTRP") <<
"skipping a matched hit on :" <<
hits[iH]->geographicalId().rawId();
140 hits[iH].reset(replaceMe);
141 if (replaceMe ==
nullptr)
146 }
else if (
skipThis(
id,
hits[iH]->firstClusterRef(), stripClusterMask)) {
147 LogTrace(
"HitExtractorSTRP") <<
"skipping a hit on :" <<
hits[iH]->geographicalId().rawId() <<
" key: ";
154 LogTrace(
"HitExtractorSTRP") <<
"getting " <<
hits.size() <<
" vector hit in input.";
158 for (
unsigned int iH = cleanFrom; iH <
hits.size(); ++iH) {
159 LogTrace(
"HitExtractorSTRP") <<
"analizing hit on :" <<
hits[iH]->geographicalId().rawId();
161 const VectorHit& vhit = dynamic_cast<VectorHit const&>(*
hits[iH]);
164 LogTrace(
"HitExtractorSTRP") <<
" key lower: " <<
hits[iH]->firstClusterRef().key();
169 LogTrace(
"HitExtractorSTRP") <<
"skipping a vector hit on :" <<
hits[iH]->geographicalId().rawId()
182 LogTrace(
"HitExtractorSTRP") <<
"skipped :" <<
skipped <<
" rechits because of clusters and projected: " << projected;
188 LogDebug(
"HitExtractorSTRP") <<
"HitExtractorSTRP::hits";
190 unsigned int cleanFrom = 0;
201 LogTrace(
"HitExtractorSTRP") <<
"Getting hits into the TIB";
206 cleanFrom =
result.size();
217 cleanFrom =
result.size();
224 cleanFrom =
result.size();
234 cleanFrom =
result.size();
240 LogError(
"HitExtractorSTRP") <<
"TIB is not supposed to be in Phase2 TRK detector configuration. What follows "
241 "have never been checked before! ";
244 cleanFrom =
result.size();
256 LogTrace(
"HitExtractorSTRP") <<
"Getting hits into the TID";
261 cleanFrom =
result.size();
280 cleanFrom =
result.size();
300 cleanFrom =
result.size();
319 cleanFrom =
result.size();
330 LogTrace(
"HitExtractorSTRP") <<
"result size value:" <<
result.size();
339 LogTrace(
"HitExtractorSTRP") <<
"Getting hits into the TOB";
344 cleanFrom =
result.size();
367 cleanFrom =
result.size();
374 cleanFrom =
result.size();
384 cleanFrom =
result.size();
395 cleanFrom =
result.size();
407 LogTrace(
"HitExtractorSTRP") <<
"Getting hits into the TEC";
412 cleanFrom =
result.size();
431 cleanFrom =
result.size();
451 cleanFrom =
result.size();
466 LogError(
"HitExtractorSTRP") <<
"TEC is not supposed to be in Phase2 TRK detector configuration. What follows "
467 "have never been checked before! ";
471 cleanFrom =
result.size();