1#ifndef __JASTRONOMY__JNUISANCE__
2#define __JASTRONOMY__JNUISANCE__
45 static constexpr double FACTOR = 1.0;
60 virtual std::istream&
read(std::istream& in) = 0;
69 virtual std::ostream&
write(std::ostream& out)
const = 0;
77 virtual double get()
const = 0;
89 return nuisance.
read(in);
102 return nuisance.
write(out);
119 virtual std::istream&
read(std::istream& in)
override
131 virtual std::ostream&
write(std::ostream& out)
const override
142 double get()
const override
161 virtual std::istream&
read(std::istream& in)
override
163 return in >> this->
sigma;
173 virtual std::ostream&
write(std::ostream& out)
const override
175 return out << this->
sigma;
184 double get()
const override
206 virtual std::istream&
read(std::istream& in)
override
210 if (buffer.ReadLine(in)) {
212 f1.reset(
new TF1(
"f1", buffer));
214 if (!
f1->IsValid()) {
229 virtual std::ostream&
write(std::ostream& out)
const override
232 return out <<
f1->GetExpFormula();
243 double get()
const override
245 return f1->GetRandom(gRandom);
249 std::shared_ptr<TF1>
f1;
276 virtual std::istream&
read(std::istream&
in)
override
293 virtual std::ostream&
write(std::ostream& out)
const override
305 double get()
const override
307 return h1->GetRandom(gRandom);
322 if (
in == NULL || !
in->IsOpen()) {
333 mutable TFile*
in = NULL;
334 mutable TH1D*
h1 = NULL;
420 out <<
object.key <<
' ';
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for opening of file.
Exception for parsing value.
Exception for accessing a value in a collection that is outside of its range.
std::shared_ptr< JNuisance > nuisance_type
Type definition of generic nuisance.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Implementation of fixed nuisance.
double get() const override
Get value.
virtual std::istream & read(std::istream &in) override
Read nuisance from input stream.
virtual std::ostream & write(std::ostream &out) const override
Write nuisance to output stream.
Implementation of Gaussian nuisance.
virtual std::istream & read(std::istream &in) override
Read nuisance from input stream.
double get() const override
Get value.
virtual std::ostream & write(std::ostream &out) const override
Write nuisance to output stream.
Implementation of nuisance based on a formula.
double get() const override
Get value.
std::shared_ptr< TF1 > f1
virtual std::ostream & write(std::ostream &out) const override
Write nuisance to output stream.
virtual std::istream & read(std::istream &in) override
Read nuisance from input stream.
Implementation of nuisance based on histogram.
virtual std::istream & read(std::istream &in) override
Read nuisance from input stream.
virtual ~JNuisanceTH1()
Virtual destructor.
virtual std::ostream & write(std::ostream &out) const override
Write nuisance to output stream.
void load()
Load histogram from file.
double get() const override
Get value.
JNuisance_t()
Default constructor.
dictionary_type dictionary
std::map< std::string, nuisance_type > dictionary_type
friend std::ostream & operator<<(std::ostream &out, const JNuisance_t &object)
Write nuisance to output stream.
friend std::istream & operator>>(std::istream &in, JNuisance_t &object)
Read nuisance from input stream.
dictionary_type & getDictionary()
Get dictionary.
Interface for nuisance parameter.
friend std::istream & operator>>(std::istream &in, JNuisance &nuisance)
Read nuisance from input stream.
virtual double get() const =0
Get value.
virtual std::istream & read(std::istream &in)=0
Read nuisance from input stream.
virtual ~JNuisance()
Virtual destructor.
virtual std::ostream & write(std::ostream &out) const =0
Write nuisance to output stream.
friend std::ostream & operator<<(std::ostream &out, const JNuisance &nuisance)
Write nuisance to output stream.
static constexpr double FACTOR
Central value.