CMS 3D CMS Logo

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

A container class for generic run and event-related info, information required by the commissioning analyses (such as hardware parameters), event quality flags, error conditions, etc... More...

#include <SiStripFedKey.h>

Inheritance diagram for SiStripFedKey:
SiStripKey

Public Member Functions

const uint16_t & feChan () const
 
const uint16_t & fedApv () const
 
uint16_t fedChannel () const
 
const uint16_t & fedId () const
 
const uint16_t & feUnit () const
 
bool isConsistent (const SiStripKey &) const override
 
bool isEqual (const SiStripKey &) const override
 
bool isInvalid () const override
 
bool isInvalid (const sistrip::Granularity &) const override
 
bool isValid () const override
 
bool isValid (const sistrip::Granularity &) const override
 
void print (std::stringstream &ss) const override
 
 SiStripFedKey ()
 
 SiStripFedKey (const SiStripFedKey &)
 
 SiStripFedKey (const SiStripKey &)
 
 SiStripFedKey (const std::string &directory_path)
 
 SiStripFedKey (const uint16_t &fed_id, const uint16_t &fe_unit=0, const uint16_t &fe_chan=0, const uint16_t &fed_apv=0)
 
 SiStripFedKey (const uint32_t &fed_key)
 
void terse (std::stringstream &ss) const override
 
- Public Member Functions inherited from SiStripKey
const uint16_t & channel () const
 
const sistrip::Granularitygranularity () const
 
const uint32_t & key () const
 
const SiStripKeyoperator= (const SiStripKey &)
 
const std::string & path () const
 
 SiStripKey ()
 
 SiStripKey (const SiStripKey &)
 
 SiStripKey (const std::string &directory_path)
 
 SiStripKey (const uint32_t &key)
 
virtual ~SiStripKey ()
 

Static Public Member Functions

static uint16_t feChan (const uint16_t &fed_ch)
 
static uint16_t fedCh (const uint16_t &fe_unit, const uint16_t &fe_chan)
 
static uint32_t fedIndex (const uint16_t &fed_id, const uint16_t &fed_ch)
 
static uint16_t feUnit (const uint16_t &fed_ch)
 

Private Member Functions

void initFromKey () override
 
void initFromPath () override
 
void initFromValue () override
 
void initGranularity () override
 

Private Attributes

uint16_t feChan_
 
uint16_t fedApv_
 
uint16_t fedId_
 
uint16_t feUnit_
 

Static Private Attributes

static const uint16_t feChanMask_ = 0x00F
 
static const uint16_t feChanOffset_ = 2
 
static const uint16_t fedApvMask_ = 0x003
 
static const uint16_t fedApvOffset_ = 0
 
static const uint16_t fedCrateMask_ = 0x03F
 
static const uint16_t fedCrateOffset_ = 24
 
static const uint16_t fedIdMask_ = 0x1FF
 
static const uint16_t fedIdOffset_ = 10
 
static const uint16_t fedSlotMask_ = 0x01F
 
static const uint16_t fedSlotOffset_ = 19
 
static const uint16_t feUnitMask_ = 0x00F
 
static const uint16_t feUnitOffset_ = 6
 

Additional Inherited Members

- Protected Member Functions inherited from SiStripKey
void channel (const uint16_t &)
 
void granularity (const sistrip::Granularity &)
 
void key (const uint32_t &)
 
void path (const std::string &)
 

Detailed Description

A container class for generic run and event-related info, information required by the commissioning analyses (such as hardware parameters), event quality flags, error conditions, etc...

Utility class that identifies a position within the strip tracker readout structure, down to the level of an APV25 chip.

Author
R.Bainbridge
R.Bainbridge

The class allows to encode the position within a 32-bit "key" and, conversely, unpack a 32-bit key to provide the position.

The class provides the following member data:

Member data (integer in type only) with values of 0xFFFF signifies "invalid" (ie, FedId = 0xFFFF means "invalid FED id"). Data with null values signifies "all" (ie, FedId = 0 means "all FEDs").

The class generates a "directory path" string according to the member data. This can be used to organise histograms / other data types when using DQM / root. Conversely, the member data can also be built using the directory path when provided as a constructor argument.

The class also provides the "granularity" to which the FED key is unambiguous (ie, not "invalid" or "null") in defining a position within the readout system.

