//Renata Kopecna

#ifndef GENERATETOYS_H
#define GENERATETOYS_H

#include <bu2kstarmumu_generator.hh>
#include <constants.hh>
#include <parse.hh>

int initialize_parameters_from_MCfit(fcnc::bu2kstarmumu_parameters *parameters, bool fromRef, int PDF, int bin, std::vector<std::string> names, basic_params params, fixConstr fixConstrain);
int initialize_parameters_from_BkgFit(fcnc::bu2kstarmumu_parameters *parameters, bool fromRef, bool LowMassFit, bool HighMassFit, bool fitKpi, int PDF,  int bin, std::vector<std::string> names, basic_params params, fixConstr fixConstrain);
int initialize_parameters_from_MassFit(fcnc::bu2kstarmumu_parameters *parameters, bool fromRef, int PDF,  int bin, std::vector<std::string> names, basic_params params, fixConstr fixConstrain);
int initialize_B_mass(fcnc::bu2kstarmumu_parameters *parameters, bool fromRef, int PDF,  int bin, basic_params params);

std::vector<fcnc::event> generateToys(basic_params params, int bin, int PDF, fcnc::bu2kstarmumu_parameters *toyParameters, fcnc::options opts);
std::vector<fcnc::event> generateIndividualToys(basic_params params, int bin, int PDF, fcnc::bu2kstarmumu_parameters *toyParameters, fcnc::options opts,  bool genOnlySig, bool genOnlyBkg);
int saveToys(basic_params params, fcnc::options opts,  bool genOnlySig, bool genOnlyBkg);
#endif // GENERATETOYS_H
