Public Member Functions | Private Member Functions | Private Attributes | List of all members
ExponentialChannelNoiseService Class Reference

#include <ExponentialChannelNoiseService.h>

Inheritance diagram for ExponentialChannelNoiseService:
ChannelNoiseService

Public Member Functions

 ExponentialChannelNoiseService (fhicl::ParameterSet const &pset)
 
 ExponentialChannelNoiseService (fhicl::ParameterSet const &pset, art::ActivityRegistry &)
 
 ~ExponentialChannelNoiseService ()
 
int addNoise (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, Channel chan, AdcSignalVector &sigs) const
 
std::ostream & print (std::ostream &out=std::cout, std::string prefix="") const
 
void generateNoise (detinfo::DetectorClocksData const &clockData, float aNoiseNorm, float aNoiseWidth, float aLowCutoff, AdcSignalVector &noise, TH1 *aNoiseHist) const
 
- Public Member Functions inherited from ChannelNoiseService
virtual ~ChannelNoiseService ()=default
 
virtual void newEvent ()
 

Private Member Functions

void generateNoise (detinfo::DetectorClocksData const &clockData)
 

Private Attributes

float fNoiseNormZ
 noise scale factor for Z (collection) plane More...
 
float fNoiseWidthZ
 exponential noise width (kHz) for Z (collection) plane More...
 
float fLowCutoffZ
 low frequency filter cutoff (kHz) for Z (collection) plane More...
 
float fNoiseNormU
 noise scale factor for U plane More...
 
float fNoiseWidthU
 exponential noise width (kHz) for U plane More...
 
float fLowCutoffU
 low frequency filter cutoff (kHz) for U plane More...
 
float fNoiseNormV
 noise scale factor for V plane More...
 
float fNoiseWidthV
 exponential noise width (kHz) for V plane More...
 
float fLowCutoffV
 low frequency filter cutoff (kHz) for V plane More...
 
unsigned int fNoiseArrayPoints
 number of points in randomly generated noise array More...
 
bool fOldNoiseIndex
 Use old selection of noise array index. More...
 
float fWhiteNoiseZ
 Level (per freq bin) for white noise for Z. More...
 
float fWhiteNoiseU
 Level (per freq bin) for white noise for U. More...
 
float fWhiteNoiseV
 Level (per freq bin) for white noise for V. More...
 
int fRandomSeed
 Seed for random number service. If absent or zero, use SeedSvc. More...
 
int fLogLevel
 Log message level: 0=quiet, 1=init only, 2+=every event. More...
 
AdcSignalVectorVector fNoiseZ
 noise on each channel for each time for Z (collection) plane More...
 
AdcSignalVectorVector fNoiseU
 noise on each channel for each time for U plane More...
 
AdcSignalVectorVector fNoiseV
 noise on each channel for each time for V plane More...
 
TH1 * fNoiseHistZ
 distribution of noise counts for Z More...
 
TH1 * fNoiseHistU
 distribution of noise counts for U More...
 
TH1 * fNoiseHistV
 distribution of noise counts for V More...
 
TH1 * fNoiseChanHist
 distribution of accessed noise samples More...
 
CLHEP::HepRandomEngine * m_pran
 

Additional Inherited Members

- Public Types inherited from ChannelNoiseService
typedef unsigned int Channel
 

Detailed Description

Definition at line 34 of file ExponentialChannelNoiseService.h.

Constructor & Destructor Documentation

ExponentialChannelNoiseService::ExponentialChannelNoiseService ( fhicl::ParameterSet const &  pset)

Definition at line 29 of file ExponentialChannelNoiseService_service.cc.

