00001 #ifndef DATAQUALITYREADER_H 00002 #define DATAQUALITYREADER_H 00003 00004 #include "JobControl/JobCModule.h" 00005 00006 #include "CandDataQualityHandle.h" 00007 #include "CandDeadChipHandle.h" 00008 00009 #include "DQHeader.h" 00010 #include "DQRawDigits.h" 00011 #include "DQHotColdElectronics.h" 00012 #include "DQLightInjection.h" 00013 #include "DQSpillServer.h" 00014 00015 #include "TFile.h" 00016 #include "TTree.h" 00017 00018 class JobCommand; 00019 class MomNavigator; 00020 00021 class DataQualityReader : public JobCModule, public TObject 00022 { 00023 00024 public: 00025 00026 DataQualityReader(); 00027 ~DataQualityReader(); 00028 void BeginJob(); 00029 JobCResult Reco(MomNavigator* mom); 00030 JobCResult Ana(const MomNavigator* mom); 00031 const Registry& DefaultConfig() const; 00032 void Config(const Registry& r); 00033 void HandleCommand(JobCommand* command); 00034 void EndJob(); 00035 00036 private: 00037 00038 Bool_t fRecord; 00039 Bool_t fSnarl; 00040 Bool_t fFilter; 00041 Int_t fCounter; 00042 00043 DQHeader* fDQHeader; 00044 DQRawDigits* fDQRawDigits; 00045 DQHotColdElectronics* fDQHotColdElectronics; 00046 DQLightInjection* fDQLightInjection; 00047 DQSpillServer* fDQSpillServer; 00048 00049 void ProcessHeader(TObject* obj); 00050 void ProcessBlock(TObject* obj); 00051 Bool_t ApplyFilter(CandDataQualityHandle* cdh); 00052 00053 Int_t fWriteDataQuality; 00054 Int_t fWriteDeadChips; 00055 Int_t fFilterOnOff; 00056 Int_t fFilterBadDataQuality; 00057 Int_t fFilterLowMultiplicity; 00058 Int_t fFilterHighMultiplicity; 00059 Int_t fFilterWord; 00060 00061 TFile* fDataQualityFile; 00062 TTree* fDataQualityTree; 00063 Int_t Time; 00064 Int_t RunType; 00065 Int_t Run; 00066 Int_t SubRun; 00067 Int_t TimeFrame; 00068 Int_t Snarl; 00069 Int_t TriggerSource; 00070 Int_t TriggerTime; 00071 Int_t ErrorCode; 00072 Int_t CrateMask; 00073 Int_t PreTriggerDigits; 00074 Int_t PostTriggerDigits; 00075 Int_t SnarlMultiplicity; 00076 Int_t SpillStatus; 00077 Int_t SpillType; 00078 Int_t SpillTimeError; 00079 Int_t LiTrigger; 00080 Int_t LiTime; 00081 Int_t LiSubtractedTime; 00082 Int_t LiRelativeTime; 00083 Int_t LiCalibPoint; 00084 Int_t LiCalibType; 00085 Int_t LiPulserBox; 00086 Int_t LiPulserLed; 00087 Int_t LiPulseHeight; 00088 Int_t LiPulseWidth; 00089 Int_t ColdChips; 00090 Int_t HotChips; 00091 Int_t BusyChips; 00092 Int_t ReadoutErrors; 00093 Int_t DataQuality; 00094 00095 TFile* fDeadChipFile; 00096 TTree* fDeadChipTree; 00097 Int_t Entries; 00098 Int_t ChannelId; 00099 Int_t Adc; 00100 Int_t Tdc; 00101 Int_t TriggerRate; 00102 Int_t ChipStatus; 00103 00104 ClassDef(DataQualityReader,1) 00105 }; 00106 00107 #endif
1.3.9.1