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>
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 >, DoseParameters > | doseParametersMap |
Public Member Functions | |
std::array< double, GAINRANGE_N > | getLSBPerGain () |
std::array< double, GAINRANGE_N > | getMaxADCPerGain () |
float | getNPeInSiPM () |
std::array< double, TILETYPE_N > | getNpePerMIP () |
HGCalSciNoiseMap () | |
bool | ignoreAutoPedestalSubtraction () |
SiPMonTileCharacteristics | scaleByDose (const HGCScintillatorDetId &, const double, const int aimMIPtoADC=15, const GainRange_t gainPreChoice=GainRange_t::AUTO) |
std::pair< double, GainRange_t > | scaleBySipmArea (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 HGCalDDDConstants * | ddd () |
const HGCalGeometry * | geom () |
const doseParametersMap & | getDoseMap () |
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 HGCalTopology * | topo () |
~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_N > | fscADCPerGain_ |
bool | ignoreAutoPedestalSub_ |
bool | ignoreDoseScale_ |
bool | ignoreFluenceScale_ |
bool | ignoreNoise_ |
bool | ignoreSiPMarea_ |
bool | ignoreTileArea_ |
bool | ignoreTileType_ |
std::array< double, GAINRANGE_N > | lsbPerGain_ |
float | maxSiPMPE_ |
std::array< double, TILETYPE_N > | nPEperMIP_ |
bool | overrideSiPMarea_ |
double | refDarkCurrent_ |
const double | refEdge_ |
double | refXtalk_ |
std::unordered_map< int, float > | sipmMap_ |
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.
Enumerator | |
---|---|
GAIN_2 | |
GAIN_4 | |
AUTO | |
GAINRANGE_N |
Definition at line 27 of file HGCalSciNoiseMap.h.
Enumerator | |
---|---|
IGNORE_SIPMAREA | |
OVERRIDE_SIPMAREA | |
IGNORE_TILEAREA | |
IGNORE_DOSESCALE | |
IGNORE_FLUENCESCALE | |
IGNORE_NOISE | |
IGNORE_TILETYPE | |
IGNORE_AUTO_PEDESTALSUB |
Definition at line 28 of file HGCalSciNoiseMap.h.
Enumerator | |
---|---|
CAST | |
MOULDED | |
TILETYPE_N |
Definition at line 26 of file HGCalSciNoiseMap.h.
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_.
|
inline |
Definition at line 46 of file HGCalSciNoiseMap.h.
|
inline |
Definition at line 63 of file HGCalSciNoiseMap.h.
References lsbPerGain_.
Referenced by HGCHEbackDigitizer::runRealisticDigitizer().
|
inline |
Definition at line 64 of file HGCalSciNoiseMap.h.
References fscADCPerGain_.
Referenced by HGCHEbackDigitizer::runRealisticDigitizer().
|
inline |
Definition at line 66 of file HGCalSciNoiseMap.h.
References maxSiPMPE_.
Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().
|
inline |
Definition at line 65 of file HGCalSciNoiseMap.h.
References nPEperMIP_.
|
inline |
Definition at line 67 of file HGCalSciNoiseMap.h.
References ignoreAutoPedestalSub_.
Referenced by HGCHEbackDigitizer::runRealisticDigitizer().
|
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().
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, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), 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().
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().
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 ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), f, ignoreTileArea_, M_PI, CosmicsPD_Skims::radius, refEdge_, scaleFactor, and HGCScintillatorDetId::type().
Referenced by scaleByDose().
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().
void HGCalSciNoiseMap::setNpePerMIP | ( | float | npePerMIP | ) |
Definition at line 54 of file HGCalSciNoiseMap.cc.
References CAST, MOULDED, and nPEperMIP_.
|
inline |
Definition at line 61 of file HGCalSciNoiseMap.h.
References refXtalk_.
Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().
void HGCalSciNoiseMap::setReferenceDarkCurrent | ( | double | idark | ) |
Definition at line 86 of file HGCalSciNoiseMap.cc.
References refDarkCurrent_.
Referenced by HGCHEbackDigitizer::HGCHEbackDigitizer().
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().
|
private |
Definition at line 95 of file HGCalSciNoiseMap.h.
Referenced by HGCalSciNoiseMap().
|
private |
Definition at line 79 of file HGCalSciNoiseMap.h.
Referenced by getMaxADCPerGain(), and HGCalSciNoiseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by ignoreAutoPedestalSubtraction().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setDoseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setDoseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setDoseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleBySipmArea(), and setDoseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleByTileArea(), and setDoseMap().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setDoseMap().
|
private |
Definition at line 79 of file HGCalSciNoiseMap.h.
Referenced by getLSBPerGain(), HGCalSciNoiseMap(), and scaleByDose().
|
private |
Definition at line 98 of file HGCalSciNoiseMap.h.
Referenced by getNPeInSiPM(), and scaleByDose().
|
private |
Definition at line 76 of file HGCalSciNoiseMap.h.
Referenced by getNpePerMIP(), HGCalSciNoiseMap(), scaleByDose(), and setNpePerMIP().
|
private |
Definition at line 85 of file HGCalSciNoiseMap.h.
Referenced by scaleBySipmArea(), and setDoseMap().
|
private |
Definition at line 89 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setReferenceDarkCurrent().
|
private |
Definition at line 82 of file HGCalSciNoiseMap.h.
Referenced by scaleByTileArea().
|
private |
Definition at line 92 of file HGCalSciNoiseMap.h.
Referenced by scaleByDose(), and setReferenceCrossTalk().
|
private |
Definition at line 101 of file HGCalSciNoiseMap.h.
Referenced by scaleBySipmArea(), and setSipmMap().