CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
HGCalSciNoiseMap Class Reference

derives from HGCalRadiation map to parse fluence/dose parameters, provides Sci-specific functions the algo word (set at configuration level) is used to control which aspects are simulated bit 1 - ignores the scaling of signal and noise with SIPMAREA bit 2 - instead of the geometry-based SiPM area (from detId, if available) use the boundaries read from a txt file bit 3 - ignores the scaling of the signal light yield with the tile area bit 4 - ignores the scaling of the light yield with the dose bit 5 - ignores the scaling of the noise with the fluence (=constant noise scenario) bit 6 - ignores noise bit 7 - ignore tile type (fallback on CAST) bit 8 - ignore pedestal subtraction More...

#include <HGCalSciNoiseMap.h>

Inheritance diagram for HGCalSciNoiseMap:
HGCalRadiationMap

Classes

struct  SiPMonTileCharacteristics
 

Public Types

enum  GainRange_t { GAIN_2, GAIN_4, AUTO, GAINRANGE_N }
 
enum  NoiseMapAlgoBits_t {
  IGNORE_SIPMAREA, OVERRIDE_SIPMAREA, IGNORE_TILEAREA, IGNORE_DOSESCALE,
  IGNORE_FLUENCESCALE, IGNORE_NOISE, IGNORE_TILETYPE, IGNORE_AUTO_PEDESTALSUB
}
 
enum  TileType_t { CAST, MOULDED, TILETYPE_N }
 
- Public Types inherited from HGCalRadiationMap
typedef std::map< std::pair< int, int >, DoseParametersdoseParametersMap
 

Public Member Functions

std::array< double, GAINRANGE_NgetLSBPerGain ()
 
std::array< double, GAINRANGE_NgetMaxADCPerGain ()
 
float getNPeInSiPM ()
 
std::array< double, TILETYPE_NgetNpePerMIP ()
 
 HGCalSciNoiseMap ()
 
bool ignoreAutoPedestalSubtraction ()
 
SiPMonTileCharacteristics scaleByDose (const HGCScintillatorDetId &, const double, const int aimMIPtoADC=15, const GainRange_t gainPreChoice=GainRange_t::AUTO)
 
std::pair< double, GainRange_tscaleBySipmArea (const HGCScintillatorDetId &, const double, const GainRange_t &)
 
double scaleByTileArea (const HGCScintillatorDetId &, const double)
 returns the signal scaling and the noise More...
 
void setDoseMap (const std::string &, const unsigned int)
 
void setNpePerMIP (float npePerMIP)
 
void setReferenceCrossTalk (double xtalk)
 
void setReferenceDarkCurrent (double idark)
 
void setSipmMap (const std::string &)
 
 ~HGCalSciNoiseMap ()
 
- Public Member Functions inherited from HGCalRadiationMap
const unsigned int & algo ()
 
double computeRadius (const HGCScintillatorDetId &)
 
const HGCalDDDConstantsddd ()
 
const HGCalGeometrygeom ()
 
const doseParametersMapgetDoseMap ()
 
double getDoseValue (const int, const int, const double, bool logVal=false)
 
double getFluenceValue (const int, const int, const double, bool logVal=false)
 
 HGCalRadiationMap ()
 
void setDoseMap (const std::string &, const unsigned int)
 
void setFluenceScaleFactor (double val)
 
void setGeometry (const CaloSubdetectorGeometry *)
 
const HGCalTopologytopo ()
 
 ~HGCalRadiationMap ()
 

Private Member Functions

std::unordered_map< int, float > readSipmPars (const std::string &)
 parses the radius boundaries for the SiPM area assignment from a custom file More...
 

Private Attributes

int aimMIPtoADC_
 
std::array< double, GAINRANGE_NfscADCPerGain_
 
bool ignoreAutoPedestalSub_
 
bool ignoreDoseScale_
 
bool ignoreFluenceScale_
 
bool ignoreNoise_
 
bool ignoreSiPMarea_
 
bool ignoreTileArea_
 
bool ignoreTileType_
 
std::array< double, GAINRANGE_NlsbPerGain_
 
float maxSiPMPE_
 
std::array< double, TILETYPE_NnPEperMIP_
 
bool overrideSiPMarea_
 
double refDarkCurrent_
 
const double refEdge_
 
double refXtalk_
 
std::unordered_map< int, float > sipmMap_
 

Detailed Description

