00001 // -*- C++ -*- 00002 // 00003 // Package: TRacks 00004 // Class : FWTrackDetailView 00005 // 00006 // Original Author: Chad Jarvis 00007 // Created: Wed Mar 7 09:13:47 EST 2008 00008 // 00009 // Implementation: 00010 // use following table pasted from HitPattern.h 00011 // 00012 // +-----+-----+-----+-----+-----+-----+-----+-----+----------------+-----+-----+ 00013 // |tk/mu| sub-structure | sub-sub-structure | stereo | hit type | 00014 // +-----+-----+-----+-----+-----+-----+-----+-----+----------------+-----+-----+ 00015 // | 10 | 9 8 7 | 6 5 4 3 | 2 | 1 0 | bit 00016 // 00017 // |tk = 1 PXB = 1 layer = 1-3 hit type = 0-3 00018 // |tk = 1 PXF = 2 disk = 1-2 hit type = 0-3 00019 // |tk = 1 TIB = 3 layer = 1-4 0=rphi,1=stereo hit type = 0-3 00020 // |tk = 1 TID = 4 wheel = 1-3 0=rphi,1=stereo hit type = 0-3 00021 // |tk = 1 TOB = 5 layer = 1-6 0=rphi,1=stereo hit type = 0-3 00022 // |tk = 1 TEC = 6 wheel = 1-9 0=rphi,1=stereo hit type = 0-3 00023 // |mu = 0 DT = 1 layer hit type = 0-3 00024 // |mu = 0 CSC = 2 layer hit type = 0-3 00025 // |mu = 0 RPC = 3 layer hit type = 0-3 00026 // 00027 // hit type, see DataFormats/TrackingRecHit/interface/TrackingRecHit.h 00028 // valid = valid hit = 0 00029 // missing = detector is good, but no rec hit found = 1 00030 // inactive = detector is off, so there was no hope = 2 00031 // bad = there were many bad strips within the ellipse = 3 00032 // 00033 00034 #include "Rtypes.h" 00035 #include "Fireworks/Core/interface/FWDetailViewCanvas.h" 00036 00037 class FWGeometry; 00038 class FWModelId; 00039 class TEveWindowSlot; 00040 class TEveWindow; 00041 00042 namespace reco { 00043 class Track; 00044 } 00045 00046 class FWTrackResidualDetailView : public FWDetailViewCanvas<reco::Track>{ 00047 public: 00048 FWTrackResidualDetailView(); 00049 virtual ~FWTrackResidualDetailView(); 00050 00051 private: 00052 FWTrackResidualDetailView(const FWTrackResidualDetailView&); // stop default 00053 const FWTrackResidualDetailView& operator=(const FWTrackResidualDetailView&); // stop default 00054 00055 virtual void build (const FWModelId &id, const reco::Track*); 00056 virtual void setTextInfo(const FWModelId &id, const reco::Track*); 00057 00058 double getSignedResidual (const FWGeometry *geom, unsigned int id, double resX); 00059 void prepareData(const FWModelId &id, const reco::Track*); 00060 void printDebug(); 00061 00062 int m_ndet; 00063 int m_nhits; 00064 int m_det[64]; 00065 float res[2][64]; 00066 int hittype[64]; 00067 int stereo[64]; 00068 int substruct[64]; 00069 int subsubstruct[64]; 00070 int m_detector[64]; 00071 00072 Int_t m_resXFill; 00073 Color_t m_resXCol; 00074 Int_t m_resYFill; 00075 Color_t m_resYCol; 00076 Int_t m_stereoFill; 00077 Color_t m_stereoCol; 00078 Int_t m_invalidFill; 00079 Color_t m_invalidCol; 00080 00081 const static char* m_det_tracker_str[]; 00082 };