7#ifndef TOOLS_NOISEGENERATOR_H
8#define TOOLS_NOISEGENERATOR_H
21#include <boost/math/distributions/poisson.hpp>
26#include "Framework/Exception/Exception.h"
27#include "Framework/Logger.h"
28#include "Math/DistFunc.h"
69 std::unique_ptr<TRandom3>
random_{
nullptr};
86 enableLogging(
"NoiseGenerator")
std::unique_ptr< boost::math::poisson_distribution<> > poisson_dist_
pdf for poisson errors
std::vector< double > generateNoiseHits(int emptyChannels)
Generate noise hits_.
NoiseGenerator(double noiseValue=0.0001, bool gauss=true)
Constructor.
double pedestal_
Pedestal or baseline.
std::unique_ptr< TRandom3 > random_
Random number generator.
void setPedestal(double pedestal)
Set the pedestal.
void seedGenerator(uint64_t seed)
Seed the generator.
void setNoiseThreshold(double noiseThreshold)
Set the noise threshold.
double noise_threshold_
The noise threshold.
bool hasSeed() const
Has been seeded?
void setNoise(double noise)
Set the mean noise.
~NoiseGenerator()=default
Destructor.
bool use_gaussian_model_
Gaussian flag.