derives from HGCalRadiation map to parse fluence/dose parameters, provides Sci-specific functions the algo word (set at configuration level) is used to control which aspects are simulated bit 1 - ignores the scaling of signal and noise with SIPMAREA bit 2 - instead of the geometry-based SiPM area (from detId, if available) use the boundaries read from a txt file bit 3 - ignores the scaling of the signal light yield with the tile area bit 4 - ignores the scaling of the light yield with the dose bit 5 - ignores the scaling of the noise with the fluence (=constant noise scenario) bit 6 - ignores noise bit 7 - ignore tile type (fallback on CAST) bit 8 - ignore pedestal subtraction

Definition at line 24 of file HGCalSciNoiseMap.h.

Member Enumeration Documentation

◆ GainRange_t

Enumerator
GAIN_2 
GAIN_4 
AUTO 
GAINRANGE_N 

Definition at line 27 of file HGCalSciNoiseMap.h.

◆ NoiseMapAlgoBits_t

◆ TileType_t

Enumerator
CAST 
MOULDED 
TILETYPE_N 

Definition at line 26 of file HGCalSciNoiseMap.h.

Constructor & Destructor Documentation

◆ HGCalSciNoiseMap()

HGCalSciNoiseMap::HGCalSciNoiseMap ( )

Definition at line 6 of file HGCalSciNoiseMap.cc.

References aimMIPtoADC_, CAST, f, fscADCPerGain_, GAIN_2, GAIN_4, GAINRANGE_N, mps_fire::i, lsbPerGain_, MOULDED, and nPEperMIP_.

7  : refEdge_(3.),
8  ignoreSiPMarea_(false),
9  overrideSiPMarea_(false),
10  ignoreTileArea_(false),
11  ignoreDoseScale_(false),
12  ignoreFluenceScale_(false),
13  ignoreNoise_(false),
14  refDarkCurrent_(0.5),
15  aimMIPtoADC_(15),
16  maxSiPMPE_(8888) {
17  //number of photo electrons per MIP per scintillator type (irradiated, based on testbeam results)
18  //reference is a 30*30 mm^2 tile and 2 mm^2 SiPM (with 15um pixels), at the 2 V over-voltage
19  //based on https://indico.cern.ch/event/927798/contributions/3900921/attachments/2054679/3444966/2020Jun10_sn_scenes.pdf
20  nPEperMIP_[CAST] = 80.31 / 2; //cast
21  nPEperMIP_[MOULDED] = 57.35 / 2; //moulded
22 
23  //full scale charge per gain in nPE
24  //this is chosen for now such that the ref. MIP peak is at N ADC counts
25  //to be changed once the specs are fully defined such that the algorithm chooses the best gain
26  //for the MIP peak to be close to N ADC counts (similar to Si) or applying other specific criteria
27  fscADCPerGain_[GAIN_2] = nPEperMIP_[CAST] * 1024. / aimMIPtoADC_; //2 mm^2 SiPM
28  fscADCPerGain_[GAIN_4] = 2 * nPEperMIP_[CAST] * 1024. / aimMIPtoADC_; //4mm^2 SiPM
29 
30  //lsb: adc has 10 bits -> 1024 counts at max
31  for (size_t i = 0; i < GAINRANGE_N; i++)
32  lsbPerGain_[i] = fscADCPerGain_[i] / 1024.f;
33 }
std::array< double, GAINRANGE_N > fscADCPerGain_
std::array< double, GAINRANGE_N > lsbPerGain_
double f[11][100]
std::array< double, TILETYPE_N > nPEperMIP_
const double refEdge_

◆ ~HGCalSciNoiseMap()

HGCalSciNoiseMap::~HGCalSciNoiseMap ( )
inline

Definition at line 46 of file HGCalSciNoiseMap.h.

46 {};

Member Function Documentation

◆ getLSBPerGain()

std::array<double, GAINRANGE_N> HGCalSciNoiseMap::getLSBPerGain ( )
inline

Definition at line 63 of file HGCalSciNoiseMap.h.

References lsbPerGain_.

Referenced by HGCHEbackDigitizer::runRealisticDigitizer().

63 { return lsbPerGain_; }
std::array< double, GAINRANGE_N > lsbPerGain_

◆ getMaxADCPerGain()

std::array<double, GAINRANGE_N> HGCalSciNoiseMap::getMaxADCPerGain ( )
inline

