CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
CTPPSPixelRawToDigi Class Reference

#include <CTPPSPixelRawToDigi.h>

Inheritance diagram for CTPPSPixelRawToDigi:
edm::stream::EDProducer<>

Public Member Functions

 CTPPSPixelRawToDigi (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 get data, convert to digis attach againe to Event More...
 
 ~CTPPSPixelRawToDigi () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

edm::ParameterSet config_
 
std::set< unsigned int > fedIds_
 
edm::EDGetTokenT< FEDRawDataCollectionFEDRawDataCollection_
 
bool includeErrors_
 
edm::InputTag label_
 
std::string mappingLabel_
 

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, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 21 of file CTPPSPixelRawToDigi.h.

Constructor & Destructor Documentation

◆ CTPPSPixelRawToDigi()

CTPPSPixelRawToDigi::CTPPSPixelRawToDigi ( const edm::ParameterSet conf)
explicit

Definition at line 24 of file CTPPSPixelRawToDigi.cc.

25  : config_(conf)
26 
27 {
28  FEDRawDataCollection_ = consumes<FEDRawDataCollection>(config_.getParameter<edm::InputTag>("inputLabel"));
29 
30  produces<edm::DetSetVector<CTPPSPixelDigi>>();
31 
32  includeErrors_ = config_.getParameter<bool>("includeErrors");
33  mappingLabel_ = config_.getParameter<std::string>("mappingLabel");
34 
35  if (includeErrors_) {
36  produces<edm::DetSetVector<CTPPSPixelDataError>>();
37  }
38 }

References config_, FEDRawDataCollection_, edm::ParameterSet::getParameter(), includeErrors_, mappingLabel_, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~CTPPSPixelRawToDigi()

CTPPSPixelRawToDigi::~CTPPSPixelRawToDigi ( )
override

Definition at line 40 of file CTPPSPixelRawToDigi.cc.

40  {
41  edm::LogInfo("CTPPSPixelRawToDigi") << " CTPPSPixelRawToDigi destructor!";
42 }

Member Function Documentation

◆ fillDescriptions()

void CTPPSPixelRawToDigi::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 44 of file CTPPSPixelRawToDigi.cc.

44  {
46  desc.add<bool>("includeErrors", true);
47  desc.add<edm::InputTag>("inputLabel", edm::InputTag("rawDataCollector"));
48  desc.add<std::string>("mappingLabel", "RPix");
49  descriptions.add("ctppsPixelDigis", desc);
50 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ produce()

void CTPPSPixelRawToDigi::produce ( edm::Event ev,
const edm::EventSetup es 
)
override

get data, convert to digis attach againe to Event

create product (digis & errors)

get event data for this fed

errors given dummy detId must be sorted by Fed

send digis and errors back to framework

Definition at line 52 of file CTPPSPixelRawToDigi.cc.

52  {
54  ev.getByToken(FEDRawDataCollection_, buffers);
55 
57 
58  bool data_exist = false;
60  const FEDRawData& tempRawData = buffers->FEDData(fed);
61  if (tempRawData.size() != 0) {
62  data_exist = true;
63  break;
64  }
65  }
67  auto collection = std::make_unique<edm::DetSetVector<CTPPSPixelDigi>>();
68 
69  auto errorcollection = std::make_unique<edm::DetSetVector<CTPPSPixelDataError>>();
70 
71  if (data_exist) {
73 
74  fedIds_ = mapping->fedIds();
75 
76  CTPPSPixelDataFormatter formatter(mapping->ROCMapping);
77  formatter.setErrorStatus(includeErrors_);
78 
79  bool errorsInEvent = false;
81 
82  for (auto aFed = fedIds_.begin(); aFed != fedIds_.end(); ++aFed) {
83  int fedId = *aFed;
84 
85  edm::LogInfo("CTPPSPixelRawToDigi") << " PRODUCE DIGI FOR FED: " << dec << fedId << endl;
86 
89  const FEDRawData& fedRawData = buffers->FEDData(fedId);
90 
91  formatter.interpretRawData(errorsInEvent, fedId, fedRawData, *collection, errors);
92 
93  if (includeErrors_) {
94  for (auto const& is : errors) {
95  uint32_t errordetid = is.first;
97  if (errordetid == RPixErrorChecker::dummyDetId) {
98  nodeterrors.insert(nodeterrors.end(), errors[errordetid].begin(), errors[errordetid].end());
99  } else {
100  edm::DetSet<CTPPSPixelDataError>& errorDetSet = errorcollection->find_or_insert(errordetid);
101  errorDetSet.data.insert(errorDetSet.data.end(), is.second.begin(), is.second.end());
102  }
103  }
104  }
105  }
106 
107  if (includeErrors_) {
108  errorcollection->find_or_insert(RPixErrorChecker::dummyDetId).data = nodeterrors;
109  }
110  if (errorsInEvent)
111  LogDebug("CTPPSPixelRawToDigi") << "Error words were stored in this event";
112  }
114  ev.put(std::move(collection));
115 
116  if (includeErrors_) {
117  ev.put(std::move(errorcollection));
118  }
119 }

References universalConfigTemplate::collection, edm::DetSet< T >::data, TauDecayModes::dec, RPixErrorChecker::dummyDetId, MessageLogger_cfi::errors, ev, FEDRawDataCollection::FEDData(), l1tstage2_dqm_sourceclient-live_cfg::fedId, fedIds_, l1t_dqm_sourceclient-live_cfg::fedRawData, FEDRawDataCollection_, edm::EventSetup::get(), get, includeErrors_, CTPPSPixelDataFormatter::interpretRawData(), LogDebug, taus_updatedMVAIds_cff::mapping, FEDNumbering::MAXCTPPSPixelsFEDID, FEDNumbering::MINCTPPSPixelsFEDID, eostools::move(), CTPPSPixelDataFormatter::setErrorStatus(), and FEDRawData::size().

Member Data Documentation

◆ config_

edm::ParameterSet CTPPSPixelRawToDigi::config_
private

Definition at line 33 of file CTPPSPixelRawToDigi.h.

Referenced by CTPPSPixelRawToDigi().

◆ fedIds_

std::set<unsigned int> CTPPSPixelRawToDigi::fedIds_
private

Definition at line 37 of file CTPPSPixelRawToDigi.h.

Referenced by produce().

◆ FEDRawDataCollection_

edm::EDGetTokenT<FEDRawDataCollection> CTPPSPixelRawToDigi::FEDRawDataCollection_
private

Definition at line 35 of file CTPPSPixelRawToDigi.h.

Referenced by CTPPSPixelRawToDigi(), and produce().

◆ includeErrors_

bool CTPPSPixelRawToDigi::includeErrors_
private

Definition at line 43 of file CTPPSPixelRawToDigi.h.

Referenced by CTPPSPixelRawToDigi(), and produce().

◆ label_

edm::InputTag CTPPSPixelRawToDigi::label_
private

◆ mappingLabel_

std::string CTPPSPixelRawToDigi::mappingLabel_
private

Definition at line 41 of file CTPPSPixelRawToDigi.h.

Referenced by CTPPSPixelRawToDigi().

CTPPSPixelRawToDigi::FEDRawDataCollection_
edm::EDGetTokenT< FEDRawDataCollection > FEDRawDataCollection_
Definition: CTPPSPixelRawToDigi.h:35
CTPPSPixelRawToDigi::config_
edm::ParameterSet config_
Definition: CTPPSPixelRawToDigi.h:33
CTPPSPixelRawToDigi::mappingLabel_
std::string mappingLabel_
Definition: CTPPSPixelRawToDigi.h:41
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
RPixErrorChecker::dummyDetId
static constexpr Word32 dummyDetId
Definition: RPixErrorChecker.h:39
edm::DetSet
Definition: DetSet.h:23
edm::LogInfo
Definition: MessageLogger.h:254
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
MessageLogger_cfi.errors
errors
Definition: MessageLogger_cfi.py:18
edm::Handle
Definition: AssociativeIterator.h:50
FEDRawData
Definition: FEDRawData.h:19
CTPPSPixelDataFormatter::Errors
std::map< uint32_t, DetErrors > Errors
Definition: CTPPSPixelDataFormatter.h:61
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
l1t_dqm_sourceclient-live_cfg.fedRawData
fedRawData
Definition: l1t_dqm_sourceclient-live_cfg.py:182
errors
Definition: errors.py:1
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::ESHandle
Definition: DTSurvey.h:22
CTPPSPixelDAQMappingRcd
Definition: CTPPSPixelDAQMappingRcd.h:23
FEDRawDataCollection::FEDData
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
Definition: FEDRawDataCollection.cc:19
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CTPPSPixelRawToDigi::fedIds_
std::set< unsigned int > fedIds_
Definition: CTPPSPixelRawToDigi.h:37
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
CTPPSPixelRawToDigi::includeErrors_
bool includeErrors_
Definition: CTPPSPixelRawToDigi.h:43
universalConfigTemplate.collection
collection
Definition: universalConfigTemplate.py:81
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:82
get
#define get
FEDRawData::size
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:45
FEDNumbering::MAXCTPPSPixelsFEDID
Definition: FEDNumbering.h:122
CTPPSPixelDataFormatter
Definition: CTPPSPixelDataFormatter.h:53
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::DetSet::data
collection_type data
Definition: DetSet.h:80
CTPPSPixelDataFormatter::DetErrors
std::vector< CTPPSPixelDataError > DetErrors
Definition: CTPPSPixelDataFormatter.h:60
FEDNumbering::MINCTPPSPixelsFEDID
Definition: FEDNumbering.h:121
taus_updatedMVAIds_cff.mapping
mapping
Definition: taus_updatedMVAIds_cff.py:28
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15