CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Attributes | Static Private Attributes | Friends
StMeasurementConditionSet Class Reference

#include <TkMeasurementDetSet.h>

Classes

struct  BadStripBlock
 
struct  BadStripCuts
 

Public Types

enum  QualityFlags {
  BadModules = 1, BadAPVFibers = 2, BadStrips = 4, MaskBad128StripBlocks = 8,
  BadROCs = 2
}
 

Public Member Functions

bool bad128Strip (int offset) const
 note: index is 6*detector index + offset! More...
 
bool bad128Strip (int index, int strip) const
 
std::vector< BadStripBlock > const & badStripBlocks (int i) const
 
const BadStripCutsbadStripCuts (int i) const
 
int find (unsigned int jd, int i=0) const
 
std::vector< BadStripBlock > & getBadStripBlocks (int i)
 
bool hasAny128StripBad (int i) const
 
unsigned int id (int i) const
 
void init (int size)
 
bool isActiveThisPeriod (int i) const
 
bool isMasked (int i, const SiStripCluster &cluster) const
 
bool maskBad128StripBlocks () const
 
const SiStripRecHitMatchermatcher () const
 
int nDet () const
 
void set128StripStatus (int i, bool good, int idx=-1)
 
void setActive (int i, bool active)
 Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually) More...
 
void setMaskBad128StripBlocks (bool maskThem)
 
 StMeasurementConditionSet (const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe)
 
const StripClusterParameterEstimatorstripCPE () const
 
unsigned char subId (int i) const
 
int totalStrips (int i) const
 

Private Attributes

std::vector< bool > activeThisPeriod_
 
std::vector< bool > bad128Strip_
 
std::vector< std::vector< BadStripBlock > > badStripBlocks_
 
BadStripCuts badStripCuts_ [4]
 
std::vector< bool > hasAny128StripBad_
 
std::vector< unsigned int > id_
 
bool maskBad128StripBlocks_
 
std::vector< unsigned char > subId_
 
const StripClusterParameterEstimatortheCPE
 
const SiStripRecHitMatchertheMatcher
 
std::vector< int > totalStrips_
 

Static Private Attributes

static const int nbad128 = 6
 

Friends

class MeasurementTrackerImpl
 

Detailed Description

Definition at line 38 of file TkMeasurementDetSet.h.

Member Enumeration Documentation

◆ QualityFlags

Enumerator
BadModules 
BadAPVFibers 
BadStrips 
MaskBad128StripBlocks 
BadROCs 

Definition at line 40 of file TkMeasurementDetSet.h.

Constructor & Destructor Documentation

◆ StMeasurementConditionSet()

StMeasurementConditionSet::StMeasurementConditionSet ( const SiStripRecHitMatcher matcher,
const StripClusterParameterEstimator cpe 
)
inline

Definition at line 61 of file TkMeasurementDetSet.h.

62  : theMatcher(matcher), theCPE(cpe) {}
const SiStripRecHitMatcher * matcher() const
const StripClusterParameterEstimator * theCPE
const SiStripRecHitMatcher * theMatcher

Member Function Documentation

◆ bad128Strip() [1/2]

bool StMeasurementConditionSet::bad128Strip ( int  offset) const
inline

note: index is 6*detector index + offset!

Definition at line 89 of file TkMeasurementDetSet.h.

References bad128Strip_, and hltrates_dqm_sourceclient-live_cfg::offset.

◆ bad128Strip() [2/2]

bool StMeasurementConditionSet::bad128Strip ( int  index,
int  strip 
) const
inline

◆ badStripBlocks()

std::vector<BadStripBlock> const& StMeasurementConditionSet::badStripBlocks ( int  i) const
inline

Definition at line 93 of file TkMeasurementDetSet.h.

References badStripBlocks_, and mps_fire::i.

93 { return badStripBlocks_[i]; }
std::vector< std::vector< BadStripBlock > > badStripBlocks_

◆ badStripCuts()

const BadStripCuts& StMeasurementConditionSet::badStripCuts ( int  i) const
inline

Definition at line 83 of file TkMeasurementDetSet.h.

References badStripCuts_, mps_fire::i, and subId_.

83 { return badStripCuts_[subId_[i]]; }
std::vector< unsigned char > subId_

◆ find()

int StMeasurementConditionSet::find ( unsigned int  jd,
int  i = 0 
) const
inline

◆ getBadStripBlocks()

std::vector<BadStripBlock>& StMeasurementConditionSet::getBadStripBlocks ( int  i)
inline

Definition at line 92 of file TkMeasurementDetSet.h.

References badStripBlocks_, and mps_fire::i.

Referenced by MeasurementTrackerImpl::initializeStripStatus().

