/** * @file feldman_cousins.hh * @author Christoph Langenbruch, David Gerick * @date 2020-06-30 * */ #ifndef FELDMAN_COUSINS_H #define FELDMAN_COUSINS_H #include #include namespace fcnc { //Forward declarations class event; class fitter; class pdf; class generator; class parameters; class options; class feldman_cousins; class feldman_cousins { private: options* opts; int from, to; public: ///constructor feldman_cousins(options* o): opts(o), from(-1), to(-1) { }; ///destructor ~feldman_cousins(){}; ///one-dimensional feldman cousins bool fc_1d(std::string parname, unsigned int nsteps, double parmin, double parmax, unsigned int ntoys, unsigned int pdfidx, //this parameter just changes output file std::vector probs, std::vector params, generator* gen, fitter* f, std::vector *> events, unsigned int bin=0, int from=-1, int to=-1); bool fc_1d(std::string parname, unsigned int nsteps, double parmin, double parmax, unsigned int ntoys, //this parameter just changes output file pdf* prob, parameters* params, generator* gen, fitter* f, std::vector * events, unsigned int bin=0, int from=-1, int to=-1); ///two-dimensional feldman cousins bool fc_2d(std::string parxname, unsigned int nstepsx, double parxmin, double parxmax, std::string paryname, unsigned int nstepsy, double parymin, double parymax, unsigned int ntoys, unsigned int pdfidx, //this parameter just changes output file std::vector probs, std::vector params, generator* gen, fitter* f, std::vector *> events, unsigned int bin=0, int from=-1, int to=-1); bool fc_2d(std::string parxname, unsigned int nstepsx, double parxmin, double parxmax, std::string paryname, unsigned int nstepsy, double parymin, double parymax, unsigned int ntoys, //this parameter just changes output file pdf* prob, parameters* params, generator* gen, fitter* f, std::vector * events, unsigned int bin=0, int from=-1, int to=-1); }; }//end namespace #endif