CMS 3D CMS Logo

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

#include <HcalRawToDigi.h>

Inheritance diagram for HcalRawToDigi:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  Statistics
 

Public Member Functions

 HcalRawToDigi (const edm::ParameterSet &ps)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~HcalRawToDigi () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () 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)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () 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
 
EDConsumerBaseoperator= (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

const bool complainEmptyData_
 
std::string electronicsMapLabel_
 
const int expectedOrbitMessageTime_
 
std::vector< int > fedUnpackList_
 
HcalDataFrameFilter filter_
 
const int firstFED_
 
const bool silent_
 
struct HcalRawToDigi::Statistics stats_
 
edm::EDGetTokenT< FEDRawDataCollectiontok_data_
 
const bool unpackCalib_
 
HcalUnpacker unpacker_
 
const int unpackerMode_
 
const bool unpackTTP_
 
bool unpackUMNio_
 
const bool unpackZDC_
 

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
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
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)
 

Detailed Description

HcalRawToDigi is the EDProducer subclass which runs the Hcal Unpack algorithm.

Author
Jeremiah Mans
Version
1st Version June 10, 2005

Definition at line 29 of file HcalRawToDigi.h.

Constructor & Destructor Documentation

HcalRawToDigi::HcalRawToDigi ( const edm::ParameterSet ps)
explicit

Definition at line 14 of file HcalRawToDigi.cc.

References electronicsMapLabel_, expectedOrbitMessageTime_, fedUnpackList_, edm::ParameterSet::getParameter(), mps_fire::i, FEDNumbering::MAXHCALFEDID, FEDNumbering::MAXHCALuTCAFEDID, FEDNumbering::MINHCALFEDID, FEDNumbering::MINHCALuTCAFEDID, HcalUnpacker::setExpectedOrbitMessageTime(), HcalUnpacker::setMode(), stats_, AlCaHLTBitMon_QueryRunRegistry::string, tok_data_, unpackCalib_, unpacker_, unpackerMode_, unpackTTP_, unpackUMNio_, and unpackZDC_.