30 : fRandomSeed(0), fLogLevel(1),
31  fNoiseHistZ(nullptr), fNoiseHistU(nullptr), fNoiseHistV(nullptr),
32  fNoiseChanHist(nullptr),
33  m_pran(nullptr) {
34  const string myname = "ExponentialChannelNoiseService::ctor: ";
35  fNoiseNormZ = pset.get<double>("NoiseNormZ");
36  fNoiseWidthZ = pset.get<double>("NoiseWidthZ");
37  fLowCutoffZ = pset.get<double>("LowCutoffZ");
38  fNoiseNormU = pset.get<double>("NoiseNormU");
39  fNoiseWidthU = pset.get<double>("NoiseWidthU");
40  fLowCutoffU = pset.get<double>("LowCutoffU");
41  fNoiseNormV = pset.get<double>("NoiseNormV");
42  fNoiseWidthV = pset.get<double>("NoiseWidthV");
43  fLowCutoffV = pset.get<double>("LowCutoffV");
44  fWhiteNoiseZ = pset.get<double>("WhiteNoiseZ");
45  fWhiteNoiseU = pset.get<double>("WhiteNoiseU");
46  fWhiteNoiseV = pset.get<double>("WhiteNoiseV");
47  fNoiseArrayPoints = pset.get<unsigned int>("NoiseArrayPoints");
48  fOldNoiseIndex = pset.get<bool>("OldNoiseIndex");
49  bool haveSeed = pset.get_if_present<int>("RandomSeed", fRandomSeed);
50  if ( fRandomSeed == 0 ) haveSeed = false;
51  pset.get_if_present<int>("LogLevel", fLogLevel);
52  fNoiseZ.resize(fNoiseArrayPoints);
53  fNoiseU.resize(fNoiseArrayPoints);
54  fNoiseV.resize(fNoiseArrayPoints);
55  int seed = fRandomSeed;
57  fNoiseHistZ = tfs->make<TH1F>("znoise", ";Z Noise [ADC counts];", 1000, -10., 10.);
58  fNoiseHistU = tfs->make<TH1F>("unoise", ";U Noise [ADC counts];", 1000, -10., 10.);
59  fNoiseHistV = tfs->make<TH1F>("vnoise", ";V Noise [ADC counts];", 1000, -10., 10.);
60  fNoiseChanHist = tfs->make<TH1F>("NoiseChan", ";Noise channel;", fNoiseArrayPoints, 0, fNoiseArrayPoints);
61  // Assign a unique name for the random number engine ExponentialChannelNoiseServiceVIII
62  // III = for each instance of this class.
63  string rname = "ExponentialChannelNoiseService";
64  if ( haveSeed ) {
65  if ( fLogLevel > 0 ) cout << myname << "WARNING: Using hardwired seed." << endl;
66  m_pran = new HepJamesRandom(seed);
67  } else {
68  if ( fLogLevel > 0 ) cout << myname << "Using NuRandomService." << endl;
70  m_pran = new HepJamesRandom;
71  if ( fLogLevel > 0 ) cout << myname << " Initial seed: " << m_pran->getSeed() << endl;
72  seedSvc->registerEngine(NuRandomService::CLHEPengineSeeder(m_pran), rname);
73  }
74  if ( fLogLevel > 0 ) cout << myname << " Registered seed: " << m_pran->getSeed() << endl;
75 
76  auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
77  for ( unsigned int isam=0; isam<fNoiseArrayPoints; ++isam ) {
78  generateNoise(clockData, fNoiseNormZ, fNoiseWidthZ, fLowCutoffZ, fNoiseZ[isam], fNoiseHistZ);
79  generateNoise(clockData, fNoiseNormU, fNoiseWidthU, fLowCutoffU, fNoiseU[isam], fNoiseHistU);
80  generateNoise(clockData, fNoiseNormV, fNoiseWidthV, fLowCutoffV, fNoiseV[isam], fNoiseHistV);
81  }
82  if ( fLogLevel > 1 ) print() << endl;
83 }
float fNoiseWidthV
exponential noise width (kHz) for V plane
float fNoiseNormV
noise scale factor for V plane
AdcSignalVectorVector fNoiseV
noise on each channel for each time for V plane
float fNoiseNormZ
noise scale factor for Z (collection) plane
void generateNoise(detinfo::DetectorClocksData const &clockData, float aNoiseNorm, float aNoiseWidth, float aLowCutoff, AdcSignalVector &noise, TH1 *aNoiseHist) const
float fLowCutoffV
low frequency filter cutoff (kHz) for V plane
float fLowCutoffZ
low frequency filter cutoff (kHz) for Z (collection) plane
float fNoiseWidthZ
exponential noise width (kHz) for Z (collection) plane
float fWhiteNoiseU
Level (per freq bin) for white noise for U.
float fWhiteNoiseV
Level (per freq bin) for white noise for V.
std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const
AdcSignalVectorVector fNoiseZ
noise on each channel for each time for Z (collection) plane
TH1 * fNoiseHistU
distribution of noise counts for U
float fLowCutoffU
low frequency filter cutoff (kHz) for U plane
float fNoiseWidthU
exponential noise width (kHz) for U plane
float fWhiteNoiseZ
Level (per freq bin) for white noise for Z.
bool fOldNoiseIndex
Use old selection of noise array index.
TH1 * fNoiseHistV
distribution of noise counts for V
int fLogLevel
Log message level: 0=quiet, 1=init only, 2+=every event.
float fNoiseNormU
noise scale factor for U plane
TH1 * fNoiseChanHist
distribution of accessed noise samples
AdcSignalVectorVector fNoiseU
noise on each channel for each time for U plane
TH1 * fNoiseHistZ
distribution of noise counts for Z
int fRandomSeed
Seed for random number service. If absent or zero, use SeedSvc.
QTextStream & endl(QTextStream &s)
unsigned int fNoiseArrayPoints
number of points in randomly generated noise array
ExponentialChannelNoiseService::ExponentialChannelNoiseService ( fhicl::ParameterSet const &  pset,
art::ActivityRegistry  
)