Definition at line 64 of file HGCalSciNoiseMap.h.

References fscADCPerGain_.

Referenced by HGCHEbackDigitizer::runRealisticDigitizer().

64 { return fscADCPerGain_; }
std::array< double, GAINRANGE_N > fscADCPerGain_

◆ getNPeInSiPM()

float HGCalSciNoiseMap::getNPeInSiPM ( )
inline

Definition at line 66 of file HGCalSciNoiseMap.h.

References maxSiPMPE_.

Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().

66 { return maxSiPMPE_; }

◆ getNpePerMIP()

std::array<double, TILETYPE_N> HGCalSciNoiseMap::getNpePerMIP ( )
inline

Definition at line 65 of file HGCalSciNoiseMap.h.

References nPEperMIP_.

65 { return nPEperMIP_; }
std::array< double, TILETYPE_N > nPEperMIP_

◆ ignoreAutoPedestalSubtraction()

bool HGCalSciNoiseMap::ignoreAutoPedestalSubtraction ( )
inline

Definition at line 67 of file HGCalSciNoiseMap.h.

References ignoreAutoPedestalSub_.

Referenced by HGCHEbackDigitizer::runRealisticDigitizer().

67 { return ignoreAutoPedestalSub_; }

◆ readSipmPars()

std::unordered_map< int, float > HGCalSciNoiseMap::readSipmPars ( const std::string &  fullpath)
private

parses the radius boundaries for the SiPM area assignment from a custom file

Definition at line 60 of file HGCalSciNoiseMap.cc.

References Exception, personalPlayback::fp, reco_skim_cfg_mod::fullpath, timingPdfMaker::infile, nano_mu_digi_cff::layer, mps_splice::line, mps_fire::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by setSipmMap().

60  {
61  std::unordered_map<int, float> result;
62  //no file means default sipm size
63  if (fullpath.empty())
64  return result;
65 
67  std::ifstream infile(fp.fullPath());
68  if (!infile.is_open()) {
69  throw cms::Exception("FileNotFound") << "Unable to open '" << fullpath << "'" << std::endl;
70  }
72  while (getline(infile, line)) {
73  int layer;
74  float boundary;
75 
76  //space-separated
77  std::stringstream linestream(line);
78  linestream >> layer >> boundary;
79 
80  result[layer] = boundary;
81  }
82  return result;
83 }

◆ scaleByDose()

HGCalSciNoiseMap::SiPMonTileCharacteristics HGCalSciNoiseMap::scaleByDose ( const HGCScintillatorDetId cellId,
const double  radius,
const int  aimMIPtoADC = 15,
const GainRange_t  gainPreChoice = GainRange_t::AUTO 
)

Definition at line 89 of file HGCalSciNoiseMap.cc.

References CAST, e_SI, relativeConstraints::empty, JetChargeProducer_cfi::exp, f, PedestalClient_cfi::gain, HGCalSciNoiseMap::SiPMonTileCharacteristics::gain, HGCalRadiationMap::getDoseMap(), HGCalRadiationMap::getDoseValue(), HGCalRadiationMap::getFluenceValue(), DetId::HGCalHSc, ignoreDoseScale_, ignoreFluenceScale_, ignoreNoise_, ignoreTileType_, nano_mu_digi_cff::layer, HGCScintillatorDetId::layer(), lsbPerGain_, HGCalSciNoiseMap::SiPMonTileCharacteristics::lySF, maxSiPMPE_, MOULDED, HGCalSciNoiseMap::SiPMonTileCharacteristics::n, hgchebackDigitizer_cfi::noise, nPEperMIP_, HGCalSciNoiseMap::SiPMonTileCharacteristics::ntotalPE, funct::pow(), CosmicsPD_Skims::radius, refDarkCurrent_, refXtalk_, HGCalSciNoiseMap::SiPMonTileCharacteristics::s, scaleBySipmArea(), scaleByTileArea(), mathSSE::sqrt(), HGCalSciNoiseMap::SiPMonTileCharacteristics::thrADC, HGCScintillatorDetId::type(), and HGCalSciNoiseMap::SiPMonTileCharacteristics::xtalk.

Referenced by HGCHEbackDigitizer::runRealisticDigitizer().