In addition, the class provides static methods that allow to convert between the two "FED channel" numbering schema in place. The class member data hold values that respect the "external" numbering scheme used by the optical links group. Front-End units are numbered from 1 to 8, bottom to top. Channels with the FE units are numbered 1 to 12, bottom to top. The "internal" numbering scheme is used by the DAQ software, which numbers FED channels consecutively from 0 to 95, top to bottom.

Definition at line 56 of file SiStripFedKey.h.

Constructor & Destructor Documentation

◆ SiStripFedKey() [1/6]

SiStripFedKey::SiStripFedKey ( const uint16_t &  fed_id,
const uint16_t &  fe_unit = 0,
const uint16_t &  fe_chan = 0,
const uint16_t &  fed_apv = 0 
)

Constructor using FED id, FE unit, FE channel, and APV.

Definition at line 12 of file SiStripFedKey.cc.

16  : SiStripKey(), fedId_(fed_id), feUnit_(fe_unit), feChan_(fe_chan), fedApv_(fed_apv) {
17  // order is important!
18  initFromValue();
19  initFromKey();
20  initFromPath();
22 }

References initFromKey(), initFromPath(), initFromValue(), and initGranularity().

◆ SiStripFedKey() [2/6]

SiStripFedKey::SiStripFedKey ( const uint32_t &  fed_key)

Constructor using 32-bit "FED key".

Definition at line 26 of file SiStripFedKey.cc.

27  : SiStripKey(fed_key),
32  // order is important!
33  initFromKey();
34  initFromValue();
35  initFromPath();
37 }

References initFromKey(), initFromPath(), initFromValue(), and initGranularity().

◆ SiStripFedKey() [3/6]

SiStripFedKey::SiStripFedKey ( const std::string &  directory_path)

Constructor using directory path.

Definition at line 41 of file SiStripFedKey.cc.

42  : SiStripKey(path),
47  // order is important!
48  initFromPath();
49  initFromValue();
50  initFromKey();
52 }

References initFromKey(), initFromPath(), initFromValue(), and initGranularity().

◆ SiStripFedKey() [4/6]

SiStripFedKey::SiStripFedKey ( const SiStripFedKey input)

Copy constructor.

Definition at line 56 of file SiStripFedKey.cc.

57  : SiStripKey(), fedId_(input.fedId()), feUnit_(input.feUnit()), feChan_(input.feChan()), fedApv_(input.fedApv()) {
58  key(input.key());
59  path(input.path());
60  granularity(input.granularity());
61 }

References SiStripKey::granularity(), input, SiStripKey::key(), and SiStripKey::path().

◆ SiStripFedKey() [5/6]

SiStripFedKey::SiStripFedKey ( const SiStripKey input)

Copy constructor using base class.

Definition at line 65 of file SiStripFedKey.cc.

66  : SiStripKey(),
71  const SiStripFedKey& fed_key = dynamic_cast<const SiStripFedKey&>(input);
72  key(fed_key.key());
73  path(fed_key.path());
74  granularity(fed_key.granularity());
75  fedId_ = fed_key.fedId();
76  feUnit_ = fed_key.feUnit();
77  feChan_ = fed_key.feChan();
78  fedApv_ = fed_key.fedApv();
79 }

References feChan(), feChan_, fedApv(), fedApv_, fedId(), fedId_, feUnit(), feUnit_, SiStripKey::granularity(), input, SiStripKey::key(), and SiStripKey::path().

◆ SiStripFedKey() [6/6]

SiStripFedKey::SiStripFedKey ( )

Default constructor

Definition at line 83 of file SiStripFedKey.cc.

Member Function Documentation

◆ feChan() [1/2]

const uint16_t & SiStripFedKey::feChan ( ) const
inline

◆ feChan() [2/2]

uint16_t SiStripFedKey::feChan ( const uint16_t &  fed_ch)
static

Returns Front-End channel ("external" numbering scheme) for given FED channel ("internal" numbering scheme).

Definition at line 114 of file SiStripFedKey.cc.

114  {
115  if (fed_ch < sistrip::FEDCH_PER_FED) {
116  return ((95 - fed_ch) % 12 + 1);
117  }
118  return sistrip::invalid_;
119 }

References sistrip::FEDCH_PER_FED, and sistrip::invalid_.

◆ fedApv()

const uint16_t & SiStripFedKey::fedApv ( ) const
inline

Returns APV within FED channel.

Definition at line 191 of file SiStripFedKey.h.

191 { return fedApv_; }

References fedApv_.

Referenced by SummaryGeneratorReadoutView::fill(), print(), SiStripFedKey(), and terse().