Definition at line 88 of file ExponentialChannelNoiseService_service.cc.

ExponentialChannelNoiseService(fhicl::ParameterSet const &pset)
ExponentialChannelNoiseService::~ExponentialChannelNoiseService ( )

Definition at line 93 of file ExponentialChannelNoiseService_service.cc.

93  {
94  const string myname = "ExponentialChannelNoiseService::dtor: ";
95  if ( fLogLevel > 0 ) {
96  cout << myname << "Deleting random engine with seed " << m_pran->getSeed() << endl;
97  }
98  delete m_pran;
99 }
int fLogLevel
Log message level: 0=quiet, 1=init only, 2+=every event.
QTextStream & endl(QTextStream &s)

Member Function Documentation

int ExponentialChannelNoiseService::addNoise ( detinfo::DetectorClocksData const &  clockData,
detinfo::DetectorPropertiesData const &  detProp,
Channel  chan,
AdcSignalVector sigs 
) const
virtual

Implements ChannelNoiseService.

Definition at line 103 of file ExponentialChannelNoiseService_service.cc.

105  {
106  CLHEP::RandFlat flat(*m_pran);
107  CLHEP::RandGauss gaus(*m_pran);
108  unsigned int noisechan = 0;
109  if ( fOldNoiseIndex ) {
110  // Keep this strange way of choosing noise channel to be consistent with old results.
111  // The relative weights of the first and last channels are 0.5 and 0.6.
112  noisechan = nearbyint(flat.fire()*(1.*(fNoiseArrayPoints-1)+0.1));
113  } else {
114  noisechan = flat.fire()*fNoiseArrayPoints;
115  if ( noisechan == fNoiseArrayPoints ) --noisechan;
116  }
117  fNoiseChanHist->Fill(noisechan);
119  const geo::View_t view = geo->View(chan);
120  for ( unsigned int itck=0; itck<sigs.size(); ++itck ) {
121  double tnoise = 0.0;
122  double wnoise = 0.0;
123  if ( view==geo::kU ) {
124  tnoise = fNoiseU[noisechan][itck];
125  wnoise = fWhiteNoiseU;
126  } else if ( view==geo::kV ) {
127  tnoise = fNoiseV[noisechan][itck];
128  wnoise = fWhiteNoiseV;
129  } else {
130  tnoise = fNoiseZ[noisechan][itck];
131  wnoise = fWhiteNoiseZ;
132  }
133  if ( wnoise != 0.0 ) tnoise += wnoise*gaus.fire();
134  sigs[itck] += tnoise;
135  }
136  return 0;
137 }
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Planes which measure V.
Definition: geo_types.h:130
AdcSignalVectorVector fNoiseV
noise on each channel for each time for V plane
Planes which measure U.
Definition: geo_types.h:129
float fWhiteNoiseU
Level (per freq bin) for white noise for U.
float fWhiteNoiseV
Level (per freq bin) for white noise for V.
T gaus(T x, T amplitude, T mean, T sigma)
Tests GausssianFit object with a known input.
AdcSignalVectorVector fNoiseZ
noise on each channel for each time for Z (collection) plane
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
float fWhiteNoiseZ
Level (per freq bin) for white noise for Z.
bool fOldNoiseIndex
Use old selection of noise array index.
TH1 * fNoiseChanHist
distribution of accessed noise samples
AdcSignalVectorVector fNoiseU
noise on each channel for each time for U plane
LArSoft geometry interface.
Definition: ChannelGeo.h:16
unsigned int fNoiseArrayPoints
number of points in randomly generated noise array
void ExponentialChannelNoiseService::generateNoise ( detinfo::DetectorClocksData const &  clockData,
float  aNoiseNorm,
float  aNoiseWidth,
float  aLowCutoff,
AdcSignalVector noise,
TH1 *  aNoiseHist 
) const

