CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
ecaldqm::SelectiveReadoutTask Class Reference

#include <SelectiveReadoutTask.h>

Inheritance diagram for ecaldqm::SelectiveReadoutTask:
ecaldqm::DQWorkerTask ecaldqm::DQWorker

Public Types

enum  Constants { nFIRTaps = 6, bytesPerCrystal = 24, nRU = EcalTrigTowerDetId::kEBTotalTowers + EcalScDetId::kSizeForDenseIndexing }
 
- Public Types inherited from ecaldqm::DQWorkerTask
typedef
EcalDCCHeaderBlock::EcalDCCEventSettings 
EventSettings
 

Public Member Functions

void addDependencies (DependencySet &) override
 
bool analyze (void const *, Collections) override
 
void beginEvent (edm::Event const &, edm::EventSetup const &) override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
template<typename DigiCollection >
void runOnDigis (DigiCollection const &, Collections)
 
void runOnRawData (EcalRawDataCollection const &)
 
void runOnSource (FEDRawDataCollection const &)
 
template<typename SRFlagCollection >
void runOnSrFlags (SRFlagCollection const &, Collections)
 
 SelectiveReadoutTask ()
 
 ~SelectiveReadoutTask ()
 
- Public Member Functions inherited from ecaldqm::DQWorkerTask
 DQWorkerTask ()
 
virtual void endEvent (edm::Event const &, edm::EventSetup const &)
 
virtual bool filterRunType (short const *)
 
virtual bool filterTrigger (edm::TriggerResultsByName const &)
 
void recoverStats ()
 
virtual void setTokens (edm::ConsumesCollector &)
 
void softReset ()
 
virtual ~DQWorkerTask ()
 
- Public Member Functions inherited from ecaldqm::DQWorker
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void bookMEs (DQMStore &)
 
virtual void bookMEs (DQMStore::IBooker &)
 
 DQWorker ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 
std::string const & getName () const
 
bool onlineMode () const
 
virtual void releaseMEs ()
 
void setEventNumber (edm::EventNumber_t _e)
 
void setLumiNumber (edm::LuminosityBlockNumber_t _l)
 
void setRunNumber (edm::RunNumber_t _r)
 
void setTime (time_t _t)
 
virtual ~DQWorker ()
 

Private Member Functions

void setFIRWeights_ (std::vector< double > const &)
 
void setParams (edm::ParameterSet const &) override
 

Private Attributes

std::vector< short > flags_
 
int iFirstSample_
 
std::set< std::pair< int, int > > suppressed_
 
bool useCondDb_
 
std::vector< int > ZSFIRWeights_
 

Additional Inherited Members

- Static Public Member Functions inherited from ecaldqm::DQWorkerTask
static void fillDescriptions (edm::ParameterSetDescription &)
 
- Static Public Member Functions inherited from ecaldqm::DQWorker
static void fillDescriptions (edm::ParameterSetDescription &_desc)
 
- Protected Member Functions inherited from ecaldqm::DQWorkerTask
void setME (edm::ParameterSet const &) final
 
- Protected Member Functions inherited from ecaldqm::DQWorker
void initialize (std::string const &_name, edm::ParameterSet const &)
 
void print_ (std::string const &, int=0) const
 
virtual void setSource (edm::ParameterSet const &)
 
void setVerbosity (int _verbosity)
 
- Protected Attributes inherited from ecaldqm::DQWorkerTask
std::set< std::string > resettable_
 
- Protected Attributes inherited from ecaldqm::DQWorker
MESetCollection MEs_
 
std::string name_
 
bool onlineMode_
 
Timestamp timestamp_
 
int verbosity_
 
bool willConvertToEDM_
 

Detailed Description

Definition at line 18 of file SelectiveReadoutTask.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

ecaldqm::SelectiveReadoutTask::SelectiveReadoutTask ( )
ecaldqm::SelectiveReadoutTask::~SelectiveReadoutTask ( )
inline

Definition at line 21 of file SelectiveReadoutTask.h.

21 {}

Member Function Documentation

void ecaldqm::SelectiveReadoutTask::addDependencies ( DependencySet _dependencies)
overridevirtual
bool ecaldqm::SelectiveReadoutTask::analyze ( void const *  _p,
Collections  _collection 
)
inlineoverridevirtual

