Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:31

0001 #ifndef DTRawToDigi_DTUnpackingModule_h
0002 #define DTRawToDigi_DTUnpackingModule_h
0003 
0004 /** \class DTUnpackingModule
0005  *  The unpacking module for DTs.
0006  *
0007  * \author N. Amapane - S. Argiro' - M. Zanetti
0008  */
0009 
0010 #include "FWCore/Framework/interface/stream/EDProducer.h"
0011 #include "FWCore/Utilities/interface/InputTag.h"
0012 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0013 #include "FWCore/Utilities/interface/ESGetToken.h"
0014 #include "CondFormats/DataRecord/interface/DTReadOutMappingRcd.h"
0015 #include "CondFormats/DTObjects/interface/DTReadOutMapping.h"
0016 
0017 #include <iostream>
0018 
0019 class DTUnpacker;
0020 
0021 class DTUnpackingModule : public edm::stream::EDProducer<> {
0022 public:
0023   /// Constructor
0024   DTUnpackingModule(const edm::ParameterSet& pset);
0025 
0026   /// Destructor
0027   ~DTUnpackingModule() override;
0028 
0029   /// Call the Unpackers and create the digis
0030   void produce(edm::Event& e, const edm::EventSetup& c) override;
0031 
0032   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0033 
0034 private:
0035   DTUnpacker* unpacker;
0036 
0037   /// if not you need the label
0038   edm::EDGetTokenT<FEDRawDataCollection> inputLabel;
0039   edm::ESGetToken<DTReadOutMapping, DTReadOutMappingRcd> mappingToken_;
0040   /// do you want to use the standard DT FED ID's, i.e. [770-775]? (why the hell 6??)
0041   bool useStandardFEDid_;
0042   /// if not you need to set the range by hand
0043   int minFEDid_;
0044   int maxFEDid_;
0045   bool dqmOnly;
0046   bool performDataIntegrityMonitor;
0047   std::string dataType;
0048 };
0049 
0050 #endif