◆ fedCh()

uint16_t SiStripFedKey::fedCh ( const uint16_t &  fe_unit,
const uint16_t &  fe_chan 
)
static

Returns FED channel ("internal" numbering scheme) for given Front-End unit and channel ("external" numbering scheme).

Definition at line 94 of file SiStripFedKey.cc.

94  {
95  if (fe_unit <= sistrip::FEUNITS_PER_FED && fe_chan <= sistrip::FEDCH_PER_FEUNIT) {
96  if (fe_unit != 0 && fe_chan != 0) {
97  return (95 - (12 * (fe_unit - 1) + (fe_chan - 1)));
98  }
99  }
100  return sistrip::invalid_;
101 }

References sistrip::FEDCH_PER_FEUNIT, sistrip::FEUNITS_PER_FED, and sistrip::invalid_.

Referenced by fedChannel(), and SiStripCondObjBuilderFromDb::setValuesApvTiming().

◆ fedChannel()

uint16_t SiStripFedKey::fedChannel ( ) const
inline

◆ fedId()

const uint16_t & SiStripFedKey::fedId ( ) const
inline

◆ fedIndex()

uint32_t SiStripFedKey::fedIndex ( const uint16_t &  fed_id,
const uint16_t &  fed_ch 
)
static

Returns number that encodes FED id and FED channel, which can be used to index vectors containing event and non-event data. Users should check if returned value is valid for indexing vector!

Definition at line 123 of file SiStripFedKey.cc.

123  {
124  if (fed_id < sistrip::FED_ID_MIN || fed_id > sistrip::FED_ID_MAX || fed_ch >= sistrip::FEDCH_PER_FED) {
125  return sistrip::invalid32_;
126  }
127  return (fed_id * sistrip::FEDCH_PER_FED + fed_ch);
128 }

References sistrip::FED_ID_MAX, sistrip::FEDCH_PER_FED, and sistrip::invalid32_.

Referenced by SiStripSpyDisplayModule::analyze().

◆ feUnit() [1/2]

const uint16_t & SiStripFedKey::feUnit ( ) const
inline

◆ feUnit() [2/2]

uint16_t SiStripFedKey::feUnit ( const uint16_t &  fed_ch)
static

Returns Front-End unit ("external" numbering scheme) for given FED channel ("internal" numbering scheme).

Definition at line 105 of file SiStripFedKey.cc.

105  {
106  if (fed_ch < sistrip::FEDCH_PER_FED) {
107  return ((95 - fed_ch) / 12 + 1);
108  }
109  return sistrip::invalid_;
110 }

References sistrip::FEDCH_PER_FED, and sistrip::invalid_.

◆ initFromKey()

void SiStripFedKey::initFromKey ( )
overrideprivatevirtual

Reimplemented from SiStripKey.

Definition at line 249 of file SiStripFedKey.cc.

249  {
250  if (key() == sistrip::invalid32_) {
251  // ---------- Set FedKey based on member data ----------
252 
253  // Initialise to null value
254  key(0);
255 
256  // Extract FED id
258  key(key() | (fedId_ << fedIdOffset_));
259  } else if (fedId_ == 0) {
260  key(key() | (fedId_ << fedIdOffset_));
261  } else {
262  key(key() | (fedIdMask_ << fedIdOffset_));
263  }
264 
265  // Extract FE unit
266  if (feUnit_ >= 1 && feUnit_ <= sistrip::FEUNITS_PER_FED) {
267  key(key() | (feUnit_ << feUnitOffset_));
268  } else if (feUnit_ == 0) {
269  key(key() | (feUnit_ << feUnitOffset_));
270  } else {
271  key(key() | (feUnitMask_ << feUnitOffset_));
272  }
273 
274  // Extract FE chan
275  if (feChan_ >= 1 && feChan_ <= sistrip::FEDCH_PER_FEUNIT) {
276  key(key() | (feChan_ << feChanOffset_));
277  } else if (feChan_ == 0) {
278  key(key() | (feChan_ << feChanOffset_));
279  } else {
280  key(key() | (feChanMask_ << feChanOffset_));
281  }
282 
283  // Extract FED APV
284  if (fedApv_ >= 1 && fedApv_ <= sistrip::APVS_PER_FEDCH) {
285  key(key() | (fedApv_ << fedApvOffset_));
286  } else if (fedApv_ == 0) {
287  key(key() | (fedApv_ << fedApvOffset_));
288  } else {
289  key(key() | (fedApvMask_ << fedApvOffset_));
290  }
291 
292  // Set invalid key if necessary
296  }
297 
298  } else {
299  // ---------- Set member data based on FED key ----------
300 
301  fedId_ = (key() >> fedIdOffset_) & fedIdMask_;
305 
306  if (fedId_ == fedIdMask_) {
308  }
309  if (feUnit_ == feUnitMask_) {
311  }
312  if (feChan_ == feChanMask_) {
314  }
315  if (fedApv_ == fedApvMask_) {
317  }
318  }
319 }

