CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelRecHit.h
Go to the documentation of this file.
1 #ifndef DataFormats_SiPixelRecHit_h
2 #define DataFormats_SiPixelRecHit_h 1
3 
4 //---------------------------------------------------------------------------
14 //---------------------------------------------------------------------------
15 
20 
21 #include "TkCloner.h"
22 
24 
25 public:
26 
28 
30 
32 
33  SiPixelRecHit( const LocalPoint& pos , const LocalError& err,
35  GeomDet const & idet,
36  ClusterRef const& clus) :
37  TrackerSingleRecHit(pos,err,idet, clus){
38  qualWord_=qual; }
39 
40  virtual bool isPixel() const GCC11_OVERRIDE { return true;}
41 
42 
43  virtual SiPixelRecHit * clone() const {return new SiPixelRecHit( * this); }
44 #ifdef NO_DICT
45  virtual RecHitPointer cloneSH() const { return std::make_shared<SiPixelRecHit>(*this);}
46 #endif
47 
48 
49  ClusterRef cluster() const { return cluster_pixel(); }
50 
51  void setClusterRef(ClusterRef const & ref) {setClusterPixelRef(ref);}
52 
53  virtual int dimension() const {return 2;}
54  virtual void getKfComponents( KfComponentsHolder & holder ) const { getKfComponents2D(holder); }
55 
56 
57  virtual bool canImproveWithTrack() const {return true;}
58 private:
59  // double dispatch
60  virtual SiPixelRecHit * clone(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const {
61  return cloner(*this,tsos);
62  }
63 #ifdef NO_DICT
64  virtual RecHitPointer cloneSH(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const {
65  return cloner.makeShared(*this,tsos);
66  }
67 #endif
68 
69 public:
70  //--- The overall probability. flags is the 32-bit-packed set of flags that
71  //--- our own concrete implementation of clusterProbability() uses to direct
72  //--- the computation based on the information stored in the quality word
73  //--- (and which was computed by the CPE). The default of flags==0 returns
74  //--- probabilityY() only (as that's the safest thing to do).
75  //--- Flags are static and kept in the transient rec hit.
76  float clusterProbability(unsigned int flags = 0) const;
77 
78 
79  //--- Allow direct access to the packed quality information.
81  return qualWord_ ;
82  }
83 
84 
85  //--- Template fit probability, in X and Y directions
86  //--- These are obsolete and will be taken care of in the quality code
87  inline float probabilityX() const {
89  }
90  inline float probabilityY() const {
92  }
93 
94  //--- Template fit probability, in X and Y direction combined and in charge
95  inline float probabilityXY() const {
97  }
98  inline float probabilityQ() const {
100  }
101 
102  //--- Charge `bin' (values 0, 1, 2, 3) according to Morris's template
103  //--- code. qBin==4 is unphysical, qBin=5,6,7 are yet unused)
104  //
105  inline int qBin() const {
106  return SiPixelRecHitQuality::thePacking.qBin( qualWord_ );
107  }
108 
109  //--- Quality flags (true or false):
110 
111  //--- The cluster is on the edge of the module, or straddles a dead ROC
112  inline bool isOnEdge() const {
113  return SiPixelRecHitQuality::thePacking.isOnEdge( qualWord_ );
114  }
115  //--- The cluster contains bad pixels, or straddles bad column or two-column
116  inline bool hasBadPixels() const {
118  }
119  //--- The cluster spans two ROCS (and thus contains big pixels)
120  inline bool spansTwoROCs() const {
122  }
123 
124  //--- Quality flag for whether the probability is filled
125  inline bool hasFilledProb() const {
127  }
128 
129 };
130 
131 #endif
float probabilityQ(QualWordType qualWord) const
virtual void getKfComponents(KfComponentsHolder &holder) const
Definition: SiPixelRecHit.h:54
bool spansTwoROCs(QualWordType qualWord) const
static const Packing thePacking
#define GCC11_OVERRIDE
float probabilityXY() const
Definition: SiPixelRecHit.h:95
SiPixelRecHitQuality::QualWordType rawQualityWord() const
Definition: SiPixelRecHit.h:80
float probabilityQ() const
Definition: SiPixelRecHit.h:98
bool hasBadPixels() const
std::vector< Variable::Flags > flags
Definition: MVATrainer.cc:135
virtual bool canImproveWithTrack() const
Definition: SiPixelRecHit.h:57
bool hasFilledProb() const
void setClusterRef(ClusterRef const &ref)
Definition: SiPixelRecHit.h:51
float probabilityXY(QualWordType qualWord) const
int qBin() const
float probabilityY(QualWordType qualWord) const
int qBin(QualWordType qualWord) const
float probabilityX(QualWordType qualWord) const
edm::Ref< edmNew::DetSetVector< SiPixelCluster >, SiPixelCluster > ClusterRef
Definition: SiPixelRecHit.h:27
float probabilityY() const
Definition: SiPixelRecHit.h:90
SiPixelRecHit(const LocalPoint &pos, const LocalError &err, SiPixelRecHitQuality::QualWordType qual, GeomDet const &idet, ClusterRef const &clus)
Definition: SiPixelRecHit.h:33
bool isOnEdge() const
ClusterRef cluster() const
Definition: SiPixelRecHit.h:49
string const
Definition: compareJSON.py:14
float probabilityX() const
Definition: SiPixelRecHit.h:87
bool isOnEdge(QualWordType qualWord) const
virtual bool isPixel() const GCC11_OVERRIDE
Definition: SiPixelRecHit.h:40
Pixel cluster – collection of neighboring pixels above threshold.
virtual SiPixelRecHit * clone(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const
Definition: SiPixelRecHit.h:60
bool hasBadPixels(QualWordType qualWord) const
virtual int dimension() const
Definition: SiPixelRecHit.h:53
bool spansTwoROCs() const
virtual SiPixelRecHit * clone() const
Definition: SiPixelRecHit.h:43
Pixel Reconstructed Hit.
bool hasFilledProb(QualWordType qualWord) const
Unlimited (trivial) bounds.