CMS 3D CMS Logo

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

#include <HFQIE10Info.h>

Public Types

typedef HcalDetId key_type
 
typedef QIE10DataFrame::Sample::wide_type raw_type
 

Public Member Functions

float charge () const
 
float energy () const
 
raw_type getRaw (const unsigned which) const
 
 HFQIE10Info ()
 
 HFQIE10Info (const HcalDetId &id, float charge, float energy, float timeRising, float timeFalling, const raw_type *rawData, unsigned nData, unsigned soi)
 
HcalDetId id () const
 
bool isDataframeOK (bool checkAllTimeSlices=false) const
 
unsigned nRaw () const
 
unsigned soi () const
 
float timeFalling () const
 
float timeRising () const
 

Static Public Attributes

static const raw_type INVALID_RAW = std::numeric_limits<raw_type>::max()
 
static const unsigned N_RAW_MAX = 5
 

Private Attributes

float charge_
 
float energy_
 
HcalDetId id_
 
uint8_t nRaw_
 
raw_type raw_ [N_RAW_MAX]
 
uint8_t soi_
 
float timeFalling_
 
float timeRising_
 

Detailed Description

Class to contain the info needed to perform HF reconstruction using QIE10 chips and dual-anode readout. Intended for use inside HFPreRecHit.

Definition at line 15 of file HFQIE10Info.h.

Member Typedef Documentation

Definition at line 17 of file HFQIE10Info.h.

Definition at line 18 of file HFQIE10Info.h.

Constructor & Destructor Documentation

HFQIE10Info::HFQIE10Info ( )
inline

Definition at line 23 of file HFQIE10Info.h.

References INVALID_RAW, nRaw_, and soi_.

24  : charge_(0.f),
25  energy_(0.f),
26  timeRising_(0.f),
27  timeFalling_(-1.f),
29  nRaw_(0),
30  soi_(0) {}
float timeFalling_
Definition: HFQIE10Info.h:114
static const raw_type INVALID_RAW
Definition: HFQIE10Info.h:21
double f[11][100]
float timeRising_
Definition: HFQIE10Info.h:113
raw_type raw_[N_RAW_MAX]
Definition: HFQIE10Info.h:115
uint8_t soi_
Definition: HFQIE10Info.h:117
float charge_
Definition: HFQIE10Info.h:111
uint8_t nRaw_
Definition: HFQIE10Info.h:116
float energy_
Definition: HFQIE10Info.h:112
HFQIE10Info::HFQIE10Info ( const HcalDetId id,
float  charge,
float  energy,
float  timeRising,
float  timeFalling,
const raw_type rawData,
unsigned  nData,
unsigned  soi 
)
inline

Definition at line 34 of file HFQIE10Info.h.

References mps_fire::i, INVALID_RAW, min(), nRaw_, raw_, l1tstage2_dqm_sourceclient-live_cfg::rawData, soi(), soi_, and mitigatedMETSequence_cff::U.

42  : id_(id),
43  charge_(charge),
44  energy_(energy),
48  nRaw_(std::min(nData, N_RAW_MAX)),
49  soi_(0) {
50  if (nData) {
51  unsigned tbegin = 0;
52  if (soi >= nData) {
53  // No SOI in the data. This situation is not normal
54  // but can not be addressed in this code.
55  if (nData > nRaw_)
56  tbegin = nData - nRaw_;
57  soi_ = nRaw_;
58  } else {
59  if (nData > nRaw_) {
60  // Want to keep at least 2 presamples
61  if (soi > 2U) {
62  tbegin = soi - 2U;
63  if (tbegin + nRaw_ > nData)
64  tbegin = nData - nRaw_;
65  }
66  }
67  soi_ = soi - tbegin;
68  }
69 
70  raw_type* to = &raw_[0];
71  const raw_type* from = rawData + tbegin;
72  for (unsigned i = 0; i < nRaw_; ++i)
73  *to++ = *from++;
74  }
75  }
float timeFalling_
Definition: HFQIE10Info.h:114
float timeRising() const
Definition: HFQIE10Info.h:81
static const raw_type INVALID_RAW
Definition: HFQIE10Info.h:21
HcalDetId id_
Definition: HFQIE10Info.h:109
float energy() const
Definition: HFQIE10Info.h:80
T min(T a, T b)
Definition: MathUtil.h:58
QIE10DataFrame::Sample::wide_type raw_type
Definition: HFQIE10Info.h:18
float timeRising_
Definition: HFQIE10Info.h:113
raw_type raw_[N_RAW_MAX]
Definition: HFQIE10Info.h:115
uint8_t soi_
Definition: HFQIE10Info.h:117
unsigned soi() const
Definition: HFQIE10Info.h:84
float timeFalling() const
Definition: HFQIE10Info.h:82
static const unsigned N_RAW_MAX
Definition: HFQIE10Info.h:20
float charge_
Definition: HFQIE10Info.h:111
uint8_t nRaw_
Definition: HFQIE10Info.h:116
float charge() const
Definition: HFQIE10Info.h:79
float energy_
Definition: HFQIE10Info.h:112