92  {
93  int layer = cellId.layer();
94  bool hasDoseMap(!(getDoseMap().empty()));
95 
96  //LIGHT YIELD
97  double lyScaleFactor(1.f);
98  //formula is: A = A0 * exp( -D^0.65 / 199.6)
99  //where A0 is the response of the undamaged detector, D is the dose
100  if (!ignoreDoseScale_ && hasDoseMap) {
101  double cellDose = getDoseValue(DetId::HGCalHSc, layer, radius); //in kRad
102  constexpr double expofactor = 1. / 199.6;
103  const double dosespower = 0.65;
104  lyScaleFactor = std::exp(-std::pow(cellDose, dosespower) * expofactor);
105  }
106 
107  //NOISE
108  double noise(0.f);
109  if (!ignoreNoise_) {
110  double cellFluence = getFluenceValue(DetId::HGCalHSc, layer, radius); //in 1-Mev-equivalent neutrons per cm2
111 
112  //MODEL 1 : formula is N = 2.18 * sqrt(F * A / 2e13)
113  //where F is the fluence and A is the SiPM area (scaling with the latter is done below)
114  if (refDarkCurrent_ < 0) {
115  noise = 2.18;
116  if (!ignoreFluenceScale_ && hasDoseMap) {
117  constexpr double fluencefactor = 2. / (2 * 1e13); //reference SiPM area = 2mm^2
118  noise *= sqrt(cellFluence * fluencefactor);
119  }
120  }
121 
122  //MODEL 2 : formula is 3.16 * sqrt( (Idark * 1e-12) / (qe * gain) * (F / F0) )
123  //where F is the fluence (neq/cm2), gain is the SiPM gain, qe is the electron charge (C), Idark is dark current (mA)
124  else {
125  constexpr double refFluence(2.0E+13);
126  constexpr double refGain(235000.);
127  double Rdark = (refDarkCurrent_ * 1E-12) / (CLHEP::e_SI * refGain);
128  if (!ignoreFluenceScale_ && hasDoseMap)
129  Rdark *= (cellFluence / refFluence);
130  noise = 3.16 * sqrt(Rdark);
131  }
132  }
133 
134  //ADDITIONAL SCALING FACTORS
135  double tileAreaSF = scaleByTileArea(cellId, radius);
136  std::pair<double, HGCalSciNoiseMap::GainRange_t> sipm = scaleBySipmArea(cellId, radius, gainPreChoice);
137  double sipmAreaSF = sipm.first;
138  HGCalSciNoiseMap::GainRange_t gain = sipm.second;
139 
140  lyScaleFactor *= tileAreaSF * sipmAreaSF;
141  noise *= sqrt(sipmAreaSF);
142 
143  //final signal depending on scintillator type
144  double S(nPEperMIP_[CAST]);
145  if (!ignoreTileType_ && cellId.type() == 2)
146  S = nPEperMIP_[MOULDED];
147  S *= lyScaleFactor;
148 
150  sipmChar.s = S;
151  sipmChar.lySF = lyScaleFactor;
152  sipmChar.n = noise;
153  sipmChar.gain = gain;
154  sipmChar.thrADC = std::floor(0.5 * S / lsbPerGain_[gain]);
155  sipmChar.ntotalPE = maxSiPMPE_ * sipmAreaSF;
156  sipmChar.xtalk = refXtalk_;
157  return sipmChar;
158 }
double getDoseValue(const int, const int, const double, bool logVal=false)
double scaleByTileArea(const HGCScintillatorDetId &, const double)
returns the signal scaling and the noise
std::array< double, GAINRANGE_N > lsbPerGain_
T sqrt(T t)
Definition: SSEVec.h:19
double f[11][100]
constexpr int type() const
get/set the type
double getFluenceValue(const int, const int, const double, bool logVal=false)
std::pair< double, GainRange_t > scaleBySipmArea(const HGCScintillatorDetId &, const double, const GainRange_t &)
std::array< double, TILETYPE_N > nPEperMIP_
#define e_SI
constexpr int layer() const
get the layer #
const doseParametersMap & getDoseMap()
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ scaleBySipmArea()

std::pair< double, HGCalSciNoiseMap::GainRange_t > HGCalSciNoiseMap::scaleBySipmArea ( const HGCScintillatorDetId cellId,
const double  radius,
const GainRange_t gainPreChoice 
)

Definition at line 180 of file HGCalSciNoiseMap.cc.

References f, PedestalClient_cfi::gain, ignoreSiPMarea_, nano_mu_digi_cff::layer, HGCScintillatorDetId::layer(), overrideSiPMarea_, CosmicsPD_Skims::radius, scaleFactor, HGCScintillatorDetId::sipm(), and sipmMap_.