92 { return badStripBlocks_[i]; }
std::vector< std::vector< BadStripBlock > > badStripBlocks_

◆ hasAny128StripBad()

bool StMeasurementConditionSet::hasAny128StripBad ( int  i) const
inline

Definition at line 86 of file TkMeasurementDetSet.h.

References hasAny128StripBad_, and mps_fire::i.

86 { return hasAny128StripBad_[i]; }
std::vector< bool > hasAny128StripBad_

◆ id()

unsigned int StMeasurementConditionSet::id ( int  i) const
inline

◆ init()

void StMeasurementConditionSet::init ( int  size)

Definition at line 3 of file TkMeasurementDetSet.cc.

References activeThisPeriod_, bad128Strip_, badStripBlocks_, hasAny128StripBad_, id_, findQualityFiles::size, subId_, and totalStrips_.

Referenced by MeasurementTrackerImpl::initStMeasurementConditionSet().

3  {
4  activeThisPeriod_.resize(size, true);
5  id_.resize(size);
6  subId_.resize(size);
7  totalStrips_.resize(size);
8 
9  bad128Strip_.resize(size * 6);
10  hasAny128StripBad_.resize(size);
11  badStripBlocks_.resize(size);
12 }
size
Write out results.
std::vector< std::vector< BadStripBlock > > badStripBlocks_
std::vector< unsigned char > subId_
std::vector< int > totalStrips_
std::vector< bool > hasAny128StripBad_
std::vector< bool > activeThisPeriod_
std::vector< unsigned int > id_
std::vector< bool > bad128Strip_

◆ isActiveThisPeriod()

bool StMeasurementConditionSet::isActiveThisPeriod ( int  i) const
inline

Definition at line 75 of file TkMeasurementDetSet.h.

References activeThisPeriod_, and mps_fire::i.

Referenced by StMeasurementDetSet::isActive().

75 { return activeThisPeriod_[i]; }
std::vector< bool > activeThisPeriod_

◆ isMasked()

bool StMeasurementConditionSet::isMasked ( int  i,
const SiStripCluster cluster 
) const
inline

Definition at line 95 of file TkMeasurementDetSet.h.

References SiStripCluster::amplitudes(), bad128Strip_, SiStripCluster::barycenter(), SiStripCluster::firstStrip(), mps_fire::i, nbad128, hltrates_dqm_sourceclient-live_cfg::offset, and SiStripCluster::size().

95  {
96  int offset = nbad128 * i;
97  if (bad128Strip_[offset + (cluster.firstStrip() >> 7)]) {
98  if (bad128Strip_[offset + ((cluster.firstStrip() + cluster.amplitudes().size()) >> 7)] ||
99  bad128Strip_[offset + (static_cast<int32_t>(cluster.barycenter() - 0.499999) >> 7)]) {
100  return true;
101  }
102  } else {
103  if (bad128Strip_[offset + ((cluster.firstStrip() + cluster.amplitudes().size()) >> 7)] &&
104  bad128Strip_[offset + (static_cast<int32_t>(cluster.barycenter() - 0.499999) >> 7)]) {
105  return true;
106  }
107  }
108  return false;
109  }
uint16_t firstStrip() const
SiStripCluster const & amplitudes() const
auto size() const
std::vector< bool > bad128Strip_
float barycenter() const

◆ maskBad128StripBlocks()

bool StMeasurementConditionSet::maskBad128StripBlocks ( ) const
inline

Definition at line 85 of file TkMeasurementDetSet.h.

References maskBad128StripBlocks_.

◆ matcher()

const SiStripRecHitMatcher* StMeasurementConditionSet::matcher ( ) const
inline

Definition at line 66 of file TkMeasurementDetSet.h.

References theMatcher.

Referenced by MeasurementTrackerImpl::addGluedDet().

66 { return theMatcher; }
const SiStripRecHitMatcher * theMatcher

◆ nDet()

int StMeasurementConditionSet::nDet ( ) const
inline

Definition at line 69 of file TkMeasurementDetSet.h.

References id_.

Referenced by MeasurementTrackerImpl::initializeStripStatus(), and StMeasurementDetSet::size().

69 { return id_.size(); }
std::vector< unsigned int > id_

◆ set128StripStatus()

void StMeasurementConditionSet::set128StripStatus ( int  i,
bool  good,
int  idx = -1 
)

Definition at line 14 of file TkMeasurementDetSet.cc.

References bad128Strip_, ntuplemaker::fill, caHitNtupletGeneratorKernels::good, hasAny128StripBad_, mps_fire::i, heavyIonCSV_trainingSettings::idx, dqmiolumiharvest::j, nbad128, and hltrates_dqm_sourceclient-live_cfg::offset.

Referenced by MeasurementTrackerImpl::initializeStripStatus().

