CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/Fireworks/Tracks/plugins/FWTrackResidualDetailView.h

Go to the documentation of this file.
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 };