CMS 3D CMS Logo

L1TTwinMuxRawToDigi.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
13 //
14 //--------------------------------------------------
15 #ifndef L1TXRAWTODIGI_L1TTWINMUXRAWTODIGI_HH
16 #define L1TXRAWTODIGI_L1TTWINMUXRAWTODIGI_HH
17 
22 
27 
28 #include <string>
29 
31 public:
34 
36  ~L1TTwinMuxRawToDigi() override;
37 
39  void produce(edm::StreamID, edm::Event& e, const edm::EventSetup& c) const override;
40 
42  bool fillRawData(edm::Event& e,
45  L1MuDTChambPhContainer::Phi_Container& phi_out_data) const;
46 
47  void processFed(int twinmuxfed,
48  int wheel,
49  std::array<short, 12> const& twinMuxAmcSec,
53  L1MuDTChambPhContainer::Phi_Container& phi_out_data) const;
54 
55 private:
56  bool debug_;
57  size_t nfeds_;
59  std::vector<int> feds_;
60  std::vector<int> wheels_;
61  std::vector<long long int> amcsecmap_;
62  std::vector<std::array<short, 12> > amcsec_;
63 
64  // utilities
65  inline unsigned char* readline(unsigned char* lineFED, int& lines, long& dataWord) const {
66  dataWord = *((long*)lineFED);
67  lineFED += 8;
68  ++lines;
69  return lineFED;
70  }
71 
73 
75 
76  int normBx(int bx_, int bxCnt_) const;
77  int radAngConversion(int radAng_) const;
78  int benAngConversion(int benAng_) const;
79 };
80 
81 #endif
edm::StreamID
Definition: StreamID.h:30
L1TTwinMuxRawToDigi::processFed
void processFed(int twinmuxfed, int wheel, std::array< short, 12 > const &twinMuxAmcSec, edm::Handle< FEDRawDataCollection > data, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data, L1MuDTChambPhContainer::Phi_Container &phi_out_data) const
Definition: L1TTwinMuxRawToDigi.cc:134
L1TTwinMuxRawToDigi::amcsec_
std::vector< std::array< short, 12 > > amcsec_
Definition: L1TTwinMuxRawToDigi.h:62
edm::EDGetTokenT< FEDRawDataCollection >
L1TTwinMuxRawToDigi::getDTTM7InputTag
edm::InputTag getDTTM7InputTag() const
Definition: L1TTwinMuxRawToDigi.h:72
L1TTwinMuxRawToDigi::readline
unsigned char * readline(unsigned char *lineFED, int &lines, long &dataWord) const
Definition: L1TTwinMuxRawToDigi.h:65
L1TTwinMuxRawToDigi::~L1TTwinMuxRawToDigi
~L1TTwinMuxRawToDigi() override
Destructor.
Definition: L1TTwinMuxRawToDigi.cc:70
L1TTwinMuxRawToDigi::produce
void produce(edm::StreamID, edm::Event &e, const edm::EventSetup &c) const override
Produce digis out of raw data.
Definition: L1TTwinMuxRawToDigi.cc:72
L1MuDTChambThContainer.h
edm::Handle
Definition: AssociativeIterator.h:50
L1TTwinMuxRawToDigi::amcsecmap_
std::vector< long long int > amcsecmap_
Definition: L1TTwinMuxRawToDigi.h:61
L1TTwinMuxRawToDigi::feds_
std::vector< int > feds_
Definition: L1TTwinMuxRawToDigi.h:59
L1TTwinMuxRawToDigi::benAngConversion
int benAngConversion(int benAng_) const
Definition: L1TTwinMuxRawToDigi.cc:127
L1TTwinMuxRawToDigi::DTTM7InputTag_
edm::InputTag DTTM7InputTag_
Definition: L1TTwinMuxRawToDigi.h:58
edm::global::EDProducer
Definition: EDProducer.h:32
L1TTwinMuxRawToDigi::L1TTwinMuxRawToDigi
L1TTwinMuxRawToDigi(const edm::ParameterSet &pset)
Constructor.
Definition: L1TTwinMuxRawToDigi.cc:34
L1TTwinMuxRawToDigi
Definition: L1TTwinMuxRawToDigi.h:30
edm::ParameterSet
Definition: ParameterSet.h:36
groupFilesInBlocks.lines
lines
Definition: groupFilesInBlocks.py:95
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
L1TTwinMuxRawToDigi::Raw_token
edm::EDGetTokenT< FEDRawDataCollection > Raw_token
Definition: L1TTwinMuxRawToDigi.h:74
FEDRawDataCollection.h
edm::EventSetup
Definition: EventSetup.h:57
L1TTwinMuxRawToDigi::normBx
int normBx(int bx_, int bxCnt_) const
Definition: L1TTwinMuxRawToDigi.cc:107
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
L1MuDTChambPhContainer.h
L1MuDTChambThContainer::The_Container
std::vector< L1MuDTChambThDigi > The_Container
Definition: L1MuDTChambThContainer.h:35
L1TTwinMuxRawToDigi::radAngConversion
int radAngConversion(int radAng_) const
Definition: L1TTwinMuxRawToDigi.cc:120
InputTag.h
L1MuDTTrackContainer.h
L1MuDTChambPhContainer::Phi_Container
std::vector< L1MuDTChambPhDigi > Phi_Container
Definition: L1MuDTChambPhContainer.h:35
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
ConsumesCollector.h
ParameterSet.h
L1TTwinMuxRawToDigi::wheels_
std::vector< int > wheels_
Definition: L1TTwinMuxRawToDigi.h:60
L1TTwinMuxRawToDigi::nfeds_
size_t nfeds_
Definition: L1TTwinMuxRawToDigi.h:57
EDProducer.h
edm::Event
Definition: Event.h:73
L1TTwinMuxRawToDigi::debug_
bool debug_
Definition: L1TTwinMuxRawToDigi.h:56
edm::InputTag
Definition: InputTag.h:15
L1TTwinMuxRawToDigi::fillRawData
bool fillRawData(edm::Event &e, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data, L1MuDTChambPhContainer::Phi_Container &phi_out_data) const
Generate and fill FED raw data for a full event.
Definition: L1TTwinMuxRawToDigi.cc:93
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37