14  :
15  unpacker_(conf.getUntrackedParameter<int>("HcalFirstFED",int(FEDNumbering::MINHCALFEDID)),conf.getParameter<int>("firstSample"),conf.getParameter<int>("lastSample")),
16  filter_(conf.getParameter<bool>("FilterDataQuality"),conf.getParameter<bool>("FilterDataQuality"),
17  false,
18  0, 0,
19  -1),
20  fedUnpackList_(conf.getUntrackedParameter<std::vector<int> >("FEDs", std::vector<int>())),
21  firstFED_(conf.getUntrackedParameter<int>("HcalFirstFED",FEDNumbering::MINHCALFEDID)),
22  unpackCalib_(conf.getUntrackedParameter<bool>("UnpackCalib",false)),
23  unpackZDC_(conf.getUntrackedParameter<bool>("UnpackZDC",false)),
24  unpackTTP_(conf.getUntrackedParameter<bool>("UnpackTTP",false)),
25  unpackUMNio_(conf.getUntrackedParameter<bool>("UnpackUMNio",false)),
26  silent_(conf.getUntrackedParameter<bool>("silent",true)),
27  complainEmptyData_(conf.getUntrackedParameter<bool>("ComplainEmptyData",false)),
28  unpackerMode_(conf.getUntrackedParameter<int>("UnpackerMode",0)),
29  expectedOrbitMessageTime_(conf.getUntrackedParameter<int>("ExpectedOrbitMessageTime",-1))
30 {
31  electronicsMapLabel_ = conf.getParameter<std::string>("ElectronicsMap");
32  tok_data_ = consumes<FEDRawDataCollection>(conf.getParameter<edm::InputTag>("InputLabel"));
33 
34  if (fedUnpackList_.empty()) {
35  // VME range for back-compatibility
37  fedUnpackList_.push_back(i);
38 
39  // uTCA range
41  fedUnpackList_.push_back(i);
42  }
43 
46  std::ostringstream ss;
47  for (unsigned int i=0; i<fedUnpackList_.size(); i++)
48  ss << fedUnpackList_[i] << " ";
49  edm::LogInfo("HCAL") << "HcalRawToDigi will unpack FEDs ( " << ss.str() << ")";
50 
51  // products produced...
52  produces<HBHEDigiCollection>();
53  produces<HFDigiCollection>();
54  produces<HODigiCollection>();
55  produces<HcalTrigPrimDigiCollection>();
56  produces<HOTrigPrimDigiCollection>();
57  produces<HcalUnpackerReport>();
58  if (unpackCalib_)
59  produces<HcalCalibDigiCollection>();
60  if (unpackZDC_)
61  produces<ZDCDigiCollection>();
62  if (unpackTTP_)
63  produces<HcalTTPDigiCollection>();
64  if (unpackUMNio_)
65  produces<HcalUMNioDigi>();
66  produces<QIE10DigiCollection>();
67  produces<QIE11DigiCollection>();
68  produces<QIE10DigiCollection>("ZDC");
69 
70  memset(&stats_,0,sizeof(stats_));
71 
72 }
HcalDataFrameFilter filter_
Definition: HcalRawToDigi.h:39
const bool unpackTTP_
Definition: HcalRawToDigi.h:42
const int expectedOrbitMessageTime_
Definition: HcalRawToDigi.h:45
const bool complainEmptyData_
Definition: HcalRawToDigi.h:44
std::string electronicsMapLabel_
Definition: HcalRawToDigi.h:46
struct HcalRawToDigi::Statistics stats_
const bool unpackZDC_
Definition: HcalRawToDigi.h:42
const bool unpackCalib_
Definition: HcalRawToDigi.h:42
const bool silent_
Definition: HcalRawToDigi.h:44
void setExpectedOrbitMessageTime(int time)
Definition: HcalUnpacker.h:45
void setMode(int mode)
Definition: HcalUnpacker.h:48
std::vector< int > fedUnpackList_
Definition: HcalRawToDigi.h:40
const int unpackerMode_
Definition: HcalRawToDigi.h:45
HcalUnpacker unpacker_
Definition: HcalRawToDigi.h:38
const int firstFED_
Definition: HcalRawToDigi.h:41
edm::EDGetTokenT< FEDRawDataCollection > tok_data_
Definition: HcalRawToDigi.h:37
HcalRawToDigi::~HcalRawToDigi ( )
override

Definition at line 75 of file HcalRawToDigi.cc.

75 { }

Member Function Documentation

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

Definition at line 77 of file HcalRawToDigi.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), createfilelist::int, FEDNumbering::MINHCALFEDID, and AlCaHLTBitMon_QueryRunRegistry::string.

