#include <L1TTwinMuxRawToDigi.h>
Public Member Functions | |
bool | fillRawData (edm::Event &e, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data, L1MuDTChambPhContainer::Phi_Container &phi_out_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, L1MuDTChambPhContainer::Phi_Container &phi_out_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) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
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 124 of file L1TTwinMuxRawToDigi.cc.
Referenced by processFed().
|
private |
Definition at line 728 of file L1TTwinMuxRawToDigi.cc.
References patCaloMETCorrections_cff::C, DEFINE_FWK_MODULE, and mps_fire::i.
Referenced by processFed(), and readline().
bool L1TTwinMuxRawToDigi::fillRawData | ( | edm::Event & | e, |
L1MuDTChambPhContainer::Phi_Container & | phi_data, | ||
L1MuDTChambThContainer::The_Container & | the_data, | ||
L1MuDTChambPhContainer::Phi_Container & | phi_out_data | ||
) |
Generate and fill FED raw data for a full event.
Definition at line 87 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 102 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, | ||
L1MuDTChambPhContainer::Phi_Container & | phi_out_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 133 of file L1TTwinMuxRawToDigi.cc.
References benAngConversion(), calcCRC(), FEDRawData::data(), debug_, TauDecayModes::dec, FEDRawDataCollection::FEDData(), alignmentValidation::fname, createfilelist::int, gen::k, LineFED_, normBx(), or, radAngConversion(), readline(), FEDRawData::size(), and makeMuonMisalignmentScenario::wheel.
Referenced by fillRawData().
void L1TTwinMuxRawToDigi::produce | ( | edm::Event & | e, |
const edm::EventSetup & | c | ||
) |
Produce digis out of raw data.
Definition at line 63 of file L1TTwinMuxRawToDigi.cc.
References fillRawData(), eostools::move(), and edm::Event::put().
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
Definition at line 115 of file L1TTwinMuxRawToDigi.cc.
Referenced by processFed().
|
inlineprivate |
Definition at line 68 of file L1TTwinMuxRawToDigi.h.
References calcCRC(), and groupFilesInBlocks::lines.
Referenced by processFed().
|
private |
Definition at line 63 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 62 of file L1TTwinMuxRawToDigi.h.
Referenced by L1TTwinMuxRawToDigi().
|
private |
Definition at line 57 of file L1TTwinMuxRawToDigi.h.
Referenced by processFed().
|
private |
Definition at line 59 of file L1TTwinMuxRawToDigi.h.
Referenced by getDTTM7InputTag(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 60 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 65 of file L1TTwinMuxRawToDigi.h.
Referenced by processFed().
|
private |
Definition at line 58 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 79 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().
|
private |
Definition at line 61 of file L1TTwinMuxRawToDigi.h.
Referenced by fillRawData(), and L1TTwinMuxRawToDigi().