File indexing completed on 2024-04-06 12:10:39
0001 #ifndef GctDigiToRaw_h
0002 #define GctDigiToRaw_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <memory>
0024
0025
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "FWCore/Framework/interface/global/EDProducer.h"
0028 #include "FWCore/Framework/interface/Event.h"
0029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0030 #include "FWCore/Utilities/interface/EDGetToken.h"
0031
0032 #include "DataFormats/FEDRawData/interface/FEDRawData.h"
0033
0034 #include "EventFilter/GctRawToDigi/src/GctFormatTranslateMCLegacy.h"
0035
0036
0037
0038
0039
0040 class GctDigiToRaw : public edm::global::EDProducer<> {
0041 public:
0042 explicit GctDigiToRaw(const edm::ParameterSet&);
0043
0044 private:
0045 void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const final;
0046
0047 void print(FEDRawData& data) const;
0048
0049 private:
0050
0051 edm::EDGetTokenT<L1GctEmCandCollection> tokenL1GctEmCand_isoEm_;
0052 edm::EDGetTokenT<L1GctEmCandCollection> tokenL1GctEmCand_nonIsoEm_;
0053 edm::EDGetTokenT<L1GctJetCandCollection> tokenGctJetCand_cenJets_;
0054 edm::EDGetTokenT<L1GctJetCandCollection> tokenGctJetCand_forJets_;
0055 edm::EDGetTokenT<L1GctJetCandCollection> tokenGctJetCand_tauJets_;
0056 edm::EDGetTokenT<L1GctEtTotalCollection> tokenGctEtTotal_;
0057 edm::EDGetTokenT<L1GctEtHadCollection> tokenGctEtHad_;
0058 edm::EDGetTokenT<L1GctEtMissCollection> tokenGctEtMiss_;
0059 edm::EDGetTokenT<L1GctHFRingEtSumsCollection> tokenGctHFRingEtSums_;
0060 edm::EDGetTokenT<L1GctHFBitCountsCollection> tokenGctHFBitCounts_;
0061 edm::EDGetTokenT<L1GctHtMissCollection> tokenGctHtMiss_;
0062 edm::EDGetTokenT<L1GctJetCountsCollection> tokenGctJetCounts_;
0063 edm::EDGetTokenT<L1CaloEmCollection> tokenCaloEm_;
0064 edm::EDGetTokenT<L1CaloRegionCollection> tokenCaloRegion_;
0065 edm::EDPutTokenT<FEDRawDataCollection> tokenPut_;
0066
0067 const bool packRctEm_;
0068 const bool packRctCalo_;
0069
0070
0071 const int fedId_;
0072
0073
0074 const bool verbose_;
0075
0076
0077 mutable std::atomic<int> counter_;
0078 };
0079
0080 #endif