14  {
15  int offset = nbad128 * i;
16  if (idx == -1) {
17  std::fill(bad128Strip_.begin() + offset, bad128Strip_.begin() + offset + 6, !good);
19  } else {
21  if (good == false) {
22  hasAny128StripBad_[i] = false;
23  } else { // this should not happen, as usually you turn on all fibers
24  // and then turn off the bad ones, and not vice-versa,
25  // so I don't care if it's not optimized
26  hasAny128StripBad_[i] = true;
27  for (int j = 0; i < (totalStrips_[j] >> 7); j++) {
28  if (bad128Strip_[j + offset] == false) {
29  hasAny128StripBad_[i] = false;
30  break;
31  }
32  }
33  }
34  }
35 }
std::vector< bool > hasAny128StripBad_
std::vector< bool > bad128Strip_

◆ setActive()

void StMeasurementConditionSet::setActive ( int  i,
bool  active 
)
inline

Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually)

Definition at line 78 of file TkMeasurementDetSet.h.

References activeThisPeriod_, and mps_fire::i.

Referenced by MeasurementTrackerImpl::initializeStripStatus().

78 { activeThisPeriod_[i] = active; }
std::vector< bool > activeThisPeriod_

◆ setMaskBad128StripBlocks()

void StMeasurementConditionSet::setMaskBad128StripBlocks ( bool  maskThem)
inline

◆ stripCPE()

const StripClusterParameterEstimator* StMeasurementConditionSet::stripCPE ( ) const
inline

Definition at line 67 of file TkMeasurementDetSet.h.

References theCPE.

Referenced by MeasurementTrackerImpl::addGluedDet().

67 { return theCPE; }
const StripClusterParameterEstimator * theCPE

◆ subId()

unsigned char StMeasurementConditionSet::subId ( int  i) const
inline

Definition at line 71 of file TkMeasurementDetSet.h.

References mps_fire::i, and subId_.

71 { return subId_[i]; }
std::vector< unsigned char > subId_

◆ totalStrips()

int StMeasurementConditionSet::totalStrips ( int  i) const
inline

Definition at line 80 of file TkMeasurementDetSet.h.

References mps_fire::i, and totalStrips_.

80 { return totalStrips_[i]; }
std::vector< int > totalStrips_

Friends And Related Function Documentation

◆ MeasurementTrackerImpl

friend class MeasurementTrackerImpl
friend

Definition at line 114 of file TkMeasurementDetSet.h.

Member Data Documentation

◆ activeThisPeriod_

std::vector<bool> StMeasurementConditionSet::activeThisPeriod_
private

Definition at line 135 of file TkMeasurementDetSet.h.

Referenced by init(), isActiveThisPeriod(), and setActive().

◆ bad128Strip_

std::vector<bool> StMeasurementConditionSet::bad128Strip_
private

Definition at line 130 of file TkMeasurementDetSet.h.

Referenced by bad128Strip(), init(), isMasked(), and set128StripStatus().

◆ badStripBlocks_

std::vector<std::vector<BadStripBlock> > StMeasurementConditionSet::badStripBlocks_
private

Definition at line 133 of file TkMeasurementDetSet.h.

Referenced by badStripBlocks(), getBadStripBlocks(), and init().

◆ badStripCuts_

BadStripCuts StMeasurementConditionSet::badStripCuts_[4]
private

◆ hasAny128StripBad_

std::vector<bool> StMeasurementConditionSet::hasAny128StripBad_
private

Definition at line 131 of file TkMeasurementDetSet.h.

Referenced by hasAny128StripBad(), init(), and set128StripStatus().

◆ id_

std::vector<unsigned int> StMeasurementConditionSet::id_
private

◆ maskBad128StripBlocks_

bool StMeasurementConditionSet::maskBad128StripBlocks_
private

Definition at line 120 of file TkMeasurementDetSet.h.

Referenced by maskBad128StripBlocks(), and setMaskBad128StripBlocks().

◆ nbad128

const int StMeasurementConditionSet::nbad128 = 6
staticprivate

Definition at line 129 of file TkMeasurementDetSet.h.

Referenced by bad128Strip(), isMasked(), and set128StripStatus().

◆ subId_

std::vector<unsigned char> StMeasurementConditionSet::subId_
private

◆ theCPE

const StripClusterParameterEstimator* StMeasurementConditionSet::theCPE
private

Definition at line 118 of file TkMeasurementDetSet.h.

Referenced by stripCPE().

◆ theMatcher

const SiStripRecHitMatcher* StMeasurementConditionSet::theMatcher
private

Definition at line 117 of file TkMeasurementDetSet.h.

Referenced by matcher().

◆ totalStrips_

std::vector<int> StMeasurementConditionSet::totalStrips_
private