Referenced by scaleByDose().

181  {
182  //start with the prechosen gain
183  //if auto then override it according to the SiPM area
184  HGCalSciNoiseMap::GainRange_t gain(gainPreChoice);
185  if (gainPreChoice == HGCalSciNoiseMap::GainRange_t::AUTO)
186  gain = GainRange_t::GAIN_2;
187 
188  double scaleFactor(1.f);
189 
190  if (ignoreSiPMarea_)
191  return std::pair<double, HGCalSciNoiseMap::GainRange_t>(scaleFactor, gain);
192 
193  //use sipm area boundary map
194  if (overrideSiPMarea_) {
195  int layer = cellId.layer();
196  if (sipmMap_.count(layer) > 0 && radius < sipmMap_[layer]) {
197  scaleFactor = 2.f;
198  if (gainPreChoice == HGCalSciNoiseMap::GainRange_t::AUTO)
199  gain = GainRange_t::GAIN_4;
200  }
201  }
202  //read from DetId
203  else {
204  int sipm = cellId.sipm();
205  if (sipm == 0) {
206  scaleFactor = 2.f;
207  if (gainPreChoice == HGCalSciNoiseMap::GainRange_t::AUTO)
208  gain = GainRange_t::GAIN_4;
209  }
210  }
211 
212  return std::pair<double, HGCalSciNoiseMap::GainRange_t>(scaleFactor, gain);
213 }
constexpr int sipm() const
get/set the sipm size
std::unordered_map< int, float > sipmMap_
constexpr G4double scaleFactor
double f[11][100]
constexpr int layer() const
get the layer #

◆ scaleByTileArea()

double HGCalSciNoiseMap::scaleByTileArea ( const HGCScintillatorDetId cellId,
const double  radius 
)

returns the signal scaling and the noise

Definition at line 161 of file HGCalSciNoiseMap.cc.

References f, ignoreTileArea_, M_PI, CosmicsPD_Skims::radius, refEdge_, scaleFactor, and HGCScintillatorDetId::type().

Referenced by scaleByDose().

161  {
162  double scaleFactor(1.f);
163 
164  if (ignoreTileArea_)
165  return scaleFactor;
166 
167  double edge(refEdge_); //start with reference 3cm of edge
168  if (cellId.type() == 0) {
169  constexpr double factor = 2 * M_PI * 1. / 360.;
170  edge = radius * factor; //1 degree
171  } else {
172  constexpr double factor = 2 * M_PI * 1. / 288.;
173  edge = radius * factor; //1.25 degrees
174  }
175  scaleFactor = refEdge_ / edge;
176  return scaleFactor;
177 }
constexpr G4double scaleFactor
double f[11][100]
constexpr int type() const
get/set the type
#define M_PI
const double refEdge_

◆ setDoseMap()

void HGCalSciNoiseMap::setDoseMap ( const std::string &  fullpath,
const unsigned int  algo 
)

Definition at line 36 of file HGCalSciNoiseMap.cc.

References HGCalRadiationMap::algo(), reco_skim_cfg_mod::fullpath, IGNORE_DOSESCALE, IGNORE_FLUENCESCALE, IGNORE_NOISE, IGNORE_SIPMAREA, IGNORE_TILEAREA, IGNORE_TILETYPE, ignoreDoseScale_, ignoreFluenceScale_, ignoreNoise_, ignoreSiPMarea_, ignoreTileArea_, ignoreTileType_, OVERRIDE_SIPMAREA, overrideSiPMarea_, HGCalRadiationMap::setDoseMap(), and testProducerWithPsetDescEmpty_cfi::x1.

Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().

36  {
37  //decode bits of the algo word
43  ignoreNoise_ = ((algo >> IGNORE_NOISE) & 0x1);
45 
46  //call base class method
48 }
const unsigned int & algo()
void setDoseMap(const std::string &, const unsigned int)

◆ setNpePerMIP()

void HGCalSciNoiseMap::setNpePerMIP ( float  npePerMIP)

Definition at line 54 of file HGCalSciNoiseMap.cc.

References CAST, MOULDED, and nPEperMIP_.

54  {
55  nPEperMIP_[CAST] = npePerMIP;
56  nPEperMIP_[MOULDED] = npePerMIP;
57 }
std::array< double, TILETYPE_N > nPEperMIP_

