00001 // \class EEqaSorterA 00002 // \author Jan Balewski, Hal Spinka 00003 // $Id: EEqaSorterA.h,v 1.3 2009/02/24 04:07:45 ogrebeny Exp $ 00004 00005 #ifndef EEqaSorterA_h 00006 #define EEqaSorterA_h 00007 00008 #include "TObject.h" 00009 #include "StEEmcUtil/EEfeeRaw/EEdims.h" 00010 00011 class TObjArray; 00012 00013 class TH1F; 00014 class TH2F; 00015 class EztEmcRawData; 00016 00017 class EEqaSorterA :public TObject{ 00018 00019 private: 00020 TH2F **hCrate; // chan vs. ADC per crate 00021 TH1F **hCrateHot; // counts/chan for ADC>4*ped4+thr1 00022 int hotTwThres; // used to count hot towers 00023 int feePed[MaxTwCrateID*MaxTwCrateCh]; // pedestals loaded to FEE, note DAQ ped=4*ped4 00024 00025 void sortDaqTower1(const EztEmcRawData *t); 00026 void sortDaqTowerHot(const EztEmcRawData *t); 00027 void sortDaqMapmt0(const EztEmcRawData *s, int ver); 00028 00029 public: 00030 EEqaSorterA(); 00031 virtual ~EEqaSorterA(); 00032 void initCrateHisto(TObjArray *HList, int nb = 150, int mx = 600); 00033 int usePed4(const Char_t *filename = "eemcPed4.dat"); 00034 void sort(const EztEmcRawData *t, const EztEmcRawData *s, int ver ); 00035 void Finish(); 00036 void resetHisto(); 00037 00038 void saveHisto(TFile *f) const; 00039 00040 ClassDef(EEqaSorterA,1) 00041 }; 00042 00043 #endif 00044 00045 // $Log: EEqaSorterA.h,v $ 00046 // Revision 1.3 2009/02/24 04:07:45 ogrebeny 00047 // Fixed part of the trigger histograms 00048 // 00049 // Revision 1.2 2009/01/23 00:14:50 ogrebeny 00050 // Inherited EEmcDb from StEEmcDbMaker to fix run-time bug http://www.star.bnl.gov/rt2/Ticket/Display.html?id=1378 00051 // 00052 // Revision 1.1 2005/04/28 20:54:46 balewski 00053 // start 00054 // 00055 // Revision 1.5 2004/02/17 03:09:18 balewski 00056 // *** empty log message *** 00057 // 00058 // Revision 1.4 2004/01/29 17:23:14 balewski 00059 // fix for BTOW 00060 // 00061 // Revision 1.3 2004/01/27 16:29:39 balewski 00062 // reset added 00063 // 00064 // Revision 1.7 2004/01/21 18:53:33 spinka 00065 // Various problems fixed for towers. More remain. 00066 // 00067 00068 /* how to merge with Panitkin code 00069 1) disable ClassDef(EEqaSorterA) in .cxx & .h 00070 00071 2) histo I/O 00072 00073 histoHandler.cxx:17:#include "EEqaSorterA.h" 00074 histoHandler.cxx:18:EEqaSorterA *eeqaA; 00075 00076 increae memeory 3x 00077 mfile = TMapFile::Create("hsimple.map","RECREATE", 90000000, .... 00078 00079 histoHandler.cxx:293: eeqaA=new EEqaSorterA; // creates EEMC related histos 00080 00081 line ~350 00082 eeqaA->saveHistoAdd(); 00083 00084 3) sorter 00085 eventLoop.cxx:18:#include "EEqaSorterA.h" 00086 eventLoop.cxx:19:extern EEqaSorterA *eeqaA; 00087 eventLoop.cxx:1655: eeqaA->sort(evp->token); 00088 00089 4) presenter 00090 test_3.h test_3.h: static const int MAX_SUBTABS = 11; 00091 00092 00093 test_3.cxx:3:#include "EEqaPresenter.h" 00094 00095 line ~200 00096 TabNames[10][0]="EEMC"; 00097 00098 line ~290 00099 00100 //ETOW and ESMD 00101 nSubTabs[10]=4; 00102 TabNames[10][1]="Errors"; 00103 TabNames[10][2]="Towers"; 00104 TabNames[10][3]="SMD sec 5,6"; 00105 TabNames[10][4]="SMD sec 7,8"; 00106 // [9] is last 00107 00108 5) add canvas divisions to 00109 CanvasDescriptions.txt 00110 00111 10,1,2,2,1,cr1 00112 10,2,3,2,1,cr1 00113 10,3,4,2,1,cr1 00114 10,4,8,1,1,cr1 00115 00116 */ 00117 00118
1.5.9