Definition at line 166 of file ExponentialChannelNoiseService_service.cc.

168  {
169  const string myname = "ExponentialChannelNoiseService::generateNoise: ";
170  if ( fLogLevel > 1 ) {
171  cout << myname << "Generating noise." << endl;
172  if ( fLogLevel > 2 ) {
173  cout << myname << " Norm: " << aNoiseNorm << endl;
174  cout << myname << " Width: " << aNoiseWidth << endl;
175  cout << myname << " Cutoff: " << aLowCutoff << endl;
176  cout << myname << " Seed: " << m_pran->getSeed() << endl;
177  }
178  }
179  // Fetch sampling rate.
180  float sampleRate = sampling_rate(clockData);
181  // Fetch FFT service and # ticks.
183  unsigned int ntick = pfft->FFTSize();
184  CLHEP::RandFlat flat(*m_pran);
185  // Create noise spectrum in frequency.
186  unsigned nbin = ntick/2 + 1;
187  std::vector<TComplex> noiseFrequency(nbin, 0.);
188  double pval = 0.;
189  double lofilter = 0.;
190  double phase = 0.;
191  double rnd[2] = {0.};
192  // width of frequencyBin in kHz
193  double binWidth = 1.0/(ntick*sampleRate*1.0e-6);
194  bool flatAtLowFreq = aLowCutoff < 0.0;
195  double frqCutoff = flatAtLowFreq ? -aLowCutoff : 0.0;
196  for ( unsigned int i=0; i<ntick/2+1; ++i ) {
197  double frq = double(i)*binWidth;
198  // For aLowCutoff < 0, we have constant noise below -aLowCutoff.
199  // For positive values, we keep the old albeit questionable behavior.
200  if ( flatAtLowFreq ) {
201  lofilter = 1.0;
202  if ( frq < frqCutoff ) frq = frqCutoff;
203  } else {
204  lofilter = 1.0/(1.0+exp(-(i-aLowCutoff/binWidth)/0.5));
205  }
206  // exponential noise spectrum
207  pval = aNoiseNorm*exp(-frq/aNoiseWidth);
208  // low frequency cutoff
209  // randomize 10%
210  flat.fireArray(2, rnd, 0, 1);
211  pval *= lofilter*(0.9 + 0.2*rnd[0]);
212  // random phase angle
213  phase = rnd[1]*2.*TMath::Pi();
214  TComplex tc(pval*cos(phase),pval*sin(phase));
215  noiseFrequency[i] += tc;
216  }
217  // Obtain time spectrum from frequency spectrum.
218  noise.clear();
219  noise.resize(ntick,0.0);
220  std::vector<double> tmpnoise(noise.size());
221  pfft->DoInvFFT(noiseFrequency, tmpnoise);
222  noiseFrequency.clear();
223  // Multiply each noise value by ntick as the InvFFT
224  // divides each bin by ntick assuming that a forward FFT
225  // has already been done.
226  // DLA Feb 2016: Change factor from ntick --> sqrt(ntick) so that the RMS
227  // does not depend on ntick (FFT size).
228  for ( unsigned int itck=0; itck<noise.size(); ++itck ) {
229  noise[itck] = sqrt(ntick)*tmpnoise[itck];
230  }
231  for ( unsigned int itck=0; itck<noise.size(); ++itck ) {
232  aNoiseHist->Fill(noise[itck]);
233  }
234 }
void DoInvFFT(std::vector< TComplex > &input, std::vector< T > &output)
Definition: LArFFT.h:120
int FFTSize() const
Definition: LArFFT.h:69
pval
Definition: tracks.py:168
int fLogLevel
Log message level: 0=quiet, 1=init only, 2+=every event.
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
QTextStream & endl(QTextStream &s)
void ExponentialChannelNoiseService::generateNoise ( detinfo::DetectorClocksData const &  clockData)
private

