File indexing completed on 2023-03-17 11:22:04
0001 #ifndef HcalTBObjectUnpacker_h
0002 #define HcalTBObjectUnpacker_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "FWCore/Framework/interface/stream/EDProducer.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "DataFormats/Common/interface/Handle.h"
0020
0021 #include "FWCore/Framework/interface/EventSetup.h"
0022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0023 #include "FWCore/Utilities/interface/InputTag.h"
0024
0025 #include "RecoTBCalo/HcalTBObjectUnpacker/interface/HcalTBTriggerDataUnpacker.h"
0026 #include "RecoTBCalo/HcalTBObjectUnpacker/interface/HcalTBSlowDataUnpacker.h"
0027 #include "RecoTBCalo/HcalTBObjectUnpacker/interface/HcalTBTDCUnpacker.h"
0028 #include "RecoTBCalo/HcalTBObjectUnpacker/interface/HcalTBQADCUnpacker.h"
0029 #include "RecoTBCalo/HcalTBObjectUnpacker/interface/HcalTBSourcePositionDataUnpacker.h"
0030
0031 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0032
0033 class HcalTBObjectUnpacker : public edm::stream::EDProducer<> {
0034 public:
0035 explicit HcalTBObjectUnpacker(const edm::ParameterSet& ps);
0036
0037 void produce(edm::Event& e, const edm::EventSetup& c) override;
0038
0039 private:
0040 int triggerFed_;
0041 int sdFed_;
0042 int spdFed_;
0043 int tdcFed_;
0044 int qadcFed_;
0045 std::string calibFile_;
0046 hcaltb::HcalTBTriggerDataUnpacker tdUnpacker_;
0047 hcaltb::HcalTBSlowDataUnpacker sdUnpacker_;
0048 hcaltb::HcalTBTDCUnpacker tdcUnpacker_;
0049 hcaltb::HcalTBQADCUnpacker qadcUnpacker_;
0050 hcaltb::HcalTBSourcePositionDataUnpacker spdUnpacker_;
0051 bool doRunData_, doTriggerData_, doEventPosition_, doTiming_, doSourcePos_, doBeamADC_;
0052
0053 std::vector<std::vector<std::string> > calibLines_;
0054 edm::EDGetTokenT<FEDRawDataCollection> tok_raw_;
0055
0056 void parseCalib();
0057 };
0058
0059 #endif