77  {
79  desc.addUntracked<int>("HcalFirstFED",int(FEDNumbering::MINHCALFEDID));
80  desc.add<int>("firstSample",0);
81  desc.add<int>("lastSample",9);
82  desc.add<bool>("FilterDataQuality",true);
83  desc.addUntracked<std::vector<int>>("FEDs", std::vector<int>());
84  desc.addUntracked<bool>("UnpackZDC",true);
85  desc.addUntracked<bool>("UnpackCalib",true);
86  desc.addUntracked<bool>("UnpackUMNio",true);
87  desc.addUntracked<bool>("UnpackTTP",true);
88  desc.addUntracked<bool>("silent",true);
89  desc.addUntracked<bool>("ComplainEmptyData",false);
90  desc.addUntracked<int>("UnpackerMode",0);
91  desc.addUntracked<int>("ExpectedOrbitMessageTime",-1);
92  desc.add<edm::InputTag>("InputLabel",edm::InputTag("rawDataCollector"));
93  desc.add<std::string>("ElectronicsMap","");
94  descriptions.add("hcalRawToDigi",desc);
95 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void HcalRawToDigi::produce ( edm::Event e,
const edm::EventSetup es 
)
override

calib

zdc

umnio

Definition at line 99 of file HcalRawToDigi.cc.

References HcalDataFrameFilter::active(), HcalRawToDigi::Statistics::ave_calib, HcalRawToDigi::Statistics::ave_hbhe, HcalRawToDigi::Statistics::ave_hf, HcalRawToDigi::Statistics::ave_ho, HcalRawToDigi::Statistics::ave_tp, HcalRawToDigi::Statistics::ave_tpho, HcalUnpacker::Collections::calibCont, complainEmptyData_, electronicsMapLabel_, FEDRawDataCollection::FEDData(), fedUnpackList_, HcalDataFrameFilter::filter(), filter_, edm::EventSetup::get(), edm::Event::getByToken(), photonIsolationHIProducer_cfi::hbhe, HcalUnpacker::Collections::hbheCont, AnalysisDataFormats_SUSYBSMObjects::hc, photonIsolationHIProducer_cfi::hf, HcalUnpacker::Collections::hfCont, photonIsolationHIProducer_cfi::ho, HcalUnpacker::Collections::hoCont, mps_fire::i, SiStripPI::max, HcalRawToDigi::Statistics::max_calib, HcalRawToDigi::Statistics::max_hbhe, HcalRawToDigi::Statistics::max_hf, HcalRawToDigi::Statistics::max_ho, HcalRawToDigi::Statistics::max_tp, HcalRawToDigi::Statistics::max_tpho, eostools::move(), HcalRawToDigi::Statistics::n, parseEventContent::prod, edm::ESHandle< T >::product(), edm::Event::put(), HcalUnpacker::Collections::qie10, HcalUnpacker::Collections::qie10ZDC, HcalUnpacker::Collections::qie11, edmIntegrityCheck::report, edm::second(), HcalDataFrameFilter::setConditions(), silent_, FEDRawData::size(), stats_, edm::SortedCollection< T, SORT >::swap(), tok_data_, HcalUnpacker::Collections::tpCont, HcalUnpacker::Collections::tphoCont, HcalUnpacker::Collections::ttp, HcalUnpacker::Collections::umnio, HcalUnpacker::unpack(), unpackCalib_, unpacker_, unpackTTP_, unpackUMNio_, unpackZDC_, cms::Exception::what(), hcalSimParameters_cfi::zdc, and HcalUnpacker::Collections::zdcCont.

Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().

100 {
101  // Step A: Get Inputs
103  e.getByToken(tok_data_,rawraw);
104  // get the mapping
106  es.get<HcalDbRecord>().get( pSetup );
109  const HcalElectronicsMap* readoutMap = item.product();
110  filter_.setConditions(pSetup.product());
111 
112  // Step B: Create empty output : three vectors for three classes...
113  std::vector<HBHEDataFrame> hbhe;
114  std::vector<HODataFrame> ho;
115  std::vector<HFDataFrame> hf;
116  std::vector<HcalTriggerPrimitiveDigi> htp;
117  std::vector<HcalCalibDataFrame> hc;
118  std::vector<ZDCDataFrame> zdc;
119  std::vector<HcalTTPDigi> ttp;
120  std::vector<HOTriggerPrimitiveDigi> hotp;
121  HcalUMNioDigi umnio;
122  auto report = std::make_unique<HcalUnpackerReport>();
123 
124  // Heuristics: use ave+(max-ave)/8
125  if (stats_.max_hbhe>0) hbhe.reserve(stats_.ave_hbhe+(stats_.max_hbhe-stats_.ave_hbhe)/8);
126  if (stats_.max_ho>0) ho.reserve(stats_.ave_ho+(stats_.max_ho-stats_.ave_ho)/8);
127  if (stats_.max_hf>0) hf.reserve(stats_.ave_hf+(stats_.max_hf-stats_.ave_hf)/8);
129  if (stats_.max_tp>0) htp.reserve(stats_.ave_tp+(stats_.max_tp-stats_.ave_tp)/8);
130  if (stats_.max_tpho>0) hotp.reserve(stats_.ave_tpho+(stats_.max_tpho-stats_.ave_tpho)/8);
131 
132  if (unpackZDC_) zdc.reserve(24);
133 
134 
136  colls.hbheCont=&hbhe;
137  colls.hoCont=&ho;
138  colls.hfCont=&hf;
139  colls.tpCont=&htp;
140  colls.tphoCont=&hotp;
141  colls.calibCont=&hc;
142  colls.zdcCont=&zdc;
143  colls.umnio=&umnio;
144  if (unpackTTP_) colls.ttp=&ttp;
145 
146  // Step C: unpack all requested FEDs
147  for (std::vector<int>::const_iterator i=fedUnpackList_.begin(); i!=fedUnpackList_.end(); i++) {
148  const FEDRawData& fed = rawraw->FEDData(*i);
149  if (fed.size()==0) {
150  if (complainEmptyData_) {
151  if (!silent_) edm::LogWarning("EmptyData") << "No data for FED " << *i;
152  report->addError(*i);
153  }
154  } else if (fed.size()<8*3) {
155  if (!silent_) edm::LogWarning("EmptyData") << "Tiny data " << fed.size() << " for FED " << *i;
156  report->addError(*i);
157  } else {
158  try {
159  unpacker_.unpack(fed,*readoutMap,colls, *report,silent_);
160  report->addUnpacked(*i);
161  } catch (cms::Exception& e) {
162  if (!silent_) edm::LogWarning("Unpacking error") << e.what();
163  report->addError(*i);
164  } catch (...) {
165  if (!silent_) edm::LogWarning("Unpacking exception");
166  report->addError(*i);
167  }
168  }
169  }
170 
171 
172  // gather statistics
173  stats_.max_hbhe=std::max(stats_.max_hbhe,(int)hbhe.size());
174  stats_.ave_hbhe=(stats_.ave_hbhe*stats_.n+hbhe.size())/(stats_.n+1);
175  stats_.max_ho=std::max(stats_.max_ho,(int)ho.size());
176  stats_.ave_ho=(stats_.ave_ho*stats_.n+ho.size())/(stats_.n+1);
177  stats_.max_hf=std::max(stats_.max_hf,(int)hf.size());
178  stats_.ave_hf=(stats_.ave_hf*stats_.n+hf.size())/(stats_.n+1);
179  stats_.max_tp=std::max(stats_.max_tp,(int)htp.size());
180  stats_.ave_tp=(stats_.ave_tp*stats_.n+htp.size())/(stats_.n+1);
181  stats_.max_tpho=std::max(stats_.max_tpho,(int)hotp.size());
182  stats_.ave_tpho=(stats_.ave_tpho*stats_.n+hotp.size())/(stats_.n+1);
183  stats_.max_calib=std::max(stats_.max_calib,(int)hc.size());
184  stats_.ave_calib=(stats_.ave_calib*stats_.n+hc.size())/(stats_.n+1);
185 
186 
187  stats_.n++;
188 
189  // check HF duplication
190  std::unordered_set<uint32_t> cacheForHFdup;
191  unsigned int cntHFdup = 0;
192  for( auto & hf_digi : hf ){
193  if( ! cacheForHFdup.insert(hf_digi.id().rawId()).second ) cntHFdup++;
194  }
195  if( cntHFdup ) edm::LogError("HcalRawToDigi") << "Duplicated HF digis found for "<<cntHFdup<<" times"<<std::endl;
196 
197  // Step B: encapsulate vectors in actual collections
198  auto hbhe_prod = std::make_unique<HBHEDigiCollection>();
199  auto hf_prod = std::make_unique<HFDigiCollection>();
200  auto ho_prod = std::make_unique<HODigiCollection>();
201  auto htp_prod = std::make_unique<HcalTrigPrimDigiCollection>();
202  auto hotp_prod = std::make_unique<HOTrigPrimDigiCollection>();
203  if (colls.qie10 == nullptr) {
204  colls.qie10 = new QIE10DigiCollection();
205  }
206  std::unique_ptr<QIE10DigiCollection> qie10_prod(colls.qie10);
207  if (colls.qie10ZDC == nullptr) {
208  colls.qie10ZDC = new QIE10DigiCollection();
209  }
210  std::unique_ptr<QIE10DigiCollection> qie10ZDC_prod(colls.qie10ZDC);
211  if (colls.qie11 == nullptr) {
212  colls.qie11 = new QIE11DigiCollection();
213  }
214  std::unique_ptr<QIE11DigiCollection> qie11_prod(colls.qie11);
215 
216  hbhe_prod->swap_contents(hbhe);
217  if( !cntHFdup ) hf_prod->swap_contents(hf);
218  ho_prod->swap_contents(ho);
219  htp_prod->swap_contents(htp);
220  hotp_prod->swap_contents(hotp);
221 
222  // Step C2: filter FEDs, if required
223  if (filter_.active()) {
224  HBHEDigiCollection filtered_hbhe=filter_.filter(*hbhe_prod,*report);
225  HODigiCollection filtered_ho=filter_.filter(*ho_prod,*report);
226  HFDigiCollection filtered_hf=filter_.filter(*hf_prod,*report);
227  QIE10DigiCollection filtered_qie10=filter_.filter(*qie10_prod,*report);
228  QIE11DigiCollection filtered_qie11=filter_.filter(*qie11_prod,*report);
229 
230  hbhe_prod->swap(filtered_hbhe);
231  ho_prod->swap(filtered_ho);
232  hf_prod->swap(filtered_hf);
233  qie10_prod->swap(filtered_qie10);
234  qie11_prod->swap(filtered_qie11);
235  }
236 
237 
238  // Step D: Put outputs into event
239  // just until the sorting is proven
240  hbhe_prod->sort();
241  ho_prod->sort();
242  hf_prod->sort();
243  htp_prod->sort();
244  hotp_prod->sort();
245  qie10_prod->sort();
246  qie10ZDC_prod->sort();
247  qie11_prod->sort();
248 
249  e.put(std::move(hbhe_prod));
250  e.put(std::move(ho_prod));
251  e.put(std::move(hf_prod));
252  e.put(std::move(htp_prod));
253  e.put(std::move(hotp_prod));
254  e.put(std::move(qie10_prod));
255  e.put(std::move(qie10ZDC_prod),"ZDC");
256  e.put(std::move(qie11_prod));
257 
259  if (unpackCalib_) {
260  auto hc_prod = std::make_unique<HcalCalibDigiCollection>();
261  hc_prod->swap_contents(hc);
262 
263  if (filter_.active()) {
264  HcalCalibDigiCollection filtered_calib=filter_.filter(*hc_prod,*report);
265  hc_prod->swap(filtered_calib);
266  }
267 
268  hc_prod->sort();
269  e.put(std::move(hc_prod));
270  }
271 
273  if (unpackZDC_) {
274  auto prod = std::make_unique<ZDCDigiCollection>();
275  prod->swap_contents(zdc);
276 
277  if (filter_.active()) {
278  ZDCDigiCollection filtered_zdc=filter_.filter(*prod,*report);
279  prod->swap(filtered_zdc);
280  }
281 
282  prod->sort();
283  e.put(std::move(prod));
284  }
285 
286  if (unpackTTP_) {
287  auto prod = std::make_unique<HcalTTPDigiCollection>();
288  prod->swap_contents(ttp);
289 
290  prod->sort();
291  e.put(std::move(prod));
292  }
293  e.put(std::move(report));
295  if (unpackUMNio_) {
296  if(colls.umnio != nullptr) {
297  e.put(std::make_unique<HcalUMNioDigi>(umnio));
298  }
299 
300  }
301 }
HcalDataFrameFilter filter_
Definition: HcalRawToDigi.h:39
std::vector< HcalTTPDigi > * ttp
Definition: HcalUnpacker.h:33
const bool unpackTTP_
Definition: HcalRawToDigi.h:42
std::vector< HFDataFrame > * hfCont
Definition: HcalUnpacker.h:28
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:508
HcalUMNioDigi * umnio
Definition: HcalUnpacker.h:37
void swap(SortedCollection &other)
std::vector< HBHEDataFrame > * hbheCont
Definition: HcalUnpacker.h:26
char const * what() const override
Definition: Exception.cc:141
std::vector< HOTriggerPrimitiveDigi > * tphoCont
Definition: HcalUnpacker.h:32
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
HcalDataFrameContainer< QIE10DataFrame > QIE10DigiCollection
U second(std::pair< T, U > const &p)
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
QIE10DigiCollection * qie10ZDC
Definition: HcalUnpacker.h:35
const bool complainEmptyData_
Definition: HcalRawToDigi.h:44
std::string electronicsMapLabel_
Definition: HcalRawToDigi.h:46
std::vector< HcalTriggerPrimitiveDigi > * tpCont
Definition: HcalUnpacker.h:31
struct HcalRawToDigi::Statistics stats_
const bool unpackZDC_
Definition: HcalRawToDigi.h:42
const bool unpackCalib_
Definition: HcalRawToDigi.h:42
const bool silent_
Definition: HcalRawToDigi.h:44
HcalDataFrameContainer< QIE11DataFrame > QIE11DigiCollection
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap, std::vector< HcalHistogramDigi > &histoDigis)
std::vector< HcalCalibDataFrame > * calibCont
Definition: HcalUnpacker.h:29
std::vector< int > fedUnpackList_
Definition: HcalRawToDigi.h:40
const T & get() const
Definition: EventSetup.h:55
bool active() const
whether any filters are on
std::vector< HODataFrame > * hoCont
Definition: HcalUnpacker.h:27
QIE11DigiCollection * qie11
Definition: HcalUnpacker.h:36
void setConditions(const HcalDbService *conditions)
get conditions
HBHEDigiCollection filter(const HBHEDigiCollection &incol, HcalUnpackerReport &r)
filter HB/HE data frames
HcalUnpacker unpacker_
Definition: HcalRawToDigi.h:38
susybsm::HSCParticleCollection hc
Definition: classes.h:25
QIE10DigiCollection * qie10
Definition: HcalUnpacker.h:34
std::vector< ZDCDataFrame > * zdcCont
Definition: HcalUnpacker.h:30
edm::EDGetTokenT< FEDRawDataCollection > tok_data_
Definition: HcalRawToDigi.h:37
T const * product() const
Definition: ESHandle.h:86
def move(src, dest)
Definition: eostools.py:510