References sistrip::APVS_PER_FEDCH, feChan_, feChanMask_, feChanOffset_, sistrip::FED_ID_MAX, sistrip::FED_ID_MIN, fedApv_, fedApvMask_, fedApvOffset_, sistrip::FEDCH_PER_FEUNIT, fedId_, fedIdMask_, fedIdOffset_, feUnit_, feUnitMask_, feUnitOffset_, sistrip::FEUNITS_PER_FED, sistrip::invalid32_, sistrip::invalid_, and SiStripKey::key().

Referenced by SiStripFedKey().

◆ initFromPath()

void SiStripFedKey::initFromPath ( )
overrideprivatevirtual

Reimplemented from SiStripKey.

Definition at line 323 of file SiStripFedKey.cc.

323  {
324  if (path() == sistrip::null_) {
325  // ---------- Set directory path based on member data ----------
326 
327  std::stringstream dir;
328 
330 
331  // Add FED id
332  if (fedId_) {
334 
335  // Add FE unit
336  if (feUnit_) {
338 
339  // Add FE channel
340  if (feChan_) {
342 
343  // Add FED APV
344  if (fedApv_) {
346  }
347  }
348  }
349  }
350 
351  std::string temp(dir.str());
352  path(temp);
353 
354  } else {
355  // ---------- Set member data based on directory path ----------
356 
357  fedId_ = 0;
358  feUnit_ = 0;
359  feChan_ = 0;
360  fedApv_ = 0;
361 
362  // Check if root is found
363  if (path().find(sistrip::root_) == std::string::npos) {
364  std::string temp = path();
366  }
367 
368  size_t curr = 0; // current string position
369  size_t next = 0; // next string position
370  next = path().find(sistrip::readoutView_, curr);
371 
372  // Extract view
373  curr = next;
374  if (curr != std::string::npos) {
375  next = path().find(sistrip::feDriver_, curr);
376  std::string readout_view(
377  path(), curr + (sizeof(sistrip::readoutView_) - 1), (next - (sizeof(sistrip::dir_) - 1)) - curr);
378 
379  // Extract FED id
380  curr = next;
381  if (curr != std::string::npos) {
382  next = path().find(sistrip::feUnit_, curr);
383  std::string fed_id(
384  path(), curr + (sizeof(sistrip::feDriver_) - 1), (next - (sizeof(sistrip::dir_) - 1)) - curr);
385  fedId_ = atoi(fed_id.c_str());
386 
387  // Extract FE unit
388  curr = next;
389  if (curr != std::string::npos) {
390  next = path().find(sistrip::feChan_, curr);
391  std::string fe_unit(path(), curr + (sizeof(sistrip::feUnit_) - 1), next - curr);
392  feUnit_ = atoi(fe_unit.c_str());
393 
394  // Extract FE channel
395  curr = next;
396  if (curr != std::string::npos) {
397  next = path().find(sistrip::fedApv_, curr);
398  std::string fe_chan(path(), curr + (sizeof(sistrip::feChan_) - 1), next - curr);
399  feChan_ = atoi(fe_chan.c_str());
400 
401  // Extract FED APV
402  curr = next;
403  if (curr != std::string::npos) {
404  next = std::string::npos;
405  std::string fed_apv(path(), curr + (sizeof(sistrip::fedApv_) - 1), next - curr);
406  fedApv_ = atoi(fed_apv.c_str());
407  }
408  }
409  }
410  }
411  } else {
412  std::stringstream ss;
414  //ss << sistrip::root_ << sistrip::dir_
415  //<< sistrip::unknownView_ << sistrip::dir_;
416  std::string temp(ss.str());
417  path(temp);
418  }
419  }
420 }

