00001
00002
00003
00004
00005 #ifndef EEqaSorter_h
00006 #define EEqaSorter_h
00007
00008 #include <TObject.h>
00009 #include <TString.h>
00010
00011 class TObjArray;
00012 class TH1F;
00013 class TFile;
00014
00015 class EEqaSorterA;
00016 class EEqaSorterC;
00017 class EEdsmAna;
00018 class StEEmcDb;
00019
00020 #include "StEEmcUtil/EEfeeRaw/EEdims.h"
00021 class EztEmcRawData;
00022 class EztEventHeader;
00023 class SpyGeneric;
00024 class SpyCopyCat;
00025
00026 class EEqaSorter :public TObject{
00027
00028 private:
00029 enum {mxH=8};
00030 TH1F *hCorT[mxH];
00031 TH1F *H4jpCor;
00032 TH1F *hCorS[mxH];
00033
00034 EEqaSorterA *sortA;
00035 EEqaSorterC *sortC;
00036 EEdsmAna *dsm;
00037 StEEmcDb *eeDb;
00038
00039 TH1F * H1tot;
00040 const Char_t *pathInp;
00041 const Char_t *pathOut;
00042 int timeStamp;
00043 void crateHealth(EztEmcRawData *eRaw, TH1F **, int es, int ver) const;
00044 void xRayETOW(EztEmcRawData *t, int token) const;
00045 void xRayESMD(EztEmcRawData *s, int token, int ver, int runNo) const;
00046
00047
00048 SpyGeneric **mySpy;
00049 SpyCopyCat **mySpyCC;
00050 int nSpy, nSpyCC;
00051 int minSecSpy;
00052 int nEveSpy;
00053 int spyMode;
00054 int lastSpyRun;
00055
00056 public:
00057 EEqaSorter(StEEmcDb *dbx = 0);
00058 virtual ~EEqaSorter();
00059 void setPath(const char *path_in, const char *path_out) {pathInp = path_in; pathOut = path_out;}
00060 void initHisto(TObjArray *HList = 0, int nb=150, int mx=600);
00061 void initRun();
00062 void sort(EztEmcRawData *t, EztEmcRawData *s,
00063 int runNo, int token, int ver,
00064 const unsigned char * dsm0inp,
00065 const unsigned short int * dsm1inp ,
00066 const unsigned short int * dsm2inp,
00067 const unsigned short int * dsm3inp);
00068 void initSpy(const TObjArray *HList, int minSec, int mode);
00069
00070 void spy(EztEmcRawData *t, EztEmcRawData *s, int runNo=888999, int eventId=777);
00071 void clear();
00072 void Finish();
00073 void resetHisto();
00074 void saveHisto(const Char_t *filename = "out/eemcQA.hist.root") const;
00075 void saveHisto(TFile *f) const;
00076
00077 ClassDef(EEqaSorter,1)
00078 };
00079
00080 #endif
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164