CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWTrackResidualDetailView.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: TRacks
4 // Class : FWTrackDetailView
5 //
6 // Original Author: Chad Jarvis
7 // Created: Wed Mar 7 09:13:47 EST 2008
8 //
9 // Implementation:
10 // use following table pasted from HitPattern.h
11 //
12 // +-----+-----+-----+-----+-----+-----+-----+-----+----------------+-----+-----+
13 // |tk/mu| sub-structure | sub-sub-structure | stereo | hit type |
14 // +-----+-----+-----+-----+-----+-----+-----+-----+----------------+-----+-----+
15 // | 10 | 9 8 7 | 6 5 4 3 | 2 | 1 0 | bit
16 //
17 // |tk = 1 PXB = 1 layer = 1-3 hit type = 0-3
18 // |tk = 1 PXF = 2 disk = 1-2 hit type = 0-3
19 // |tk = 1 TIB = 3 layer = 1-4 0=rphi,1=stereo hit type = 0-3
20 // |tk = 1 TID = 4 wheel = 1-3 0=rphi,1=stereo hit type = 0-3
21 // |tk = 1 TOB = 5 layer = 1-6 0=rphi,1=stereo hit type = 0-3
22 // |tk = 1 TEC = 6 wheel = 1-9 0=rphi,1=stereo hit type = 0-3
23 // |mu = 0 DT = 1 layer hit type = 0-3
24 // |mu = 0 CSC = 2 layer hit type = 0-3
25 // |mu = 0 RPC = 3 layer hit type = 0-3
26 // |mu = 0 GEM = 3 layer hit type = 0-3
27 //
28 // hit type, see DataFormats/TrackingRecHit/interface/TrackingRecHit.h
29 // valid = valid hit = 0
30 // missing = detector is good, but no rec hit found = 1
31 // inactive = detector is off, so there was no hope = 2
32 // bad = there were many bad strips within the ellipse = 3
33 //
34 
35 #include "Rtypes.h"
37 
38 class FWGeometry;
39 class FWModelId;
40 class TEveWindowSlot;
41 class TEveWindow;
42 
43 namespace reco {
44  class Track;
45 }
46 
47 class FWTrackResidualDetailView : public FWDetailViewCanvas<reco::Track>{
48 public:
51 
52 private:
54  const FWTrackResidualDetailView& operator=(const FWTrackResidualDetailView&); // stop default
55 
57  virtual void build (const FWModelId &id, const reco::Track*);
59  virtual void setTextInfo(const FWModelId &id, const reco::Track*);
60 
61  double getSignedResidual (const FWGeometry *geom, unsigned int id, double resX);
62  void prepareData(const FWModelId &id, const reco::Track*);
63  void printDebug();
64 
65  int m_ndet;
66  int m_nhits;
67  int m_det[64];
68  float res[2][64];
69  int hittype[64];
70  int stereo[64];
71  int substruct[64];
72  int subsubstruct[64];
73  int m_detector[64];
74 
75  Int_t m_resXFill;
76  Color_t m_resXCol;
77  Int_t m_resYFill;
78  Color_t m_resYCol;
79  Int_t m_stereoFill;
80  Color_t m_stereoCol;
82  Color_t m_invalidCol;
83 
84  const static char* m_det_tracker_str[];
85 };
double getSignedResidual(const FWGeometry *geom, unsigned int id, double resX)
void prepareData(const FWModelId &id, const reco::Track *)
virtual void build(const FWModelId &id, const reco::Track *)
const FWTrackResidualDetailView & operator=(const FWTrackResidualDetailView &)
static const char * m_det_tracker_str[]
virtual void setTextInfo(const FWModelId &id, const reco::Track *)