References DeadROC_duringRun::dir, sistrip::dir_, sistrip::feChan_, feChan_, sistrip::fedApv_, fedApv_, fedId_, sistrip::feDriver_, sistrip::feUnit_, feUnit_, spr::find(), GetRecoTauVFromDQM_MC_cff::next, sistrip::null_, SiStripKey::path(), sistrip::readoutView_, sistrip::root_, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.

Referenced by SiStripFedKey().

◆ initFromValue()

void SiStripFedKey::initFromValue ( )
overrideprivatevirtual

Reimplemented from SiStripKey.

Definition at line 229 of file SiStripFedKey.cc.

229  {
230  if (not((fedId_ >= sistrip::FED_ID_MIN && fedId_ <= sistrip::FED_ID_MAX) || (fedId_ == 0))) {
232  }
233 
236  }
237 
240  }
241 
244  }
245 }

References sistrip::APVS_PER_FEDCH, feChan_, sistrip::FED_ID_MAX, sistrip::FED_ID_MIN, fedApv_, sistrip::FEDCH_PER_FEUNIT, fedId_, feUnit_, sistrip::FEUNITS_PER_FED, and sistrip::invalid_.

Referenced by SiStripFedKey().

◆ initGranularity()

void SiStripFedKey::initGranularity ( )
overrideprivatevirtual

◆ isConsistent()

bool SiStripFedKey::isConsistent ( const SiStripKey key) const
overridevirtual

"Consistent" means identical and/or null (ie, "all") data.

Reimplemented from SiStripKey.

Definition at line 143 of file SiStripFedKey.cc.

143  {
144  const SiStripFedKey& input = dynamic_cast<const SiStripFedKey&>(key);
145  if (isEqual(input)) {
146  return true;
147  } else if ((fedId_ == 0 || input.fedId() == 0) && (feUnit_ == 0 || input.feUnit() == 0) &&
148  (feChan_ == 0 || input.feChan() == 0) && (fedApv_ == 0 || input.fedApv() == 0)) {
149  return true;
150  } else {
151  return false;
152  }
153 }

References feChan_, fedApv_, fedId_, feUnit_, input, isEqual(), and SiStripKey::key().

◆ isEqual()

bool SiStripFedKey::isEqual ( const SiStripKey key) const
overridevirtual

Identifies key objects with identical member data.

Reimplemented from SiStripKey.

Definition at line 132 of file SiStripFedKey.cc.

132  {
133  const SiStripFedKey& input = dynamic_cast<const SiStripFedKey&>(key);
134  if (fedId_ == input.fedId() && feUnit_ == input.feUnit() && feChan_ == input.feChan() && fedApv_ == input.fedApv()) {
135  return true;
136  } else {
137  return false;
138  }
139 }

References feChan_, fedApv_, fedId_, feUnit_, input, and SiStripKey::key().

Referenced by isConsistent().

◆ isInvalid() [1/2]

bool SiStripFedKey::isInvalid ( ) const
overridevirtual

Identifies all member data as being invalid.

Reimplemented from SiStripKey.

Definition at line 193 of file SiStripFedKey.cc.

193 { return isInvalid(sistrip::FED_APV); }

References sistrip::FED_APV.

◆ isInvalid() [2/2]

bool SiStripFedKey::isInvalid ( const sistrip::Granularity gran) const
overridevirtual

All member data to level of "Granularity" are invalid. If sistrip::Granularity is "undefined", returns true.

Reimplemented from SiStripKey.

Definition at line 197 of file SiStripFedKey.cc.

197  {
198  if (gran == sistrip::FED_SYSTEM) {
199  return false;
200  } else if (gran == sistrip::UNDEFINED_GRAN || gran == sistrip::UNKNOWN_GRAN) {
201  return false;
202  }
203 
204  if (fedId_ == sistrip::invalid_) {
205  if (gran == sistrip::FE_DRIVER) {
206  return true;
207  }
208  if (feUnit_ == sistrip::invalid_) {
209  if (gran == sistrip::FE_UNIT) {
210  return true;
211  }
212  if (feChan_ == sistrip::invalid_) {
213  if (gran == sistrip::FE_CHAN) {
214  return true;
215  }
216  if (fedApv_ == sistrip::invalid_) {
217  if (gran == sistrip::FED_APV) {
218  return true;
219  }
220  }
221  }
222  }
223  }
224  return false;
225 }

References sistrip::FE_CHAN, sistrip::FE_DRIVER, sistrip::FE_UNIT, feChan_, sistrip::FED_APV, sistrip::FED_SYSTEM, fedApv_, fedId_, feUnit_, sistrip::invalid_, sistrip::UNDEFINED_GRAN, and sistrip::UNKNOWN_GRAN.

