00001 #ifndef ALTDEMUXDISPLAY_H
00002 #define ALTDEMUXDISPLAY_H
00003
00004 class AltDeMuxDisplay;
00005 class MomNavigator;
00006 class CandDigitListHandle;
00007
00008
00009 #include "Plex/PlexSEIdAltL.h"
00010 #include "JobControl/JobCModule.h"
00011 #include "TTree.h"
00012 #include "TNamed.h"
00013 #include "TCanvas.h"
00014 #include "TH2.h"
00015 #include "AltDeMuxStructures.h"
00016
00017 class TCanvas;
00018 class TPad;
00019 class TPolyMarker;
00020 class TPolyLine;
00021 class TArc;
00022 class TH2F;
00023
00024
00025 class AltDeMuxDisplay
00026 {
00027
00028 public:
00029
00030 AltDeMuxDisplay();
00031 void Ana(const MomNavigator *mom);
00032 bool Draw(int ipad);
00033 int MaxPlane(int irun);
00034 void FindNearestEdge(float x, float y, int &idege, float &d);
00035
00036 private:
00037
00038
00039
00040 bool amPSing;
00041 bool amCutting;
00042 bool amVetoing;
00043
00044 int _maxPlane;
00045 int _lastRun;
00046 int xMaxPlane;
00047
00048 int NdemuxedHitsU;
00049
00050 float demuxedHitPlaneU[20000];
00051 float demuxedHitStripU[20000];
00052 float demuxedHitQU[20000];
00053 float demuxedHitTU[20000];
00054 float QSPlane[520];
00055 float QPlane[520];
00056 int NdemuxedHitsV;
00057 float demuxedHitPlaneV[20000];
00058 float demuxedHitStripV[20000];
00059 float demuxedHitQV[20000];
00060 float demuxedHitTV[20000];
00061
00062 int NdemuxedPairsV;
00063 int NdemuxedPairsU;
00064 float demuxedPairPlaneV[20000];
00065 float demuxedPairPlaneU[20000];
00066 float demuxedPairTimeV[20000];
00067 float demuxedPairTimeU[20000];
00068
00069 int NVeto;
00070 float xVeto[1000];
00071 float yVeto[1000];
00072 float zVeto[1000];
00073
00074
00075
00076
00077 std::vector<PlexSEIdAltL*>PlanesAltListsE[500];
00078 std::vector<PlexSEIdAltL*>PlanesAltListsW[500];
00079 std::vector<DeMuxedPair>_demuxedPairs;
00080
00081 TCanvas* fCanvas;
00082 TPad *fUpad;
00083 TPad *fVpad;
00084 TPad *fXYpad;
00085 TPad *fZQpad;
00086 TPad *fZTpad;
00087 TH2F *fUview;
00088 TH2F *fVview;
00089 TH2F *fXYview;
00090 TH1F *fZQview;
00091 TH2F *fZTview;
00092
00093 TList* fList;
00094 TPolyLine* pZTFit;
00095 TPolyLine* pCut1;
00096 TPolyLine* pCut2;
00097 TPolyLine* pSM1;
00098 TPolyLine* pSM2;
00099 TPolyLine* pBoxSM1;
00100 TPolyLine* pBoxSM2;
00101 TPolyLine* pOctagon;
00102 TPolyLine* pOctagonC;
00103 TArc* pCircle;
00104 };
00105 #endif // ALTDEMUXDISPLAY_H