CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PFCheckHitPattern.h
Go to the documentation of this file.
1 #ifndef PFCheckHitPattern_H
2 #define PFCheckHitPattern_H
3 
4 // standard EDAnalyser include files
5 #include <memory>
11 
18 
19 #define DEBUG_CHECKHITPATTERN
20 
21 class DetId;
22 
24 
29 /*
30  * Determine if a track has hits in front of its assumed production point.
31  * Also determine if it misses hits between its assumed production point and its innermost hit.
32  */
33 
35 public:
37 
39 
40  typedef std::pair<unsigned int, unsigned int> PFTrackHitInfo;
41  typedef std::pair<PFTrackHitInfo, PFTrackHitInfo> PFTrackHitFullInfo;
42 
47 
49  const TrackerGeometry* tkerGeom,
51  const TransientVertex& vert);
52 
54  void print(const reco::TrackBaseRef track) const;
55 
56 private:
58  void init(const TrackerTopology*, const TrackerGeometry*);
59 
62  typedef std::pair<uint32_t, uint32_t> DetInfo;
63 
65  static bool barrel(uint32_t subDet);
66 
67  void print(const reco::HitPattern::HitCategory, const reco::HitPattern& hp) const;
68 
69 private:
72 
75  typedef std::map<DetInfo, std::pair<double, double> > RZrangeMap;
77 };
78 
79 #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.