◆ isValid() [1/2]

bool SiStripFedKey::isValid ( void  ) const
overridevirtual

◆ isValid() [2/2]

bool SiStripFedKey::isValid ( const sistrip::Granularity gran) const
overridevirtual

All member data to level of "Granularity" are valid. If sistrip::Granularity is "undefined", returns false.

Reimplemented from SiStripKey.

Definition at line 161 of file SiStripFedKey.cc.

161  {
162  if (gran == sistrip::FED_SYSTEM) {
163  return true;
164  } else if (gran == sistrip::UNDEFINED_GRAN || gran == sistrip::UNKNOWN_GRAN) {
165  return false;
166  }
167 
168  if (fedId_ != sistrip::invalid_) {
169  if (gran == sistrip::FE_DRIVER) {
170  return true;
171  }
172  if (feUnit_ != sistrip::invalid_) {
173  if (gran == sistrip::FE_UNIT) {
174  return true;
175  }
176  if (feChan_ != sistrip::invalid_) {
177  if (gran == sistrip::FE_CHAN) {
178  return true;
179  }
180  if (fedApv_ != sistrip::invalid_) {
181  if (gran == sistrip::FED_APV) {
182  return true;
183  }
184  }
185  }
186  }
187  }
188  return false;
189 }

References sistrip::FE_CHAN, sistrip::FE_DRIVER, sistrip::FE_UNIT, feChan_, sistrip::FED_APV, sistrip::FED_SYSTEM, fedApv_, fedId_, feUnit_, sistrip::invalid_, sistrip::UNDEFINED_GRAN, and sistrip::UNKNOWN_GRAN.

Referenced by ntupleDataFormat._Object::_checkIsValid(), and core.AutoHandle.AutoHandle::ReallyLoad().

◆ print()

void SiStripFedKey::print ( std::stringstream &  ss) const
overridevirtual

Print member data of the key

Reimplemented from SiStripKey.

Definition at line 482 of file SiStripFedKey.cc.

482  {
483  ss << " [SiStripFedKey::print]" << std::endl
484  << std::hex << " FED key : 0x" << std::setfill('0') << std::setw(8) << key() << std::endl
485  << std::setfill(' ') << std::dec << " FED id : " << fedId() << std::endl
486  << " Front-End unit : " << feUnit() << std::endl
487  << " Front-End chan : " << feChan() << std::endl
488  << " (internal chan) : "
489  << "(" << fedChannel() << ")" << std::endl
490  << " FED APV : " << fedApv() << std::endl
491  << " Directory : " << path() << std::endl
492  << " Granularity : " << SiStripEnumsAndStrings::granularity(granularity()) << std::endl
493  << " Channel : " << channel() << std::endl
494  << " isValid : " << isValid();
495 }

References SiStripKey::channel(), TauDecayModes::dec, feChan(), fedApv(), fedChannel(), fedId(), feUnit(), SiStripEnumsAndStrings::granularity(), SiStripKey::granularity(), isValid(), SiStripKey::key(), SiStripKey::path(), and contentValuesCheck::ss.

Referenced by CommissioningHistograms::printHistosMap().

◆ terse()

void SiStripFedKey::terse ( std::stringstream &  ss) const
overridevirtual

A terse summary of the key

Reimplemented from SiStripKey.

Definition at line 459 of file SiStripFedKey.cc.

459  {
460  ss << "FED:crate/slot/id/unit/chan/apv= "
461  << "-"
462  << "/"
463  << "-"
464  << "/" << fedId() << "/" << feUnit() << "/" << feChan() << "/" << fedApv();
465  // ss << " FedKey"
466  // //<<"=0x"
467  // //<< std::hex
468  // //<< std::setfill('0') << std::setw(8) << key() << std::setfill(' ')
469  // //<< std::dec
470  // //<< ", " << ( isValid() ? "Valid" : "Invalid" )
471  // //<< ", FedCrate=" << fedCrate()
472  // //<< ", FedSlot=" << fedSlot()
473  // << ", FedId=" << fedId()
474  // << ", FeUnit=" << feUnit()
475  // << ", FeChan=" << feChan()
476  // //<< ", FedChannel=" << fedChannel()
477  // << ", FedApv=" << fedApv();
478 }

References feChan(), fedApv(), fedId(), feUnit(), and contentValuesCheck::ss.