Member Data Documentation

const bool HcalRawToDigi::complainEmptyData_
private

Definition at line 44 of file HcalRawToDigi.h.

Referenced by produce().

std::string HcalRawToDigi::electronicsMapLabel_
private

Definition at line 46 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

const int HcalRawToDigi::expectedOrbitMessageTime_
private

Definition at line 45 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi().

std::vector<int> HcalRawToDigi::fedUnpackList_
private

Definition at line 40 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

HcalDataFrameFilter HcalRawToDigi::filter_
private

Definition at line 39 of file HcalRawToDigi.h.

Referenced by produce().

const int HcalRawToDigi::firstFED_
private

Definition at line 41 of file HcalRawToDigi.h.

const bool HcalRawToDigi::silent_
private

Definition at line 44 of file HcalRawToDigi.h.

Referenced by produce().

struct HcalRawToDigi::Statistics HcalRawToDigi::stats_
private

Referenced by HcalRawToDigi(), and produce().

edm::EDGetTokenT<FEDRawDataCollection> HcalRawToDigi::tok_data_
private

Definition at line 37 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

const bool HcalRawToDigi::unpackCalib_
private

Definition at line 42 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

HcalUnpacker HcalRawToDigi::unpacker_
private

Definition at line 38 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

const int HcalRawToDigi::unpackerMode_
private

Definition at line 45 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi().

const bool HcalRawToDigi::unpackTTP_
private

Definition at line 42 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

bool HcalRawToDigi::unpackUMNio_
private

Definition at line 43 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().

const bool HcalRawToDigi::unpackZDC_
private

Definition at line 42 of file HcalRawToDigi.h.

Referenced by HcalRawToDigi(), and produce().