CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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,
55  RPCAMCLinkCounters& counters) const;
56  bool processBlock(int fed,
57  std::uint64_t const*& word,
58  std::uint64_t const* word_end,
59  std::uint16_t& crc,
60  RPCAMCLinkCounters& counters,
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,
68  RPCAMCLinkCounters& counters,
69  std::set<std::pair<RPCDetId, RPCDigi> >& digis) const;
70  void processRPCRecord(int fed,
71  unsigned int amc_number,
72  unsigned int bx_counter,
74  RPCAMCLinkCounters& counters,
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
bool processCDFHeaders(int fed, std::uint64_t const *&word, std::uint64_t const *&word_end, std::uint16_t &crc, RPCAMCLinkCounters &counters) const
void beginRun(edm::Run const &run, edm::EventSetup const &setup) override
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
edm::ESGetToken< RPCAMCLinkMap, RPCTwinMuxLinkMapRcd > es_tm_link_map_br_token_
RPCTwinMuxRawToDigi(edm::ParameterSet const &config)
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
uint64_t word
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t uint32_t CAHitNtupletGeneratorKernelsGPU::Counters * counters
edm::EDGetTokenT< FEDRawDataCollection > raw_token_
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
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
edm::ESGetToken< RPCAMCLinkMap, RPCTwinMuxLinkMapRcd > es_tm_link_map_token_
edm::ESWatcher< RPCTwinMuxLinkMapRcd > es_tm_link_map_watcher_
edm::ESGetToken< RPCLBLinkMap, RPCLBLinkMapRcd > es_lb_link_map_token_
unsigned long long uint64_t
Definition: Time.h:13
tuple config
parse the configuration file
static void fillDescriptions(edm::ConfigurationDescriptions &descs)
void produce(edm::Event &event, edm::EventSetup const &setup) override
std::vector< int > feds_
void putCounters(edm::Event &event, std::unique_ptr< RPCAMCLinkCounters > counters)
static void compute_crc_64bit(std::uint16_t &crc, std::uint64_t const &word)
edm::ESHandle< RPCLBLinkMap > es_lb_link_map_
edm::ESHandle< RPCAMCLinkMap > es_tm_link_map_
tuple size
Write out results.
void putRPCDigis(edm::Event &event, std::set< std::pair< RPCDetId, RPCDigi > > const &digis)
Definition: Run.h:45