Member Data Documentation

◆ feChan_

uint16_t SiStripFedKey::feChan_
private

◆ feChanMask_

const uint16_t SiStripFedKey::feChanMask_ = 0x00F
staticprivate

Definition at line 182 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ feChanOffset_

const uint16_t SiStripFedKey::feChanOffset_ = 2
staticprivate

Definition at line 174 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ fedApv_

uint16_t SiStripFedKey::fedApv_
private

◆ fedApvMask_

const uint16_t SiStripFedKey::fedApvMask_ = 0x003
staticprivate

Definition at line 183 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ fedApvOffset_

const uint16_t SiStripFedKey::fedApvOffset_ = 0
staticprivate

Definition at line 175 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ fedCrateMask_

const uint16_t SiStripFedKey::fedCrateMask_ = 0x03F
staticprivate

Definition at line 178 of file SiStripFedKey.h.

◆ fedCrateOffset_

const uint16_t SiStripFedKey::fedCrateOffset_ = 24
staticprivate

Definition at line 170 of file SiStripFedKey.h.

◆ fedId_

uint16_t SiStripFedKey::fedId_
private

FED id [0,50-489,invalid].

Definition at line 158 of file SiStripFedKey.h.

Referenced by fedId(), initFromKey(), initFromPath(), initFromValue(), initGranularity(), isConsistent(), isEqual(), isInvalid(), isValid(), and SiStripFedKey().

◆ fedIdMask_

const uint16_t SiStripFedKey::fedIdMask_ = 0x1FF
staticprivate

Definition at line 180 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ fedIdOffset_

const uint16_t SiStripFedKey::fedIdOffset_ = 10
staticprivate

Definition at line 172 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ fedSlotMask_

const uint16_t SiStripFedKey::fedSlotMask_ = 0x01F
staticprivate

Definition at line 179 of file SiStripFedKey.h.

◆ fedSlotOffset_

const uint16_t SiStripFedKey::fedSlotOffset_ = 19
staticprivate

Definition at line 171 of file SiStripFedKey.h.

◆ feUnit_

uint16_t SiStripFedKey::feUnit_
private

◆ feUnitMask_

const uint16_t SiStripFedKey::feUnitMask_ = 0x00F
staticprivate

Definition at line 181 of file SiStripFedKey.h.

Referenced by initFromKey().

◆ feUnitOffset_

const uint16_t SiStripFedKey::feUnitOffset_ = 6
staticprivate

Definition at line 173 of file SiStripFedKey.h.

Referenced by initFromKey().

SiStripFedKey::fedIdMask_
static const uint16_t fedIdMask_
Definition: SiStripFedKey.h:180
SiStripFedKey::isEqual
bool isEqual(const SiStripKey &) const override
Definition: SiStripFedKey.cc:132
sistrip::null_
static const char null_[]
Definition: Constants.h:22
input
static const std::string input
Definition: EdmProvDump.cc:48
SiStripFedKey::fedId_
uint16_t fedId_
Definition: SiStripFedKey.h:158
SiStripFedKey::feUnit_
uint16_t feUnit_
Definition: SiStripFedKey.h:161
sistrip::invalid32_
static const uint32_t invalid32_
Definition: Constants.h:15
SiStripFedKey::isValid
bool isValid() const override
Definition: SiStripFedKey.cc:157
SiStripKey::key
const uint32_t & key() const
Definition: SiStripKey.h:120
sistrip::dir_
static const char dir_[]
Definition: ConstantsForDqm.h:17
SiStripKey::SiStripKey
SiStripKey()
Definition: SiStripKey.cc:43
SiStripFedKey::feChanMask_
static const uint16_t feChanMask_
Definition: SiStripFedKey.h:182
sistrip::FED_APV
Definition: ConstantsForGranularity.h:85
SiStripFedKey::feUnitMask_
static const uint16_t feUnitMask_
Definition: SiStripFedKey.h:181
sistrip::FE_UNIT
Definition: ConstantsForGranularity.h:83
sistrip::FED_ID_MIN
static const uint16_t FED_ID_MIN
Definition: ConstantsForHardwareSystems.h:21
SiStripFedKey::feChan_
uint16_t feChan_
Definition: SiStripFedKey.h:164
SiStripFedKey
A container class for generic run and event-related info, information required by the commissioning a...
Definition: SiStripFedKey.h:56
sistrip::UNKNOWN_GRAN
Definition: ConstantsForGranularity.h:62
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
SiStripFedKey::fedIdOffset_
static const uint16_t fedIdOffset_
Definition: SiStripFedKey.h:172
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
SiStripFedKey::fedApvOffset_
static const uint16_t fedApvOffset_
Definition: SiStripFedKey.h:175
SiStripKey::granularity
const sistrip::Granularity & granularity() const
Definition: SiStripKey.h:122
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
SiStripKey::channel
const uint16_t & channel() const
Definition: SiStripKey.h:123
SiStripFedKey::initFromPath
void initFromPath() override
Definition: SiStripFedKey.cc:323
SiStripFedKey::isInvalid
bool isInvalid() const override
Definition: SiStripFedKey.cc:193
SiStripFedKey::initGranularity
void initGranularity() override
Definition: SiStripFedKey.cc:424
SiStripEnumsAndStrings::granularity
static std::string granularity(const sistrip::Granularity &)
Definition: SiStripEnumsAndStrings.cc:265
sistrip::FEUNITS_PER_FED
static const uint16_t FEUNITS_PER_FED
Definition: ConstantsForHardwareSystems.h:29
SiStripFedKey::initFromKey
void initFromKey() override
Definition: SiStripFedKey.cc:249
SiStripKey::path
const std::string & path() const
Definition: SiStripKey.h:121
SiStripFedKey::fedApv
const uint16_t & fedApv() const
Definition: SiStripFedKey.h:191
sistrip::fedApv_
static const char fedApv_[]
Definition: ConstantsForGranularity.h:47
SiStripFedKey::feUnit
const uint16_t & feUnit() const
Definition: SiStripFedKey.h:189
sistrip::FED_SYSTEM
Definition: ConstantsForGranularity.h:81
SiStripFedKey::feUnitOffset_
static const uint16_t feUnitOffset_
Definition: SiStripFedKey.h:173
sistrip::root_
static const char root_[]
Definition: ConstantsForDqm.h:30
sistrip::invalid_
static const uint16_t invalid_
Definition: Constants.h:16
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
sistrip::FED_ID_MAX
static const uint16_t FED_ID_MAX
Definition: ConstantsForHardwareSystems.h:22
SiStripFedKey::fedApvMask_
static const uint16_t fedApvMask_
Definition: SiStripFedKey.h:183
SiStripFedKey::fedApv_
uint16_t fedApv_
Definition: SiStripFedKey.h:167
SiStripFedKey::fedCh
static uint16_t fedCh(const uint16_t &fe_unit, const uint16_t &fe_chan)
Definition: SiStripFedKey.cc:94
sistrip::feChan_
static const char feChan_[]
Definition: ConstantsForGranularity.h:46
SiStripFedKey::fedChannel
uint16_t fedChannel() const
Definition: SiStripFedKey.h:192
SiStripFedKey::initFromValue
void initFromValue() override
Definition: SiStripFedKey.cc:229
sistrip::APVS_PER_FEDCH
static const uint16_t APVS_PER_FEDCH
Definition: ConstantsForHardwareSystems.h:34
SiStripFedKey::feChanOffset_
static const uint16_t feChanOffset_
Definition: SiStripFedKey.h:174
sistrip::FEDCH_PER_FED
static const uint16_t FEDCH_PER_FED
Definition: ConstantsForHardwareSystems.h:30
sistrip::FEDCH_PER_FEUNIT
static const uint16_t FEDCH_PER_FEUNIT
Definition: ConstantsForHardwareSystems.h:28
sistrip::readoutView_
static const char readoutView_[]
Definition: ConstantsForView.h:20
sistrip::FE_DRIVER
Definition: ConstantsForGranularity.h:82
sistrip::UNDEFINED_GRAN
Definition: ConstantsForGranularity.h:61
TauDecayModes.dec
dec
Definition: TauDecayModes.py:142
sistrip::FE_CHAN
Definition: ConstantsForGranularity.h:84
SiStripFedKey::fedId
const uint16_t & fedId() const
Definition: SiStripFedKey.h:188
SiStripFedKey::feChan
const uint16_t & feChan() const
Definition: SiStripFedKey.h:190
sistrip::feDriver_
static const char feDriver_[]
Definition: ConstantsForGranularity.h:44
GetRecoTauVFromDQM_MC_cff.next
next
Definition: GetRecoTauVFromDQM_MC_cff.py:31
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
sistrip::feUnit_
static const char feUnit_[]
Definition: ConstantsForGranularity.h:45