CMS 3D CMS Logo

PFCheckHitPattern.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFTracking_PFCheckHitPattern_H
2 #define RecoParticleFlow_PFTracking_PFCheckHitPattern_H
3 
4 // standard EDAnalyser include files
5 #include <memory>
10 
17 
18 #define DEBUG_CHECKHITPATTERN
19 
20 class DetId;
21 
23 
28 /*
29  * Determine if a track has hits in front of its assumed production point.
30  * Also determine if it misses hits between its assumed production point and its innermost hit.
31  */
32 
34 public:
36 
38 
39  typedef std::pair<unsigned int, unsigned int> PFTrackHitInfo;
40  typedef std::pair<PFTrackHitInfo, PFTrackHitInfo> PFTrackHitFullInfo;
41 
46 
48  const TrackerGeometry* tkerGeom,
50  const TransientVertex& vert);
51 
53  void print(const reco::TrackBaseRef track) const;
54 
55 private:
57  void init(const TrackerTopology*, const TrackerGeometry*);
58 
61  typedef std::pair<uint32_t, uint32_t> DetInfo;
62 
64  static bool barrel(uint32_t subDet);
65 
66  void print(const reco::HitPattern::HitCategory, const reco::HitPattern& hp) const;
67 
68 private:
71 
74  typedef std::map<DetInfo, std::pair<double, double> > RZrangeMap;
76 };
77 
78 #endif
bool geomInitDone_
Note if geometry info is already initialized.
void print(const reco::TrackBaseRef track) const
Print hit pattern on track.
std::pair< unsigned int, unsigned int > PFTrackHitInfo
PFTrackHitFullInfo analyze(const TrackerTopology *tkerTopo, const TrackerGeometry *tkerGeom, const reco::TrackBaseRef track, const TransientVertex &vert)
void init(const TrackerTopology *, const TrackerGeometry *)
Create map indicating r/z values of all layers/disks.
Definition: DetId.h:17
std::pair< uint32_t, uint32_t > DetInfo
std::map< DetInfo, std::pair< double, double > > RZrangeMap
static bool barrel(uint32_t subDet)
Return a bool indicating if a given subdetector is in the barrel.
std::pair< PFTrackHitInfo, PFTrackHitInfo > PFTrackHitFullInfo
PFCheckHitPatter.