◆ setReferenceCrossTalk()

void HGCalSciNoiseMap::setReferenceCrossTalk ( double  xtalk)
inline

Definition at line 61 of file HGCalSciNoiseMap.h.

References refXtalk_.

Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().

61 { refXtalk_ = xtalk; }

◆ setReferenceDarkCurrent()

void HGCalSciNoiseMap::setReferenceDarkCurrent ( double  idark)

Definition at line 86 of file HGCalSciNoiseMap.cc.

References refDarkCurrent_.

Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().

86 { refDarkCurrent_ = idark; }

◆ setSipmMap()

void HGCalSciNoiseMap::setSipmMap ( const std::string &  fullpath)

Definition at line 51 of file HGCalSciNoiseMap.cc.

References reco_skim_cfg_mod::fullpath, readSipmPars(), and sipmMap_.

Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().

std::unordered_map< int, float > readSipmPars(const std::string &)
parses the radius boundaries for the SiPM area assignment from a custom file
std::unordered_map< int, float > sipmMap_

Member Data Documentation

◆ aimMIPtoADC_

int HGCalSciNoiseMap::aimMIPtoADC_
private

Definition at line 95 of file HGCalSciNoiseMap.h.

Referenced by HGCalSciNoiseMap().

◆ fscADCPerGain_

std::array<double, GAINRANGE_N> HGCalSciNoiseMap::fscADCPerGain_
private

Definition at line 79 of file HGCalSciNoiseMap.h.

Referenced by getMaxADCPerGain(), and HGCalSciNoiseMap().

◆ ignoreAutoPedestalSub_

bool HGCalSciNoiseMap::ignoreAutoPedestalSub_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by ignoreAutoPedestalSubtraction().

◆ ignoreDoseScale_

bool HGCalSciNoiseMap::ignoreDoseScale_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setDoseMap().

◆ ignoreFluenceScale_

bool HGCalSciNoiseMap::ignoreFluenceScale_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setDoseMap().

◆ ignoreNoise_

bool HGCalSciNoiseMap::ignoreNoise_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setDoseMap().

◆ ignoreSiPMarea_

bool HGCalSciNoiseMap::ignoreSiPMarea_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleBySipmArea(), and setDoseMap().

◆ ignoreTileArea_

bool HGCalSciNoiseMap::ignoreTileArea_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleByTileArea(), and setDoseMap().

◆ ignoreTileType_

bool HGCalSciNoiseMap::ignoreTileType_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setDoseMap().

◆ lsbPerGain_

std::array<double, GAINRANGE_N> HGCalSciNoiseMap::lsbPerGain_
private

Definition at line 79 of file HGCalSciNoiseMap.h.

Referenced by getLSBPerGain(), HGCalSciNoiseMap(), and scaleByDose().

◆ maxSiPMPE_

float HGCalSciNoiseMap::maxSiPMPE_
private

Definition at line 98 of file HGCalSciNoiseMap.h.

Referenced by getNPeInSiPM(), and scaleByDose().

◆ nPEperMIP_

std::array<double, TILETYPE_N> HGCalSciNoiseMap::nPEperMIP_
private

Definition at line 76 of file HGCalSciNoiseMap.h.

Referenced by getNpePerMIP(), HGCalSciNoiseMap(), scaleByDose(), and setNpePerMIP().

◆ overrideSiPMarea_

bool HGCalSciNoiseMap::overrideSiPMarea_
private

Definition at line 85 of file HGCalSciNoiseMap.h.

Referenced by scaleBySipmArea(), and setDoseMap().

◆ refDarkCurrent_

double HGCalSciNoiseMap::refDarkCurrent_
private

Definition at line 89 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setReferenceDarkCurrent().

◆ refEdge_

const double HGCalSciNoiseMap::refEdge_
private

Definition at line 82 of file HGCalSciNoiseMap.h.

Referenced by scaleByTileArea().

◆ refXtalk_

double HGCalSciNoiseMap::refXtalk_
private

Definition at line 92 of file HGCalSciNoiseMap.h.

Referenced by scaleByDose(), and setReferenceCrossTalk().

◆ sipmMap_

std::unordered_map<int, float> HGCalSciNoiseMap::sipmMap_
private

Definition at line 101 of file HGCalSciNoiseMap.h.

Referenced by scaleBySipmArea(), and setSipmMap().