#include <CSCDCCUnpacker.h>
Public Member Functions | |
CSCDCCUnpacker (const edm::ParameterSet &pset) | |
Constructor. More... | |
void | produce (edm::Event &e, const edm::EventSetup &c) |
Produce digis out of raw data. More... | |
void | visual_raw (int hl, int id, int run, int event, bool fedshort, bool fDump, short unsigned int *buf) const |
Visualization of raw data in FED-less events (Robert Harr and Alexander Sakharov) More... | |
virtual | ~CSCDCCUnpacker () |
Destructor. More... | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
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) |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Attributes | |
bool | debug |
unsigned int | errorMask |
unsigned int | examinerMask |
bool | formatedEventDump |
bool | goodEvent |
edm::EDGetTokenT< FEDRawDataCollection > | i_token |
Token for consumes interface & access to data. More... | |
bool | instantiateDQM |
CSCMonitorInterface * | monitor |
int | numOfEvents |
bool | printEventNumber |
bool | SuppressZeroLCT |
Suppress zeros LCTs. More... | |
bool | unpackStatusDigis |
bool | useExaminer |
bool | useFormatStatus |
bool | useSelectiveUnpacking |
bool | visualFEDInspect |
Visualization of raw data. More... | |
bool | visualFEDShort |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
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 17 of file CSCDCCUnpacker.h.
CSCDCCUnpacker::CSCDCCUnpacker | ( | const edm::ParameterSet & | pset | ) |
Constructor.
Selective unpacking mode will skip only troublesome CSC blocks and not whole DCC/DDU block
Enable Format Status Digis
Visualization of raw data
Suppress zeros LCTs
Definition at line 75 of file CSCDCCUnpacker.cc.
References debug, errorMask, examinerMask, formatedEventDump, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i_token, instantiateDQM, monitor, Utilities::operator, printEventNumber, CSCDCCEventData::setDebug(), CSCRPCData::setDebug(), CSCALCTHeader::setDebug(), CSCDDUEventData::setDebug(), CSCCLCTData::setDebug(), CSCTMBData::setDebug(), CSCEventData::setDebug(), CSCTMBHeader::setDebug(), CSCDDUEventData::setErrorMask(), SuppressZeroLCT, unpackStatusDigis, useExaminer, useFormatStatus, useSelectiveUnpacking, visualFEDInspect, and visualFEDShort.
|
virtual |
Destructor.
Definition at line 147 of file CSCDCCUnpacker.cc.
|
static |
Definition at line 152 of file CSCDCCUnpacker.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), and edm::ConfigurationDescriptions::setComment().
void CSCDCCUnpacker::produce | ( | edm::Event & | e, |
const edm::EventSetup & | c | ||
) |
Produce digis out of raw data.
access database for mapping
Get a handle to the FED data collection
create the collections of CSC digis
uncomment this for regional unpacking if (id!=SOME_ID) continue;
Take a reference to this FED's data
if fed has data then unpack it
examine event for integrity
If we have DCC or only DDU FED by checking FED ID set examiner to uswe DCC or DDU mode
Visualization of raw data
get a pointer to data and pass it to constructor for unpacking
set default detid to that for E=+z, S=1, R=1, C=1, L=1
get a reference to dduData
DCC Trailer 2 added to dcc status product (to access TTS from DCC)
skip the DDU if its data has serious errors define a mask for serious errors
DDU Trailer 0 added to ddu status product (to access TTS from DDU)
get a reference to chamber data
first process chamber-wide digis such as LCT
default value for all digis not related to cfebs
layer=0 flags entire chamber
For Post-LS1 readout only. Check Chamber->FED/DDU mapping consistency. Skip chambers (special case of data corruption), which report wrong ID and pose as different chamber
check alct data integrity
fill alct digi
check tmb data integrity
fill correlatedlct and clct digis
fill cscrpc digi
fill cfeb status digi
loop over status digis
fill dmb status digi
fill wire, strip and comparator digis...
set layer, dmb and vme are valid because already checked in line 240
Definition at line 172 of file CSCDCCUnpacker.cc.
References trackerTree::check(), CSCDCCExaminer::check(), CSCDCCExaminer::crcALCT(), CSCDCCExaminer::crcCFEB(), CSCDCCExaminer::crcTMB(), FEDRawData::data(), data, CSCChamberMap::ddu(), debug, CSCCrateMap::detId(), CSCDCCExaminer::errName(), errorMask, CSCDCCExaminer::errors(), CSCDCCExaminer::errorsDetailed(), CSCDCCExaminer::errorsDetailedDDU(), edm::EventID::event(), examinerMask, FEDRawDataCollection::FEDData(), formatedEventDump, edm::EventSetup::get(), edm::Event::getByToken(), CSCDCCExaminer::getMask(), goodEvent, RecoTauValidation_cfi::header, mps_fire::i, i_token, hcalTTPDigis_cfi::id, edm::EventBase::id(), instantiateDQM, createfilelist::int, LogTrace, FEDNumbering::MAXCSCDDUFEDID, FEDNumbering::MAXCSCFEDID, FEDNumbering::MINCSCDDUFEDID, FEDNumbering::MINCSCFEDID, CSCDCCExaminer::modeDDU(), monitor, eostools::move(), CSCDCCExaminer::nERRORS, NULL, numOfEvents, CSCDCCExaminer::payloadDetailed(), printEventNumber, CSCMonitorInterface::process(), edm::ESHandle< T >::product(), edm::Event::put(), matplotRender::rawdata, DetId::rawId(), edm::EventID::run(), CSCDCCExaminer::setMask(), FEDRawData::size(), CSCDCCExaminer::statusDetailed(), SuppressZeroLCT, unpackStatusDigis, useExaminer, useFormatStatus, useSelectiveUnpacking, visual_raw(), visualFEDInspect, and visualFEDShort.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
void CSCDCCUnpacker::visual_raw | ( | int | hl, |
int | id, | ||
int | run, | ||
int | event, | ||
bool | fedshort, | ||
bool | fDump, | ||
short unsigned int * | buf | ||
) | const |
Visualization of raw data in FED-less events (Robert Harr and Alexander Sakharov)
Visualization of raw data.
ALCT Header 1,2
Definition at line 688 of file CSCDCCUnpacker.cc.
References gather_cfg::cout, formatedEventDump, mps_fire::i, gen::k, GetRecoTauVFromDQM_MC_cff::kk, and w.
Referenced by produce().
|
private |
Definition at line 35 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), rrapi.RRApi::dprint(), util.rrapi.RRApi::dprint(), pkg.AbstractPkg::generate(), util.rrapi.RRApi::get(), rrapi.RRApi::get(), pkg.AbstractPkg::get_kwds(), produce(), and pkg.AbstractPkg::write().
|
private |
Definition at line 44 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 44 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 39 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), produce(), and visual_raw().
|
private |
Definition at line 35 of file CSCDCCUnpacker.h.
Referenced by produce().
|
private |
Token for consumes interface & access to data.
Definition at line 49 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 45 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 46 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), produce(), and production_tasks.MonitorJobs::run().
|
private |
Definition at line 43 of file CSCDCCUnpacker.h.
Referenced by produce().
|
private |
Definition at line 35 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Suppress zeros LCTs.
Definition at line 41 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 35 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 35 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 36 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 36 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Visualization of raw data.
Definition at line 39 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().
|
private |
Definition at line 39 of file CSCDCCUnpacker.h.
Referenced by CSCDCCUnpacker(), and produce().