Definition at line 238 of file ExponentialChannelNoiseService_service.cc.

238  {
239  fNoiseZ.resize(fNoiseArrayPoints);
240  fNoiseU.resize(fNoiseArrayPoints);
241  fNoiseV.resize(fNoiseArrayPoints);
242  for ( unsigned int inch=0; inch<fNoiseArrayPoints; ++inch ) {
246  }
247 }
float fNoiseWidthV
exponential noise width (kHz) for V plane
float fNoiseNormV
noise scale factor for V plane
AdcSignalVectorVector fNoiseV
noise on each channel for each time for V plane
float fNoiseNormZ
noise scale factor for Z (collection) plane
void generateNoise(detinfo::DetectorClocksData const &clockData, float aNoiseNorm, float aNoiseWidth, float aLowCutoff, AdcSignalVector &noise, TH1 *aNoiseHist) const
float fLowCutoffV
low frequency filter cutoff (kHz) for V plane
float fLowCutoffZ
low frequency filter cutoff (kHz) for Z (collection) plane
float fNoiseWidthZ
exponential noise width (kHz) for Z (collection) plane
AdcSignalVectorVector fNoiseZ
noise on each channel for each time for Z (collection) plane
TH1 * fNoiseHistU
distribution of noise counts for U
float fLowCutoffU
low frequency filter cutoff (kHz) for U plane
float fNoiseWidthU
exponential noise width (kHz) for U plane
TH1 * fNoiseHistV
distribution of noise counts for V
float fNoiseNormU
noise scale factor for U plane
AdcSignalVectorVector fNoiseU
noise on each channel for each time for U plane
TH1 * fNoiseHistZ
distribution of noise counts for Z
unsigned int fNoiseArrayPoints
number of points in randomly generated noise array
ostream & ExponentialChannelNoiseService::print ( std::ostream &  out = std::cout,
std::string  prefix = "" 
) const
virtual

Implements ChannelNoiseService.

Definition at line 141 of file ExponentialChannelNoiseService_service.cc.

141  {
142  out << prefix << "ExponentialChannelNoiseService: " << endl;
143  out << prefix << " NoiseNormZ: " << fNoiseNormZ << endl;
144  out << prefix << " NoiseWidthZ: " << fNoiseWidthZ << endl;
145  out << prefix << " LowCutoffZ: " << fLowCutoffZ << endl;
146  out << prefix << " NoiseNormU: " << fNoiseNormU << endl;
147  out << prefix << " NoiseWidthU: " << fNoiseWidthU << endl;
148  out << prefix << " LowCutoffU: " << fLowCutoffU << endl;
149  out << prefix << " NoiseNormV: " << fNoiseNormV << endl;
150  out << prefix << " NoiseWidthV: " << fNoiseWidthV << endl;
151  out << prefix << " LowCutoffV: " << fLowCutoffV << endl;
152  out << prefix << " NoiseArrayPoints: " << fNoiseArrayPoints << endl;
153  out << prefix << " OldNoiseIndex: " << fOldNoiseIndex << endl;
154  out << prefix << " WhiteNoiseZ: " << fWhiteNoiseZ << endl;
155  out << prefix << " WhiteNoiseU: " << fWhiteNoiseU << endl;
156  out << prefix << " WhiteNoiseV: " << fWhiteNoiseV << endl;
157  out << prefix << " RandomSeed: " << fRandomSeed << endl;
158  out << prefix << " LogLevel: " << fLogLevel << endl;
159  out << prefix << " Actual random seed: " << m_pran->getSeed();
160  return out;
161 }
float fNoiseWidthV
exponential noise width (kHz) for V plane
float fNoiseNormV
noise scale factor for V plane
float fNoiseNormZ
noise scale factor for Z (collection) plane
float fLowCutoffV
low frequency filter cutoff (kHz) for V plane
float fLowCutoffZ
low frequency filter cutoff (kHz) for Z (collection) plane
float fNoiseWidthZ
exponential noise width (kHz) for Z (collection) plane
float fWhiteNoiseU
Level (per freq bin) for white noise for U.
float fWhiteNoiseV
Level (per freq bin) for white noise for V.
float fLowCutoffU
low frequency filter cutoff (kHz) for U plane
float fNoiseWidthU
exponential noise width (kHz) for U plane
float fWhiteNoiseZ
Level (per freq bin) for white noise for Z.
bool fOldNoiseIndex
Use old selection of noise array index.
int fLogLevel
Log message level: 0=quiet, 1=init only, 2+=every event.
float fNoiseNormU
noise scale factor for U plane
int fRandomSeed
Seed for random number service. If absent or zero, use SeedSvc.
QTextStream & endl(QTextStream &s)
unsigned int fNoiseArrayPoints
number of points in randomly generated noise array