Reimplemented from ecaldqm::DQWorkerTask.

Definition at line 54 of file SelectiveReadoutTask.h.

References ecaldqm::kEBDigi, ecaldqm::kEBSrFlag, ecaldqm::kEcalRawData, ecaldqm::kEEDigi, ecaldqm::kEESrFlag, ecaldqm::kSource, runOnDigis(), runOnRawData(), runOnSource(), and runOnSrFlags().

54  {
55  switch(_collection){
56  case kSource:
57  if(_p) runOnSource(*static_cast<FEDRawDataCollection const*>(_p));
58  return true;
59  break;
60  case kEcalRawData:
61  if(_p) runOnRawData(*static_cast<EcalRawDataCollection const*>(_p));
62  return true;
63  break;
64  case kEBSrFlag:
65  if(_p) runOnSrFlags(*static_cast<EBSrFlagCollection const*>(_p), _collection);
66  return true;
67  break;
68  case kEESrFlag:
69  if(_p) runOnSrFlags(*static_cast<EESrFlagCollection const*>(_p), _collection);
70  return true;
71  break;
72  case kEBDigi:
73  if(_p) runOnDigis(*static_cast<EBDigiCollection const*>(_p), _collection);
74  return true;
75  break;
76  case kEEDigi:
77  if(_p) runOnDigis(*static_cast<EEDigiCollection const*>(_p), _collection);
78  return true;
79  break;
80  default:
81  break;
82  }
83  return false;
84  }
void runOnDigis(DigiCollection const &, Collections)
void runOnRawData(EcalRawDataCollection const &)
void runOnSrFlags(SRFlagCollection const &, Collections)
void runOnSource(FEDRawDataCollection const &)
void ecaldqm::SelectiveReadoutTask::beginEvent ( edm::Event const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from ecaldqm::DQWorkerTask.

Definition at line 71 of file SelectiveReadoutTask.cc.

References flags_, nRU, and suppressed_.

72  {
73  flags_.assign(nRU, -1);
74  suppressed_.clear();
75  }
std::set< std::pair< int, int > > suppressed_
void ecaldqm::SelectiveReadoutTask::beginRun ( edm::Run const &  ,
edm::EventSetup const &  _es 
)
overridevirtual

Reimplemented from ecaldqm::DQWorker.

Definition at line 50 of file SelectiveReadoutTask.cc.

References begin, edm::EventSetup::get(), setFIRWeights_(), useCondDb_, and create_public_pileup_plots::weights.

51  {
52  using namespace std;
53 
54  if(useCondDb_){
56  _es.get<EcalSRSettingsRcd>().get(hSr);
57 
58  vector<vector<float> > weights(hSr->dccNormalizedWeights_);
59  if(weights.size() == 1){
60  vector<double> normWeights;
61  for(vector<float>::iterator it(weights[0].begin()); it != weights[0].end(); it++)
62  normWeights.push_back(*it);
63 
64  setFIRWeights_(normWeights);
65  }
66  else edm::LogWarning("EcalDQM") << "SelectiveReadoutTask: DCC weight set is not exactly 1.";
67  }
68  }
void setFIRWeights_(std::vector< double > const &)
#define begin
Definition: vmac.h:30
template<typename DigiCollection >
void ecaldqm::SelectiveReadoutTask::runOnDigis ( DigiCollection const &  _digis,
Collections  _collection 
)

Definition at line 161 of file SelectiveReadoutTask.cc.

References EcalMGPASample::adc(), bytesPerCrystal, ecaldqm::dccId(), EcalTrigTowerDetId::detIdFromDenseIndex(), EcalBarrel, EcalEndcap, archive::flag, flags_, EcalMGPASample::gainId(), ecaldqm::getElectronicsMap(), EcalTrigTowerDetId::hashedIndex(), EcalScDetId::hashedIndex(), iFirstSample_, ecaldqm::kEBDigi, EcalTrigTowerDetId::kEBTotalTowers, ecaldqm::kEEmHigh, EcalScDetId::kSizeForDenseIndexing, max(), ecaldqm::DQWorker::MEs_, ecaldqm::nEBDCC, ecaldqm::nEEDCC, nFIRTaps, compare_using_db::sample, EEDetId::sc(), EcalDataFrame::size(), findQualityFiles::size, EcalSrFlag::SRF_FORCED_MASK, EcalSrFlag::SRF_FULL, EcalSrFlag::SRF_ZS1, EcalSrFlag::SRF_ZS2, suppressed_, EBDetId::tower(), ecaldqm::towerId(), EcalScDetId::unhashIndex(), and ZSFIRWeights_.

Referenced by analyze().

162  {
163  MESet& meHighIntOutput(MEs_.at("HighIntOutput"));
164  MESet& meLowIntOutput(MEs_.at("LowIntOutput"));
165  MESet& meHighIntPayload(MEs_.at("HighIntPayload"));
166  MESet& meLowIntPayload(MEs_.at("LowIntPayload"));
167  MESet& meTowerSize(MEs_.at("TowerSize"));
168  MESet& meZSFullReadoutMap(MEs_.at("ZSFullReadoutMap"));
169  MESet& meFRDroppedMap(MEs_.at("FRDroppedMap"));
170  MESet& meZSFullReadout(MEs_.at("ZSFullReadout"));
171  MESet& meFRDropped(MEs_.at("FRDropped"));
172 
173  bool isEB(_collection == kEBDigi);
174 
175  unsigned const nTower(isEB ? unsigned(EcalTrigTowerDetId::kEBTotalTowers) : unsigned(EcalScDetId::kSizeForDenseIndexing));
176 
177  std::vector<unsigned> sizes(nTower, 0);
178 
179  int nHighInt[] = {0, 0};
180  int nLowInt[] = {0, 0};
181 
182  for(typename DigiCollection::const_iterator digiItr(_digis.begin()); digiItr != _digis.end(); ++digiItr){
183 
184  DetId const& id(digiItr->id());
185 
186  unsigned iTower(-1);
187  unsigned iRU(-1);
188 
189  if(isEB){
190  iTower = EBDetId(id).tower().hashedIndex();
191  iRU = iTower;
192  }
193  else{
194  iTower = EEDetId(id).sc().hashedIndex();
195  iRU = iTower + EcalTrigTowerDetId::kEBTotalTowers;
196  }
197 
198  if(flags_[iRU] < 0) continue;
199 
200  sizes[iTower] += 1;
201 
202  // SR filter output calculation
203 
204  EcalDataFrame frame(*digiItr);
205 
206  int ZSFIRValue(0); // output
207 
208  bool gain12saturated(false);
209  const int gain12(0x01);
210 
211  for(int iWeight(0); iWeight < nFIRTaps; ++iWeight){
212 
213  int iSample(iFirstSample_ + iWeight - 1);
214 
215  if(iSample >= 0 && iSample < frame.size()){
216  EcalMGPASample sample(frame[iSample]);
217  if(sample.gainId() != gain12){
218  gain12saturated = true;
219  break;
220  }
221  ZSFIRValue += sample.adc() * ZSFIRWeights_[iWeight];
222  }else{
223  edm::LogWarning("EcalDQM") << "SelectiveReadoutTask: Not enough samples in data frame or 'ecalDccZs1stSample' module parameter is not valid";
224  }
225 
226  }
227 
228  if(gain12saturated) ZSFIRValue = std::numeric_limits<int>::max();
229  else ZSFIRValue /= (0x1 << 8); //discards the 8 LSBs
230 
231  //ZS passed if weighted sum above ZS threshold or if
232  //one sample has a lower gain than gain 12 (that is gain 12 output
233  //is saturated)
234 
235  bool highInterest((flags_[iRU] & ~EcalSrFlag::SRF_FORCED_MASK) == EcalSrFlag::SRF_FULL);
236 
237  if(highInterest){
238  meHighIntOutput.fill(id, ZSFIRValue);
239  if(isEB || dccId(id) - 1 <= kEEmHigh)
240  nHighInt[0] += 1;
241  else
242  nHighInt[1] += 1;
243  }
244  else{
245  meLowIntOutput.fill(id, ZSFIRValue);
246  if(isEB || dccId(id) - 1 <= kEEmHigh)
247  nLowInt[0] += 1;
248  else
249  nLowInt[1] += 1;
250  }
251  }
252 
253  if(isEB){
254  meHighIntPayload.fill(EcalBarrel, nHighInt[0] * bytesPerCrystal / 1024. / nEBDCC);
255  meLowIntPayload.fill(EcalBarrel, nLowInt[0] * bytesPerCrystal / 1024. / nEBDCC);
256  }
257  else{
258  meHighIntPayload.fill(-EcalEndcap, nHighInt[0] * bytesPerCrystal / 1024. / (nEEDCC / 2));
259  meHighIntPayload.fill(EcalEndcap, nHighInt[1] * bytesPerCrystal / 1024. / (nEEDCC / 2));
260  meLowIntPayload.fill(-EcalEndcap, nLowInt[0] * bytesPerCrystal / 1024. / (nEEDCC / 2));
261  meLowIntPayload.fill(EcalEndcap, nLowInt[1] * bytesPerCrystal / 1024. / (nEEDCC / 2));
262  }
263 
264  unsigned iRU(isEB ? 0 : EcalTrigTowerDetId::kEBTotalTowers);
265  for(unsigned iTower(0); iTower < nTower; ++iTower, ++iRU){
266  DetId id;
267  if(isEB) id = EcalTrigTowerDetId::detIdFromDenseIndex(iTower);
268  else id = EcalScDetId::unhashIndex(iTower);
269 
270  double towerSize(sizes[iTower] * bytesPerCrystal);
271 
272  meTowerSize.fill(id, towerSize);
273 
274  if(flags_[iRU] < 0) continue;
275 
276  int dccid(dccId(id));
277  int towerid(towerId(id));
278 
279  if(suppressed_.find(std::make_pair(dccid, towerid)) != suppressed_.end()) continue;
280 
282 
283  bool ruFullyReadout(sizes[iTower] == getElectronicsMap()->dccTowerConstituents(dccid, towerid).size());
284 
285  if(ruFullyReadout && (flag == EcalSrFlag::SRF_ZS1 || flag == EcalSrFlag::SRF_ZS2)){
286  meZSFullReadoutMap.fill(id);
287  meZSFullReadout.fill(id);
288  }
289 
290  if(sizes[iTower] == 0 && flag == EcalSrFlag::SRF_FULL){
291  meFRDroppedMap.fill(id);
292  meFRDropped.fill(id);
293  }
294  }
295  }
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
static const int SRF_ZS2
Definition: EcalSrFlag.h:21
static const int SRF_FORCED_MASK
Definition: EcalSrFlag.h:29
EcalElectronicsMapping const * getElectronicsMap()
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
static EcalScDetId unhashIndex(int hi)
Definition: EcalScDetId.h:118
const T & max(const T &a, const T &b)
static const int SRF_FULL
Definition: EcalSrFlag.h:24
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
Definition: EBDetId.h:59
int hashedIndex() const
Definition: EcalScDetId.h:108
unsigned towerId(DetId const &)
static const int SRF_ZS1
Definition: EcalSrFlag.h:18
Definition: DetId.h:18
MESetCollection MEs_
Definition: DQWorker.h:76
EcalScDetId sc() const
Definition: EEDetId.h:88
unsigned dccId(DetId const &)
tuple size
Write out results.
std::set< std::pair< int, int > > suppressed_
void ecaldqm::SelectiveReadoutTask::runOnRawData ( EcalRawDataCollection const &  _dcchs)

Definition at line 102 of file SelectiveReadoutTask.cc.

References edm::SortedCollection< T, SORT >::begin(), ecaldqm::Disabled, edm::SortedCollection< T, SORT >::end(), and suppressed_.

Referenced by analyze().

103  {
104  for(EcalRawDataCollection::const_iterator dcchItr(_dcchs.begin()); dcchItr != _dcchs.end(); ++dcchItr){
105  std::vector<short> const& feStatus(dcchItr->getFEStatus());
106  unsigned nFE(feStatus.size());
107  for(unsigned iFE(0); iFE < nFE; ++iFE)
108  if(feStatus[iFE] == Disabled) suppressed_.insert(std::make_pair(dcchItr->id(), iFE + 1));
109  }
110  }
std::vector< EcalDCCHeaderBlock >::const_iterator const_iterator
std::set< std::pair< int, int > > suppressed_
void ecaldqm::SelectiveReadoutTask::runOnSource ( FEDRawDataCollection const &  _fedRaw)

Definition at line 78 of file SelectiveReadoutTask.cc.

References EcalBarrel, EcalEndcap, FEDRawDataCollection::FEDData(), ecaldqm::kEEmHigh, ecaldqm::kEEpLow, ecaldqm::DQWorker::MEs_, FEDRawData::size(), and findQualityFiles::size.

Referenced by analyze().

79  {
80  MESet& meDCCSize(MEs_.at("DCCSize"));
81  MESet& meDCCSizeProf(MEs_.at("DCCSizeProf"));
82  MESet& meEventSize(MEs_.at("EventSize"));
83 
84  float ebSize(0.), eemSize(0.), eepSize(0.);
85 
86  // DCC event size
87  for(int iFED(601); iFED <= 654; iFED++){
88  float size(_fedRaw.FEDData(iFED).size() / 1024.);
89  meDCCSize.fill(iFED - 600, size);
90  meDCCSizeProf.fill(iFED - 600, size);
91  if(iFED - 601 <= kEEmHigh) eemSize += size;
92  else if(iFED - 601 >= kEEpLow) eepSize += size;
93  else ebSize += size;
94  }
95 
96  meEventSize.fill(-EcalEndcap, eemSize / 9.);
97  meEventSize.fill(EcalEndcap, eepSize / 9.);
98  meEventSize.fill(EcalBarrel, ebSize / 36.);
99  }
MESetCollection MEs_
Definition: DQWorker.h:76
tuple size
Write out results.
template<typename SRFlagCollection >
void ecaldqm::SelectiveReadoutTask::runOnSrFlags ( SRFlagCollection const &  _srfs,
Collections  _col 
)

Definition at line 114 of file SelectiveReadoutTask.cc.

References EcalBarrel, EcalEndcap, EcalTriggerTower, archive::flag, flags_, EcalTrigTowerDetId::hashedIndex(), EcalScDetId::hashedIndex(), ecaldqm::kEBSrFlag, EcalTrigTowerDetId::kEBTotalTowers, ecaldqm::DQWorker::MEs_, EcalSrFlag::SRF_FORCED_MASK, EcalSrFlag::SRF_FULL, EcalSrFlag::SRF_ZS1, and EcalSrFlag::SRF_ZS2.

Referenced by analyze().

115  {
116  MESet& meFlagCounterMap(MEs_.at("FlagCounterMap"));
117  MESet& meFullReadoutMap(MEs_.at("FullReadoutMap"));
118  MESet& meZS1Map(MEs_.at("ZS1Map"));
119  MESet& meZSMap(MEs_.at("ZSMap"));
120  MESet& meRUForcedMap(MEs_.at("RUForcedMap"));
121 
122  double nFR(0.);
123 
124  std::for_each(_srfs.begin(), _srfs.end(), [&](typename SRFlagCollection::value_type const& srf){
125  DetId const& id(srf.id());
126  int flag(srf.value());
127 
128  meFlagCounterMap.fill(id);
129 
130  unsigned iRU(-1);
131  if(id.subdetId() == EcalTriggerTower)
132  iRU = EcalTrigTowerDetId(id).hashedIndex();
133  else
135  flags_[iRU] = flag;
136 
139  meFullReadoutMap.fill(id);
140  nFR += 1.;
141  break;
142  case EcalSrFlag::SRF_ZS1:
143  meZS1Map.fill(id);
144  // fallthrough
145  case EcalSrFlag::SRF_ZS2:
146  meZSMap.fill(id);
147  break;
148  default:
149  break;
150  }
151 
153  meRUForcedMap.fill(id);
154  });
155 
156  MEs_.at("FullReadout").fill(_col == kEBSrFlag ? EcalBarrel : EcalEndcap, nFR);
157  }
static const int SRF_ZS2
Definition: EcalSrFlag.h:21
static const int SRF_FORCED_MASK
Definition: EcalSrFlag.h:29
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
static const int SRF_FULL
Definition: EcalSrFlag.h:24
Container::value_type value_type
int hashedIndex() const
Definition: EcalScDetId.h:108
static const int SRF_ZS1
Definition: EcalSrFlag.h:18
Definition: DetId.h:18
MESetCollection MEs_
Definition: DQWorker.h:76
void ecaldqm::SelectiveReadoutTask::setFIRWeights_ ( std::vector< double > const &  _normWeights)
private

Definition at line 298 of file SelectiveReadoutTask.cc.

References funct::abs(), edm::hlt::Exception, i, nFIRTaps, and ZSFIRWeights_.

Referenced by beginRun(), and setParams().

299  {
300  if(_normWeights.size() < nFIRTaps)
301  throw cms::Exception("InvalidConfiguration") << "weightsForZsFIR" << std::endl;
302 
303  bool notNormalized(false), notInt(false);
304  for(std::vector<double>::const_iterator it(_normWeights.begin()); it != _normWeights.end(); ++it){
305  if(*it > 1.) notNormalized = true;
306  if(int(*it) != *it) notInt = true;
307  }
308  if(notInt && notNormalized){
309  throw cms::Exception("InvalidConfiguration")
310  << "weigtsForZsFIR paramater values are not valid: they "
311  << "must either be integer and uses the hardware representation "
312  << "of the weights or less or equal than 1 and used the normalized "
313  << "representation.";
314  }
315 
316  ZSFIRWeights_.clear();
317  ZSFIRWeights_.resize(_normWeights.size());
318 
319  if(notNormalized){
320  for(unsigned i(0); i< ZSFIRWeights_.size(); ++i)
321  ZSFIRWeights_[i] = int(_normWeights[i]);
322  }
323  else{
324  const int maxWeight(0xEFF); //weights coded on 11+1 signed bits
325  for(unsigned i(0); i < ZSFIRWeights_.size(); ++i){
326  ZSFIRWeights_[i] = lround(_normWeights[i] * (0x1 << 10));
327  if(std::abs(ZSFIRWeights_[i]) > maxWeight) //overflow
328  ZSFIRWeights_[i] = ZSFIRWeights_[i] < 0 ? -maxWeight : maxWeight;
329  }
330  }
331  }
int i
Definition: DBlmapReader.cc:9
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void ecaldqm::SelectiveReadoutTask::setParams ( edm::ParameterSet const &  _params)
overrideprivatevirtual

