|
void | beginJob () override |
|
void | beginRun (edm::Run const &, edm::EventSetup const &) override |
|
void | endJob () override |
|
| Phase2TrackerDigiProducer (const edm::ParameterSet &pset) |
| constructor More...
|
|
void | produce (edm::Event &, const edm::EventSetup &) override |
|
| ~Phase2TrackerDigiProducer () override |
| default constructor More...
|
|
| EDProducer () |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () |
|
SerialTaskQueue * | globalRunsQueue () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducer () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
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 &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
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 & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDProducer | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
static bool | wantsGlobalLuminosityBlocks () |
|
static bool | wantsGlobalRuns () |
|
static bool | wantsInputProcessBlocks () |
|
static bool | wantsProcessBlocks () |
|
static bool | wantsStreamLuminosityBlocks () |
|
static bool | wantsStreamRuns () |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Implements edm::EDProducer.
Definition at line 93 of file Phase2TrackerDigiProducer.cc.
100 event.getByToken(
token_, buffers);
106 if (fed.
size() != 0) {
112 std::ostringstream
ss;
113 ss <<
" -------------------------------------------- " << endl;
114 ss <<
" buffer debug ------------------------------- " << endl;
115 ss <<
" -------------------------------------------- " << endl;
116 ss <<
" buffer size : " <<
buffer->bufferSize() << endl;
117 ss <<
" fed id : " << fedIndex << endl;
118 ss <<
" -------------------------------------------- " << endl;
119 ss <<
" tracker header debug ------------------------" << endl;
120 ss <<
" -------------------------------------------- " << endl;
121 LogTrace(
"Phase2TrackerDigiProducer") <<
ss.str();
125 Phase2TrackerFEDHeader tr_header =
buffer->trackerHeader();
126 ss <<
" Version : " << hex << setw(2) << (
int)tr_header.getDataFormatVersion() << endl;
127 ss <<
" Mode : " << hex << setw(2) << tr_header.getDebugMode() << endl;
128 ss <<
" Type : " << hex << setw(2) << (
int)tr_header.getEventType() << endl;
129 ss <<
" Readout : " << hex << setw(2) << tr_header.getReadoutMode() << endl;
130 ss <<
" Condition Data : " << (tr_header.getConditionData() ?
"Present" :
"Absent") <<
"\n";
131 ss <<
" Data Type : " << (tr_header.getDataType() ?
"Real" :
"Fake") <<
"\n";
132 ss <<
" Status : " << hex << setw(16) << (
int)tr_header.getGlibStatusCode() << endl;
134 for (
int i = 15;
i >= 0;
i--) {
135 if ((tr_header.frontendStatus())[
i]) {
142 ss <<
" Nr CBC : " << hex << setw(16) << (
int)tr_header.getNumberOfCBC() << endl;
143 ss <<
" CBC stat : ";
144 for (
int i = 0;
i < tr_header.getNumberOfCBC();
i++) {
145 ss << hex << setw(2) << (
int)tr_header.CBCStatus()[
i] <<
" ";
148 LogTrace(
"Phase2TrackerDigiProducer") <<
ss.str();
151 ss <<
" -------------------------------------------- " << endl;
152 ss <<
" Payload ----------------------------------- " << endl;
153 ss <<
" -------------------------------------------- " << endl;
160 const Phase2TrackerFEDChannel& channel =
buffer->channel(ichan);
161 if (channel.length() > 0) {
164 uint32_t detid =
mod.getDetid();
166 ss <<
dec <<
" id from cabling : " << detid << endl;
167 ss <<
dec <<
" reading channel : " << icbc <<
" on FE " << ife;
168 ss <<
dec <<
" with length : " << (
int)channel.length() << endl;
172 std::vector<Phase2TrackerDigi> stripsTop;
173 std::vector<Phase2TrackerDigi> stripsBottom;
176 Phase2TrackerFEDRawChannelUnpacker unpacker = Phase2TrackerFEDRawChannelUnpacker(channel);
177 while (unpacker.hasData()) {
178 if (unpacker.stripOn()) {
179 if (unpacker.stripIndex() % 2) {
185 stripsBottom.push_back(
200 LogTrace(
"Phase2TrackerDigiProducer") <<
ss.str();
210 Registry regItemBottom(
220 std::vector<edm::DetSet<Phase2TrackerDigi>> sorted_and_merged;
227 std::vector<Phase2TrackerDigi>& digis = sorted_and_merged.back().data;
229 size_t len = it->length;
230 for (it2 = it + 1; (it2 !=
end) && (it2->detid == it->detid); ++it2) {
236 for (it2 = it + 0; (it2 !=
end) && (it2->detid == it->detid); ++it2) {
243 pr->swap(proc_raw_dsv);
References edmScanValgrind::buffer, cabling_, Phase2Tracker::Phase2TrackerFEDHeader::CBCStatus(), Phase2Tracker::CMS_FED_ID_MAX, FEDRawData::data(), TauDecayModes::dec, mps_fire::end, Phase2Tracker::FED_ID_MIN, FEDRawDataCollection::FEDData(), Phase2TrackerCabling::findFedCh(), Phase2Tracker::Phase2TrackerFEDHeader::frontendStatus(), Phase2Tracker::Phase2TrackerFEDHeader::getConditionData(), Phase2Tracker::Phase2TrackerFEDHeader::getDataFormatVersion(), Phase2Tracker::Phase2TrackerFEDHeader::getDataType(), Phase2Tracker::Phase2TrackerFEDHeader::getDebugMode(), Phase2Tracker::Phase2TrackerFEDHeader::getEventType(), Phase2Tracker::Phase2TrackerFEDHeader::getGlibStatusCode(), Phase2Tracker::Phase2TrackerFEDHeader::getNumberOfCBC(), Phase2Tracker::Phase2TrackerFEDHeader::getReadoutMode(), Phase2Tracker::Phase2TrackerFEDRawChannelUnpacker::hasData(), mps_fire::i, createfilelist::int, Phase2Tracker::Phase2TrackerFEDChannel::length(), LogTrace, Phase2Tracker::MAX_CBC_PER_FE, Phase2Tracker::MAX_FE_PER_FED, mod(), proc_work_digis_, proc_work_registry_, FEDRawData::size(), contentValuesCheck::ss, Phase2Tracker::Phase2TrackerFEDRawChannelUnpacker::stripIndex(), Phase2Tracker::Phase2TrackerFEDRawChannelUnpacker::stripOn(), Phase2Tracker::STRIPS_PER_CBC, and token_.