Member Data Documentation

int ExponentialChannelNoiseService::fLogLevel
private

Log message level: 0=quiet, 1=init only, 2+=every event.

Definition at line 83 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fLowCutoffU
private

low frequency filter cutoff (kHz) for U plane

Definition at line 73 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fLowCutoffV
private

low frequency filter cutoff (kHz) for V plane

Definition at line 76 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fLowCutoffZ
private

low frequency filter cutoff (kHz) for Z (collection) plane

Definition at line 70 of file ExponentialChannelNoiseService.h.

unsigned int ExponentialChannelNoiseService::fNoiseArrayPoints
private

number of points in randomly generated noise array

Definition at line 77 of file ExponentialChannelNoiseService.h.

TH1* ExponentialChannelNoiseService::fNoiseChanHist
private

distribution of accessed noise samples

Definition at line 95 of file ExponentialChannelNoiseService.h.

TH1* ExponentialChannelNoiseService::fNoiseHistU
private

distribution of noise counts for U

Definition at line 93 of file ExponentialChannelNoiseService.h.

TH1* ExponentialChannelNoiseService::fNoiseHistV
private

distribution of noise counts for V

Definition at line 94 of file ExponentialChannelNoiseService.h.

TH1* ExponentialChannelNoiseService::fNoiseHistZ
private

distribution of noise counts for Z

Definition at line 92 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseNormU
private

noise scale factor for U plane

Definition at line 71 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseNormV
private

noise scale factor for V plane

Definition at line 74 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseNormZ
private

noise scale factor for Z (collection) plane

Definition at line 68 of file ExponentialChannelNoiseService.h.

AdcSignalVectorVector ExponentialChannelNoiseService::fNoiseU
private

noise on each channel for each time for U plane

Definition at line 87 of file ExponentialChannelNoiseService.h.

AdcSignalVectorVector ExponentialChannelNoiseService::fNoiseV
private

noise on each channel for each time for V plane

Definition at line 88 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseWidthU
private

exponential noise width (kHz) for U plane

Definition at line 72 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseWidthV
private

exponential noise width (kHz) for V plane

Definition at line 75 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fNoiseWidthZ
private

exponential noise width (kHz) for Z (collection) plane

Definition at line 69 of file ExponentialChannelNoiseService.h.

AdcSignalVectorVector ExponentialChannelNoiseService::fNoiseZ
private

noise on each channel for each time for Z (collection) plane

Definition at line 86 of file ExponentialChannelNoiseService.h.

bool ExponentialChannelNoiseService::fOldNoiseIndex
private

Use old selection of noise array index.

Definition at line 78 of file ExponentialChannelNoiseService.h.

int ExponentialChannelNoiseService::fRandomSeed
private

Seed for random number service. If absent or zero, use SeedSvc.

Definition at line 82 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fWhiteNoiseU
private

Level (per freq bin) for white noise for U.

Definition at line 80 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fWhiteNoiseV
private

Level (per freq bin) for white noise for V.

Definition at line 81 of file ExponentialChannelNoiseService.h.

float ExponentialChannelNoiseService::fWhiteNoiseZ
private

Level (per freq bin) for white noise for Z.

Definition at line 79 of file ExponentialChannelNoiseService.h.

CLHEP::HepRandomEngine* ExponentialChannelNoiseService::m_pran
private

Definition at line 97 of file ExponentialChannelNoiseService.h.


The documentation for this class was generated from the following files: