#include <L1TTwinMuxRawToDigi.h>
Public Member Functions | |
bool | fillRawData (edm::Event &e, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data) |
Generate and fill FED raw data for a full event. More... | |
L1TTwinMuxRawToDigi (const edm::ParameterSet &pset) | |
Constructor. More... | |
void | processFed (int twinmuxfed, int wheel, std::array< short, 12 > twinMuxAmcSec, edm::Handle< FEDRawDataCollection > data, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data) |
void | produce (edm::Event &e, const edm::EventSetup &c) |
Produce digis out of raw data. More... | |
virtual | ~L1TTwinMuxRawToDigi () |
Destructor. More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducer () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Private Member Functions | |
int | benAngConversion (int benAng_) |
void | calcCRC (long word, int &myC) |
edm::InputTag | getDTTM7InputTag () |
int | normBx (int bx_, int bxCnt_) |
int | radAngConversion (int radAng_) |
void | readline (int &lines, long &dataWord) |
Private Attributes | |
std::vector< std::array< short, 12 > > | amcsec_ |
std::vector< long long int > | amcsecmap_ |
bool | debug_ |
edm::InputTag | DTTM7InputTag_ |
std::vector< int > | feds_ |
unsigned char * | LineFED_ |
size_t | nfeds_ |
edm::EDGetTokenT < FEDRawDataCollection > | Raw_token |
std::vector< int > | wheels_ |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Definition at line 30 of file L1TTwinMuxRawToDigi.h.
L1TTwinMuxRawToDigi::L1TTwinMuxRawToDigi | ( | const edm::ParameterSet & | pset | ) |
Constructor.
Definition at line 25 of file L1TTwinMuxRawToDigi.cc.
References amcsec_, amcsecmap_, DTTM7InputTag_, feds_, nfeds_, Raw_token, edm::shift, and wheels_.
|
virtual |
|
private |
Definition at line 117 of file L1TTwinMuxRawToDigi.cc.
Referenced by processFed().
|
private |
bool L1TTwinMuxRawToDigi::fillRawData | ( | edm::Event & | e, |
L1MuDTChambPhContainer::Phi_Container & | phi_data, | ||
L1MuDTChambThContainer::The_Container & | the_data | ||
) |
Generate and fill FED raw data for a full event.
Definition at line 81 of file L1TTwinMuxRawToDigi.cc.
References amcsec_, data, feds_, edm::Event::getByToken(), nfeds_, processFed(), Raw_token, and wheels_.
Referenced by produce().
|
inlineprivate |
|
private |
Definition at line 95 of file L1TTwinMuxRawToDigi.cc.
References funct::abs().
Referenced by processFed().
void L1TTwinMuxRawToDigi::processFed | ( | int | twinmuxfed, |
int | wheel, | ||
std::array< short, 12 > | twinMuxAmcSec, | ||
edm::Handle< FEDRawDataCollection > | data, | ||
L1MuDTChambPhContainer::Phi_Container & | phi_data, | ||
L1MuDTChambThContainer::The_Container & | the_data | ||
) |
Container
Debug
Variables
–> Header - line 1 [must start with 0x5]
–> Header - line 2
–> AMC - line 3 to 3+nAMC
–> Store payloads
–> Trailer - line 1
–> Trailer - line 2 [must start with 0xA]
needed not to put crc in crc calc
–> AMC trailer - line 2
do not consider the trailer
2 words already read, last removed because trailer with CRC
==>> increment 3
bx normalized to the bxcounter
Trailer of payload with CRC
Definition at line 126 of file L1TTwinMuxRawToDigi.cc.
References benAngConversion(), calcCRC(), FEDRawData::data(), debug_, TauDecayModes::dec, alignmentValidation::fname, j, relval_2017::k, LineFED_, dqmPostProcessing_online::logfile, normBx(), or, radAngConversion(), readline(), and FEDRawData::size().
Referenced by fillRawData().
|
virtual |
Produce digis out of raw data.
Implements edm::EDProducer.
Definition at line 61 of file L1TTwinMuxRawToDigi.cc.
References fillRawData(), and edm::Event::put().
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
Definition at line 108 of file L1TTwinMuxRawToDigi.cc.
Referenced by processFed().
|
inlineprivate |
Definition at line 66 of file L1TTwinMuxRawToDigi.h.
References LineFED_, and groupFilesInBlocks::lines.
Referenced by processFed().
|
private |
Definition at line 61 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 60 of file L1TTwinMuxRawToDigi.h.
Referenced by L1TTwinMuxRawToDigi().
|
private |
Definition at line 55 of file L1TTwinMuxRawToDigi.h.
Referenced by processFed().
|
private |
Definition at line 57 of file L1TTwinMuxRawToDigi.h.
Referenced by getDTTM7InputTag(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 58 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 63 of file L1TTwinMuxRawToDigi.h.
Referenced by processFed(), and readline().
|
private |
Definition at line 56 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 77 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 59 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().