Reimplemented from ecaldqm::DQWorker.

Definition at line 31 of file SelectiveReadoutTask.cc.

References edm::ParameterSet::getUntrackedParameter(), iFirstSample_, setFIRWeights_(), and useCondDb_.

32  {
33  useCondDb_ = _params.getUntrackedParameter<bool>("useCondDb");
34  iFirstSample_ = _params.getUntrackedParameter<int>("DCCZS1stSample");
35 
36  if(!useCondDb_){
37  std::vector<double> normWeights(_params.getUntrackedParameter<std::vector<double> >("ZSFIRWeights"));
38  setFIRWeights_(normWeights);
39  }
40  }
void setFIRWeights_(std::vector< double > const &)

Member Data Documentation

std::vector<short> ecaldqm::SelectiveReadoutTask::flags_
private

Definition at line 51 of file SelectiveReadoutTask.h.

Referenced by beginEvent(), runOnDigis(), and runOnSrFlags().

int ecaldqm::SelectiveReadoutTask::iFirstSample_
private

Definition at line 47 of file SelectiveReadoutTask.h.

Referenced by runOnDigis(), and setParams().

std::set<std::pair<int, int> > ecaldqm::SelectiveReadoutTask::suppressed_
private

Definition at line 50 of file SelectiveReadoutTask.h.

Referenced by beginEvent(), runOnDigis(), and runOnRawData().

bool ecaldqm::SelectiveReadoutTask::useCondDb_
private

Definition at line 46 of file SelectiveReadoutTask.h.

Referenced by beginRun(), and setParams().

std::vector<int> ecaldqm::SelectiveReadoutTask::ZSFIRWeights_
private

Definition at line 48 of file SelectiveReadoutTask.h.

Referenced by runOnDigis(), and setFIRWeights_().