#include <CaloNoise.h>
|
| CaloNoise ()=delete |
|
| ~CaloNoise () |
|
| CaloNoise (const size_t nLArCells, const size_t nLArGains, const size_t nTileCells, const size_t nTileGains, const CaloCell_Base_ID *caloCellId, const NOISETYPE noisetype) |
| Explicit constructor with number of cells and gains and ptr to CaloCell_ID obj. More...
|
|
float | getNoise (const IdentifierHash h, const int gain) const |
| Accessor by IdentifierHash and gain. More...
|
|
float | getNoise (const Identifier id, const int gain) const |
| Accessor by Identifier and gain. More...
|
|
float | getNoise (const HWIdentifier, const int) const =delete |
| Safety net: Disallow access by HWIdentifier. More...
|
|
float | getEffectiveSigma (const Identifier id, const int gain, const float energy) const |
|
float | getEffectiveSigma (const IdentifierHash h, const int gain, const float energy) const |
|
boost::multi_array< float, 2 > & | larStorage () |
| Non-const accessor to underlying storage for filling: More...
|
|
boost::multi_array< float, 2 > & | tileStorage () |
|
const boost::multi_array< float, 2 > & | larStorage () const |
| Const accessor to underlying storage for GPU data structures. More...
|
|
const boost::multi_array< float, 2 > & | tileStorage () const |
|
void | setTileBlob (const CaloCondBlobFlt *flt, const float lumi) |
|
const CaloCondBlobFlt * | getTileBlob () const |
|
float | getLumi () const |
|
NOISETYPE | getNoiseType () const |
|
Definition at line 16 of file CaloNoise.h.
◆ NOISETYPE
Conditions Data Object holding the calorimeter noise per cell and per gain.
Enumerator |
---|
ELEC | |
PILEUP | |
TOTAL | |
Definition at line 21 of file CaloNoise.h.
◆ CaloNoise() [1/2]
◆ ~CaloNoise()
CaloNoise::~CaloNoise |
( |
| ) |
|
◆ CaloNoise() [2/2]
Explicit constructor with number of cells and gains and ptr to CaloCell_ID obj.
Definition at line 11 of file CaloNoise.cxx.
21 boost::multi_array_types::extent_gen lar_extent_gen;
22 m_larNoise.resize(lar_extent_gen[nLArGains][nLArCells]);
23 boost::multi_array_types::extent_gen tile_extent_gen;
24 m_tileNoise.resize(tile_extent_gen[nTileGains][nTileCells]);
◆ calcSig()
Definition at line 42 of file CaloNoise.cxx.
49 if((sigma1 == 0. && sigma2 == 0.) ||
e == 0.)
return 0.;
50 if(sigma1 == 0.)
return e/sigma2;
51 if((
ratio == 0.) || sigma2 == 0.)
return e/sigma1;
52 const double x1 =
e/sigma1;
53 const double x2 =
e/sigma2;
55 constexpr std::array<float,2> valid_range{0.9,7.5};
56 const float wide_gauss_sigma =
std::min(fabs(
x1),fabs(
x2));
57 if(wide_gauss_sigma > valid_range[1])
return wide_gauss_sigma;
59 const float narrow_gauss_sigma=
std::max(fabs(
x1),fabs(
x2));
60 if(narrow_gauss_sigma < valid_range[0])
return narrow_gauss_sigma;
63 const double y1= TMath::Erf(M_SQRT1_2*
x1);
64 const double y2= TMath::Erf(M_SQRT1_2*
x2);
66 const double z = (
y1*sigma1 +
ratio*
y2*sigma2 )/( sigma1 +
ratio*sigma2);
73 return M_SQRT2*TMath::ErfInverse(
z);
◆ getEffectiveSigma() [1/2]
◆ getEffectiveSigma() [2/2]
◆ getLumi()
float CaloNoise::getLumi |
( |
| ) |
const |
|
inline |
◆ getNoise() [1/3]
float CaloNoise::getNoise |
( |
const |
HWIdentifier, |
|
|
const int |
|
|
) |
| const |
|
delete |
◆ getNoise() [2/3]
◆ getNoise() [3/3]
◆ getNoiseType()
◆ getTileBlob()
◆ getTileEffSigma()
◆ larStorage() [1/2]
boost::multi_array<float, 2>& CaloNoise::larStorage |
( |
| ) |
|
|
inline |
Non-const accessor to underlying storage for filling:
Definition at line 71 of file CaloNoise.h.
◆ larStorage() [2/2]
const boost::multi_array<float, 2>& CaloNoise::larStorage |
( |
| ) |
const |
|
inline |
Const accessor to underlying storage for GPU data structures.
Definition at line 75 of file CaloNoise.h.
◆ setTileBlob()
◆ tileStorage() [1/2]
boost::multi_array<float, 2>& CaloNoise::tileStorage |
( |
| ) |
|
|
inline |
◆ tileStorage() [2/2]
const boost::multi_array<float, 2>& CaloNoise::tileStorage |
( |
| ) |
const |
|
inline |
◆ m_caloCellId
◆ m_larNoise
boost::multi_array<float, 2> CaloNoise::m_larNoise |
|
private |
◆ m_lumi
float CaloNoise::m_lumi =0 |
|
private |
◆ m_noiseType
◆ m_tileBlob
◆ m_tileHashOffset
unsigned CaloNoise::m_tileHashOffset |
|
private |
◆ m_tileNoise
boost::multi_array<float, 2> CaloNoise::m_tileNoise |
|
private |
The documentation for this class was generated from the following files:
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone