CMS 3D CMS Logo

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 
36  public:
37 
39 
41 
42  typedef std::pair <unsigned int, unsigned int> PFTrackHitInfo;
43  typedef std::pair <PFTrackHitInfo, PFTrackHitInfo> PFTrackHitFullInfo;
44 
49 
50  PFTrackHitFullInfo
52  const TransientVertex& vert);
53 
55  void print(const reco::TrackBaseRef track) const;
56 
57 
58 
59 private:
62 
65  typedef std::pair<uint32_t, uint32_t> DetInfo;
66  static DetInfo interpretDetId(DetId detId);
67 
69  static bool barrel(uint32_t subDet);
70 
71  void print(const reco::HitPattern::HitCategory, const reco::HitPattern& hp) const;
72 
73 private:
76 
79  typedef std::map< DetInfo, std::pair< double, double> > RZrangeMap;
80  RZrangeMap rangeRorZ_;
81 
82 
83 };
84 
85 #endif
bool geomInitDone_
Note if geometry info is already initialized.
void print(const reco::TrackBaseRef track) const
Print hit pattern on track.
PFTrackHitFullInfo analyze(edm::ESHandle< TrackerGeometry >, const reco::TrackBaseRef track, const TransientVertex &vert)
std::pair< unsigned int, unsigned int > PFTrackHitInfo
static DetInfo interpretDetId(DetId detId)
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
Definition: DetId.h:18
std::pair< uint32_t, uint32_t > DetInfo
std::map< DetInfo, std::pair< double, double > > RZrangeMap
void init(edm::ESHandle< TrackerGeometry >)
Create map indicating r/z values of all layers/disks.
static bool barrel(uint32_t subDet)
Return a bool indicating if a given subdetector is in the barrel.
std::pair< PFTrackHitInfo, PFTrackHitInfo > PFTrackHitFullInfo
PFCheckHitPatter.