33 for (
unsigned int i = 0;
i < dets.size();
i++) {
36 uint32_t subDet = detInfo.first;
40 if (this->
barrel(subDet)) {
41 r_or_z = dets[
i]->position().perp();
59 rangeRorZ_[detInfo] = std::pair<double, double>(minRZ, maxRZ);
62 #ifdef DEBUG_CHECKHITPATTERN 63 RZrangeMap::const_iterator
d;
66 std::pair<double, double> rangeRZ =
d->second;
67 std::std::cout <<
"CHECKHITPATTERN: Tracker subdetector type=" << detInfo.first <<
" layer=" << detInfo.second
68 <<
" has min r (or z) =" << rangeRZ.first <<
" and max r (or z) = " << rangeRZ.second
92 throw cms::Exception(
"CheckHitPattern::operator() called before CheckHitPattern::init");
100 bool trkGoesInsideOut =
101 fabs(reco::deltaPhi<const GlobalVector, const GlobalPoint>(p3_trk, vert.
position())) < 0.5 *
M_PI;
103 LogDebug(
"CHP") <<
"TRACK: in-->out ? " << trkGoesInsideOut <<
" dxy=" <<
track.dxy() <<
" sz=" <<
track.dz()
104 <<
" eta=" <<
track.eta() <<
" barrel hits=" <<
track.hitPattern().numberOfValidPixelHits() <<
"/" 105 <<
track.hitPattern().numberOfValidStripTIBHits() <<
"/" 106 <<
track.hitPattern().numberOfValidStripTOBHits();
114 unsigned int nHitBefore = 0;
136 unsigned int nMissHitAfter = 0;
149 if (vert.
position().
perp() < minRZ || !trkGoesInsideOut)
159 result.hitsInFrontOfVert = nHitBefore;
160 result.missHitsAfterVert = nMissHitAfter;
167 std::cout <<
"=== Hits on Track ===" << std::endl;
169 std::cout <<
"=== Hits before track ===" << std::endl;
179 std::cout <<
"hit " <<
i <<
" subdet=" << subdet <<
" layer=" <<
layer <<
" type " <<
hp.getHitType(
hit)
static uint32_t getLayer(uint16_t pattern)
const TransientTrackBuilder * trkTool_
void init(const TrackerTopology *tTopo, const TrackerGeometry &geom, const TransientTrackBuilder &builder)
std::pair< uint32_t, uint32_t > DetInfo
static bool missingHitFilter(uint16_t pattern)
unsigned int layer(const DetId &id) const
static bool validHitFilter(uint16_t pattern)
reco::TransientTrack build(const reco::Track *p) const
U second(std::pair< T, U > const &p)
std::vector< const GeomDet * > DetContainer
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
static constexpr auto TOB
Result operator()(const reco::Track &track, const VertexState &vert) const
static uint32_t getSubStructure(uint16_t pattern)
static bool trackerHitFilter(uint16_t pattern)
static constexpr auto TIB
static DetInfo interpretDetId(DetId detId, const TrackerTopology *tTopo)
static void print(const reco::Track &track)
static int position[264][3]
static bool barrel(uint32_t subDet)
if(threadIdxLocalY==0 &&threadIdxLocalX==0)
GlobalPoint position() const