Member Function Documentation

float HFQIE10Info::charge ( ) const
inline

Definition at line 79 of file HFQIE10Info.h.

References charge_.

Referenced by HFPreRecHit::charge(), HFPreRecHit::chargeAsymmetry(), and HFFlexibleTimeCheck::determineAnodeStatus().

79 { return charge_; }
float charge_
Definition: HFQIE10Info.h:111
float HFQIE10Info::energy ( ) const
inline
raw_type HFQIE10Info::getRaw ( const unsigned  which) const
inline

Definition at line 85 of file HFQIE10Info.h.

References nRaw_, raw_, and eostools::which().

Referenced by HFRecHitAuxSetter::setAux().

85 { return which >= nRaw_ ? INVALID_RAW : raw_[which]; }
static const raw_type INVALID_RAW
Definition: HFQIE10Info.h:21
raw_type raw_[N_RAW_MAX]
Definition: HFQIE10Info.h:115
def which(cmd)
Definition: eostools.py:336
uint8_t nRaw_
Definition: HFQIE10Info.h:116
HcalDetId HFQIE10Info::id ( ) const
inline

Definition at line 77 of file HFQIE10Info.h.

References id_.

Referenced by HFPreReconstructor::fillInfos().

77 { return id_; }
HcalDetId id_
Definition: HFQIE10Info.h:109
bool HFQIE10Info::isDataframeOK ( bool  checkAllTimeSlices = false) const
inline

Definition at line 94 of file HFQIE10Info.h.

References mps_fire::i, nRaw_, QIE10DataFrame::Sample::ok(), raw_, alignCSCRings::s, and soi_.

Referenced by HFFlexibleTimeCheck::determineAnodeStatus(), and HFSimpleTimeCheck::determineAnodeStatus().

94  {
95  bool hardwareOK = true;
96  if (soi_ >= nRaw_ || checkAllTimeSlices)
97  for (unsigned i = 0; i < nRaw_ && hardwareOK; ++i) {
99  hardwareOK = s.ok();
100  }
101  else {
103  hardwareOK = s.ok();
104  }
105  return hardwareOK;
106  }
raw_type raw_[N_RAW_MAX]
Definition: HFQIE10Info.h:115
uint8_t soi_
Definition: HFQIE10Info.h:117
uint8_t nRaw_
Definition: HFQIE10Info.h:116
unsigned HFQIE10Info::nRaw ( ) const
inline

Definition at line 83 of file HFQIE10Info.h.

References nRaw_.

Referenced by HFRecHitAuxSetter::setAux().

83 { return nRaw_; }
uint8_t nRaw_
Definition: HFQIE10Info.h:116
unsigned HFQIE10Info::soi ( ) const
inline

Definition at line 84 of file HFQIE10Info.h.

References soi_.

Referenced by HFQIE10Info(), and HFRecHitAuxSetter::setAux().

84 { return soi_; }
uint8_t soi_
Definition: HFQIE10Info.h:117
float HFQIE10Info::timeFalling ( ) const
inline

Definition at line 82 of file HFQIE10Info.h.

References timeFalling_.

Referenced by HFSimpleTimeCheck::reconstruct().

82 { return timeFalling_; }
float timeFalling_
Definition: HFQIE10Info.h:114
float HFQIE10Info::timeRising ( ) const
inline

Member Data Documentation

float HFQIE10Info::charge_
private

Definition at line 111 of file HFQIE10Info.h.

Referenced by charge().

float HFQIE10Info::energy_
private

Definition at line 112 of file HFQIE10Info.h.

Referenced by energy().

HcalDetId HFQIE10Info::id_
private

Definition at line 109 of file HFQIE10Info.h.

Referenced by id().

const raw_type HFQIE10Info::INVALID_RAW = std::numeric_limits<raw_type>::max()
static

Definition at line 21 of file HFQIE10Info.h.

Referenced by HFQIE10Info().

const unsigned HFQIE10Info::N_RAW_MAX = 5
static

Definition at line 20 of file HFQIE10Info.h.

Referenced by HFPreRecAlgo::reconstruct().

uint8_t HFQIE10Info::nRaw_
private

Definition at line 116 of file HFQIE10Info.h.

Referenced by getRaw(), HFQIE10Info(), isDataframeOK(), and nRaw().

raw_type HFQIE10Info::raw_[N_RAW_MAX]
private

Definition at line 115 of file HFQIE10Info.h.

Referenced by getRaw(), HFQIE10Info(), and isDataframeOK().

uint8_t HFQIE10Info::soi_
private

Definition at line 117 of file HFQIE10Info.h.

Referenced by HFQIE10Info(), isDataframeOK(), and soi().

float HFQIE10Info::timeFalling_
private

Definition at line 114 of file HFQIE10Info.h.

Referenced by timeFalling().

float HFQIE10Info::timeRising_
private

Definition at line 113 of file HFQIE10Info.h.

Referenced by timeRising().