CMS 3D CMS Logo

SiStripFEDDump.cc
Go to the documentation of this file.
1 #include <sstream>
2 
11 
16 
18 
19 //
20 // Class declaration
21 //
22 
24 public:
25  explicit SiStripFEDDumpPlugin(const edm::ParameterSet&);
26  ~SiStripFEDDumpPlugin() override;
27 
28 private:
29  void analyze(const edm::Event&, const edm::EventSetup&) override;
30  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
31 
32  //tag of FEDRawData collection
35  //FED ID to dump
36  unsigned int fedIdToDump_;
37 };
38 
39 //
40 // Constructors and destructor
41 //
42 
44  : rawDataTag_(iConfig.getUntrackedParameter<edm::InputTag>("RawDataTag", edm::InputTag("source", ""))),
45  fedIdToDump_(iConfig.getUntrackedParameter<unsigned int>("FEDID", 50)) {
46  rawDataToken_ = consumes<FEDRawDataCollection>(rawDataTag_);
48  edm::LogError("SiStripFEDDump") << "FED ID " << fedIdToDump_ << " is not valid. "
49  << "SiStrip FED IDs are " << uint16_t(FEDNumbering::MINSiStripFEDID) << "-"
50  << uint16_t(FEDNumbering::MAXSiStripFEDID);
51 }
52 
54 
55 //
56 // Member functions
57 //
58 
59 // ------------ method called to for each event ------------
61  //get raw data
62  edm::Handle<FEDRawDataCollection> rawDataCollectionHandle;
63  iEvent.getByToken(rawDataToken_, rawDataCollectionHandle);
64  const FEDRawDataCollection& rawDataCollection = *rawDataCollectionHandle;
65 
66  const FEDRawData& rawData = rawDataCollection.FEDData(fedIdToDump_);
67  const sistrip::FEDBufferBase buffer(rawData.data(), rawData.size(), true);
68  std::ostringstream os;
69  os << buffer << std::endl;
70  buffer.dump(os);
71  edm::LogVerbatim("SiStripFEDDump") << os.str();
72 }
73 
75  const edm::Run& run,
76  const edm::EventSetup& eSetup) {}
77 
78 //
79 // Define as a plug-in
80 //
81 
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:45
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
unsigned int fedIdToDump_
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
edm::InputTag rawDataTag_
~SiStripFEDDumpPlugin() override
SiStripFEDDumpPlugin(const edm::ParameterSet &)
HLT enums.
void analyze(const edm::Event &, const edm::EventSetup &) override
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:24
Definition: Run.h:45