CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Static Public Attributes | Friends
CSCStripData Class Reference

#include <CSCStripData.h>

Public Member Functions

 CSCStripData ()
 
 CSCStripData (float phmax, int tmax, const std::vector< int > &phRaw, const std::vector< float > &ph)
 
 CSCStripData (float phmax, int tmax, std::vector< int > &&phRaw, std::vector< float > &&ph)
 
void operator*= (float factor)
 
bool operator< (const CSCStripData &data) const
 
const std::vector< float > & ph () const
 
float phmax () const
 maximum pulseheight in one SCA time bin More...
 
const std::vector< int > & phRaw () const
 
void reset ()
 
int tmax () const
 the time bin in which the maximum pulseheight occurs (counts from 0) More...
 
bool valid () const
 

Public Attributes

std::vector< float > ph_
 
float phmax_
 
std::vector< int > phRaw_
 
int tmax_
 

Static Public Attributes

static constexpr int ntbins_ = 8
 

Friends

std::ostream & operator<< (std::ostream &, const CSCStripData &)
 for debugging purposes More...
 

Detailed Description

Hold strip data while building strip hits in CSCHitFromStripOnly.

Definition at line 15 of file CSCStripData.h.

Constructor & Destructor Documentation

◆ CSCStripData() [1/3]

CSCStripData::CSCStripData ( )
inline

The default ctor initializes all elements of thePulseHeightMap for which explicit digis do not exist. Use sentinel value for istrip and tmax.

Note that raw pulseheights are int.

Definition at line 23 of file CSCStripData.h.

23 : phmax_(0.f), tmax_(-1), phRaw_(ntbins_), ph_(ntbins_) {}
std::vector< float > ph_
Definition: CSCStripData.h:71
std::vector< int > phRaw_
Definition: CSCStripData.h:70
double f[11][100]
static constexpr int ntbins_
Definition: CSCStripData.h:67

◆ CSCStripData() [2/3]

CSCStripData::CSCStripData ( float  phmax,
int  tmax,
const std::vector< int > &  phRaw,
const std::vector< float > &  ph 
)
inline

Definition at line 24 of file CSCStripData.h.

25  : phmax_(phmax), tmax_(tmax), phRaw_(phRaw), ph_(ph) {}
std::vector< float > ph_
Definition: CSCStripData.h:71
int tmax() const
the time bin in which the maximum pulseheight occurs (counts from 0)
Definition: CSCStripData.h:39
std::vector< int > phRaw_
Definition: CSCStripData.h:70
float phmax() const
maximum pulseheight in one SCA time bin
Definition: CSCStripData.h:37
const std::vector< int > & phRaw() const
Definition: CSCStripData.h:49

◆ CSCStripData() [3/3]

CSCStripData::CSCStripData ( float  phmax,
int  tmax,
std::vector< int > &&  phRaw,
std::vector< float > &&  ph 
)
inline

Definition at line 27 of file CSCStripData.h.

std::vector< float > ph_
Definition: CSCStripData.h:71
int tmax() const
the time bin in which the maximum pulseheight occurs (counts from 0)
Definition: CSCStripData.h:39
std::vector< int > phRaw_
Definition: CSCStripData.h:70
float phmax() const
maximum pulseheight in one SCA time bin
Definition: CSCStripData.h:37
const std::vector< int > & phRaw() const
Definition: CSCStripData.h:49
def move(src, dest)
Definition: eostools.py:511

Member Function Documentation

◆ operator*=()

void CSCStripData::operator*= ( float  factor)
inline

scale pulseheights by argument, but leave raw pulseheights unchanged.

Definition at line 54 of file CSCStripData.h.

References HltBtagPostValidation_cff::c, ph_, phmax_, and HcalDetIdTransform::transform().

54  {
55  // scale all elements of ph by 'factor'. Leaves phRaw_ unchanged.
56  std::transform(ph_.begin(), ph_.end(), ph_.begin(), [&factor](auto c) { return c * factor; });
57  phmax_ *= factor;
58  }
std::vector< float > ph_
Definition: CSCStripData.h:71
unsigned transform(const HcalDetId &id, unsigned transformCode)

◆ operator<()

bool CSCStripData::operator< ( const CSCStripData data) const
inline

Definition at line 60 of file CSCStripData.h.

References data, and phmax_.

60 { return phmax_ < data.phmax_; }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79

◆ ph()

const std::vector<float>& CSCStripData::ph ( ) const
inline

pulseheights in the 8 SCA time bins, after pedestal subtraction and (possibly) gain-correction

Definition at line 44 of file CSCStripData.h.

References ph_.

44 { return ph_; }
std::vector< float > ph_
Definition: CSCStripData.h:71

◆ phmax()

float CSCStripData::phmax ( ) const
inline

maximum pulseheight in one SCA time bin

Definition at line 37 of file CSCStripData.h.

References phmax_.

37 { return phmax_; }

◆ phRaw()

const std::vector<int>& CSCStripData::phRaw ( ) const
inline

pulseheights in the 8 SCA time bins, after pedestal subtraction but without gain-correction

Definition at line 49 of file CSCStripData.h.

References phRaw_.

49 { return phRaw_; }
std::vector< int > phRaw_
Definition: CSCStripData.h:70

◆ reset()

void CSCStripData::reset ( void  )
inline

Definition at line 30 of file CSCStripData.h.

References phmax_, and tmax_.

30  {
31  phmax_ = 0.f;
32  tmax_ = -1;
33  }

◆ tmax()

int CSCStripData::tmax ( ) const
inline

the time bin in which the maximum pulseheight occurs (counts from 0)

Definition at line 39 of file CSCStripData.h.

References tmax_.

39 { return tmax_; }

◆ valid()

bool CSCStripData::valid ( ) const
inline

Definition at line 34 of file CSCStripData.h.

References tmax_.

34 { return tmax_ >= 0; }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const CSCStripData data 
)
friend

for debugging purposes

Definition at line 9 of file CSCStripData.cc.

9  {
10  os << "CSCStripData " << std::endl
11  << "------------ " << std::endl
12  << "no. of time bins = " << data.ntbins_ << std::endl
13  << ", phmax = " << data.phmax_ << ", tmax = " << data.tmax_ << std::endl
14  << "phraw: " << std::endl;
15  std::copy(data.phRaw_.begin(), data.phRaw_.end(), std::ostream_iterator<int>(os, "\n"));
16  os << "ph: " << std::endl;
17  std::copy(data.ph_.begin(), data.ph_.end(), std::ostream_iterator<float>(os, "\n"));
18  return os;
19 }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79

Member Data Documentation

◆ ntbins_

constexpr int CSCStripData::ntbins_ = 8
static

Definition at line 67 of file CSCStripData.h.

◆ ph_

std::vector<float> CSCStripData::ph_

Definition at line 71 of file CSCStripData.h.

Referenced by operator*=(), and ph().

◆ phmax_

float CSCStripData::phmax_

Definition at line 68 of file CSCStripData.h.

Referenced by operator*=(), operator<(), phmax(), and reset().

◆ phRaw_

std::vector<int> CSCStripData::phRaw_

Definition at line 70 of file CSCStripData.h.

Referenced by phRaw().

◆ tmax_

int CSCStripData::tmax_

Definition at line 69 of file CSCStripData.h.

Referenced by reset(), tmax(), and valid().