Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DataQualityReader.h

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

Generated on Mon Feb 15 11:06:34 2010 for loon by  doxygen 1.3.9.1