Go to the documentation of this file.00001 #ifndef HcalRawToDigi_h
00002 #define HcalRawToDigi_h
00003
00017 #include "FWCore/Framework/interface/EDProducer.h"
00018 #include "FWCore/Framework/interface/Event.h"
00019 #include "DataFormats/Common/interface/Handle.h"
00020
00021 #include "FWCore/Framework/interface/EventSetup.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023
00024 #include "EventFilter/HcalRawToDigi/interface/HcalUnpacker.h"
00025 #include "EventFilter/HcalRawToDigi/interface/HcalDataFrameFilter.h"
00026
00027 class HcalRawToDigi : public edm::EDProducer
00028 {
00029 public:
00030 explicit HcalRawToDigi(const edm::ParameterSet& ps);
00031 virtual ~HcalRawToDigi();
00032 virtual void produce(edm::Event& e, const edm::EventSetup& c);
00033 private:
00034 edm::InputTag dataTag_;
00035 HcalUnpacker unpacker_;
00036 HcalDataFrameFilter filter_;
00037 std::vector<int> fedUnpackList_;
00038 int firstFED_;
00039 bool unpackCalib_, unpackZDC_, unpackTTP_;
00040 bool silent_,complainEmptyData_;
00041 int expectedOrbitMessageTime_;
00042
00043 struct Statistics {
00044 int max_hbhe, ave_hbhe;
00045 int max_ho, ave_ho;
00046 int max_hf, ave_hf;
00047 int max_tp, ave_tp;
00048 int max_tpho, ave_tpho;
00049 int max_calib, ave_calib;
00050 uint64_t n;
00051 } stats_;
00052 };
00053
00054 #endif