CMS 3D CMS Logo

RPCTwinMuxRawToDigi.h
Go to the documentation of this file.
1 #ifndef EventFilter_RPCRawToDigi_RPCTwinMuxRawToDigi_h
2 #define EventFilter_RPCRawToDigi_RPCTwinMuxRawToDigi_h
3 
4 #include <cstdint>
5 #include <vector>
6 #include <utility>
7 #include <set>
8 
13 
21 
23 
24 namespace edm {
26  class Event;
27  class EventSetup;
28  class ParameterSet;
29  class Run;
30 } // namespace edm
31 
33 public:
35  ~RPCTwinMuxRawToDigi() override;
36 
37  static void compute_crc_64bit(std::uint16_t& crc, std::uint64_t const& word);
38 
40 
41  void beginRun(edm::Run const& run, edm::EventSetup const& setup) override;
42  void produce(edm::Event& event, edm::EventSetup const& setup) override;
43 
44 protected:
45  bool processCDFHeaders(int fed,
46  std::uint64_t const*& word,
47  std::uint64_t const*& word_end,
48  std::uint16_t& crc,
50  bool processCDFTrailers(int fed,
51  unsigned int nwords,
52  std::uint64_t const*& word,
53  std::uint64_t const*& word_end,
54  std::uint16_t& crc,
56  bool processBlock(int fed,
57  std::uint64_t const*& word,
58  std::uint64_t const* word_end,
59  std::uint16_t& crc,
61  std::set<std::pair<RPCDetId, RPCDigi> >& digis) const;
62  bool processTwinMux(int fed,
63  unsigned int amc_number,
64  unsigned int size,
65  std::uint64_t const*& word,
66  std::uint64_t const* word_end,
67  std::uint16_t& crc,
69  std::set<std::pair<RPCDetId, RPCDigi> >& digis) const;
70  void processRPCRecord(int fed,
71  unsigned int amc_number,
72  unsigned int bx_counter,
75  std::set<std::pair<RPCDetId, RPCDigi> >& digis,
76  int bx_min,
77  int bx_max,
78  unsigned int link,
79  unsigned int link_max) const;
80  void putRPCDigis(edm::Event& event, std::set<std::pair<RPCDetId, RPCDigi> > const& digis);
81  void putCounters(edm::Event& event, std::unique_ptr<RPCAMCLinkCounters> counters);
82 
83 protected:
85 
88 
90  std::vector<int> feds_;
96 };
97 
98 #endif // EventFilter_RPCRawToDigi_RPCTwinMuxRawToDigi_h
RPCTwinMuxRawToDigi::processBlock
bool processBlock(int fed, std::uint64_t const *&word, std::uint64_t const *word_end, std::uint16_t &crc, RPCAMCLinkCounters &counters, std::set< std::pair< RPCDetId, RPCDigi > > &digis) const
Definition: RPCTwinMuxRawToDigi.cc:216
RPCTwinMuxRawToDigi::processTwinMux
bool processTwinMux(int fed, unsigned int amc_number, unsigned int size, std::uint64_t const *&word, std::uint64_t const *word_end, std::uint16_t &crc, RPCAMCLinkCounters &counters, std::set< std::pair< RPCDetId, RPCDigi > > &digis) const
Definition: RPCTwinMuxRawToDigi.cc:275
RPCTwinMuxRawToDigi::es_tm_link_map_br_token_
edm::ESGetToken< RPCAMCLinkMap, RPCTwinMuxLinkMapRcd > es_tm_link_map_br_token_
Definition: RPCTwinMuxRawToDigi.h:93
RPCTwinMuxRawToDigi
Definition: RPCTwinMuxRawToDigi.h:32
MainPageGenerator.link
link
Definition: MainPageGenerator.py:271
edm::ESWatcher< RPCTwinMuxLinkMapRcd >
ESHandle.h
RPCTwinMuxRawToDigi::produce
void produce(edm::Event &event, edm::EventSetup const &setup) override
Definition: RPCTwinMuxRawToDigi.cc:69
edm::Run
Definition: Run.h:45
edm::EDGetTokenT< FEDRawDataCollection >
edm
HLT enums.
Definition: AlignableModifier.h:19
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
EDProducer.h
RPCTwinMuxRawToDigi::bx_max_
int bx_max_
Definition: RPCTwinMuxRawToDigi.h:87
RPCTwinMuxRawToDigi::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descs)
Definition: RPCTwinMuxRawToDigi.cc:48
ESGetToken.h
RPCTwinMuxRawToDigi::processRPCRecord
void processRPCRecord(int fed, unsigned int amc_number, unsigned int bx_counter, rpctwinmux::RPCRecord const &record, RPCAMCLinkCounters &counters, std::set< std::pair< RPCDetId, RPCDigi > > &digis, int bx_min, int bx_max, unsigned int link, unsigned int link_max) const
Definition: RPCTwinMuxRawToDigi.cc:391
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
RPCTwinMuxRawToDigi::putRPCDigis
void putRPCDigis(edm::Event &event, std::set< std::pair< RPCDetId, RPCDigi > > const &digis)
Definition: RPCTwinMuxRawToDigi.cc:509
RPCTwinMuxRecord.h
word
uint64_t word
Definition: CTPPSTotemDataFormatter.cc:29
RPCAMCLinkMap.h
RPCTwinMuxRawToDigi::processCDFTrailers
bool processCDFTrailers(int fed, unsigned int nwords, std::uint64_t const *&word, std::uint64_t const *&word_end, std::uint16_t &crc, RPCAMCLinkCounters &counters) const
Definition: RPCTwinMuxRawToDigi.cc:177
config
Definition: config.py:1
RPCTwinMuxRawToDigi::putCounters
void putCounters(edm::Event &event, std::unique_ptr< RPCAMCLinkCounters > counters)
Definition: RPCTwinMuxRawToDigi.cc:532
RPCTwinMuxRawToDigi::es_lb_link_map_token_
edm::ESGetToken< RPCLBLinkMap, RPCLBLinkMapRcd > es_lb_link_map_token_
Definition: RPCTwinMuxRawToDigi.h:95
RPCTwinMuxLinkMapRcd.h
counters
const caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple cms::cuda::AtomicPairCounter const GPUCACell *__restrict__ const uint32_t *__restrict__ const gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell *__restrict__ uint32_t uint32_t CAHitNtupletGeneratorKernelsGPU::Counters * counters
Definition: CAHitNtupletGeneratorKernelsImpl.h:43
RPCLBLinkMap.h
RPCTwinMuxRawToDigi::~RPCTwinMuxRawToDigi
~RPCTwinMuxRawToDigi() override
Definition: RPCTwinMuxRawToDigi.cc:38
RPCTwinMuxRawToDigi::feds_
std::vector< int > feds_
Definition: RPCTwinMuxRawToDigi.h:90
RPCTwinMuxRawToDigi::RPCTwinMuxRawToDigi
RPCTwinMuxRawToDigi(edm::ParameterSet const &config)
Definition: RPCTwinMuxRawToDigi.cc:23
edm::ESHandle< RPCAMCLinkMap >
Event
RPCDigi.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
RPCTwinMuxRawToDigi::processCDFHeaders
bool processCDFHeaders(int fed, std::uint64_t const *&word, std::uint64_t const *&word_end, std::uint16_t &crc, RPCAMCLinkCounters &counters) const
Definition: RPCTwinMuxRawToDigi.cc:139
RPCTwinMuxRawToDigi::es_tm_link_map_
edm::ESHandle< RPCAMCLinkMap > es_tm_link_map_
Definition: RPCTwinMuxRawToDigi.h:91
FEDRawDataCollection.h
edm::stream::EDProducer
Definition: EDProducer.h:38
edm::EventSetup
Definition: EventSetup.h:58
rpctwinmux::RPCRecord
Definition: RPCTwinMuxRecord.h:352
RPCAMCLinkCounters.h
RPCTwinMuxRawToDigi::fill_counters_
bool fill_counters_
Definition: RPCTwinMuxRawToDigi.h:86
edm::ESGetToken< RPCAMCLinkMap, RPCTwinMuxLinkMapRcd >
RPCTwinMuxRawToDigi::es_tm_link_map_watcher_
edm::ESWatcher< RPCTwinMuxLinkMapRcd > es_tm_link_map_watcher_
Definition: RPCTwinMuxRawToDigi.h:89
writedatasetfile.run
run
Definition: writedatasetfile.py:27
ConfigurationDescriptions
ESWatcher.h
RPCTwinMuxRawToDigi::bx_min_
int bx_min_
Definition: RPCTwinMuxRawToDigi.h:87
RPCTwinMuxRawToDigi::raw_token_
edm::EDGetTokenT< FEDRawDataCollection > raw_token_
Definition: RPCTwinMuxRawToDigi.h:84
RPCTwinMuxRawToDigi::compute_crc_64bit
static void compute_crc_64bit(std::uint16_t &crc, std::uint64_t const &word)
Definition: RPCTwinMuxRawToDigi.cc:40
RPCTwinMuxRawToDigi::es_tm_link_map_token_
edm::ESGetToken< RPCAMCLinkMap, RPCTwinMuxLinkMapRcd > es_tm_link_map_token_
Definition: RPCTwinMuxRawToDigi.h:94
RPCTwinMuxRawToDigi::es_lb_link_map_
edm::ESHandle< RPCLBLinkMap > es_lb_link_map_
Definition: RPCTwinMuxRawToDigi.h:92
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
RPCTwinMuxRawToDigi::beginRun
void beginRun(edm::Run const &run, edm::EventSetup const &setup) override
Definition: RPCTwinMuxRawToDigi.cc:58
EventSetup
event
Definition: event.py:1
RPCLBLinkMapRcd.h
edm::Event
Definition: Event.h:73
RPCTwinMuxRawToDigi::calculate_crc_
bool calculate_crc_
Definition: RPCTwinMuxRawToDigi.h:86
RPCAMCLinkCounters
Definition: RPCAMCLinkCounters.h:9
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
Run