//============================================================================= /** * @file Config.C * @brief Contains Configurator * * @author Tim-Philip Huecking, * * Created: * @date 20-05-25 (TPH) * * Changed: * */ //============================================================================= // system includes #include // ROOT includes // local includes using namespace std; void prntErr(string msg, string place) { cout << "\nERROR in " << place << ": " << msg << endl; } /** * @class Configurator * @brief Hold configuration ( e.g. output directory, verbosity ...), * and */ class Configurator { public : Configurator(); ~Configurator(); //======================================== // variables //======================================== int verb; ///< Verbosity. Higher number is more verbose bool prntFuncName; ///< Print name of function we just entered //RooDataSet* dataptr = nullptr; /** Number of experiments to be done */ double nExperiments = 0; /** Expectation value for total number of events */ double nTotEvenExpVal = 100000; /** signal fraction */ double sigFrac = 0.2; /** Expectation value for number of signal events */ double nSigExpVal = sigFrac*nTotEvenExpVal; /**Expectation value for number of background events */ double nBkgExpVal = nTotEvenExpVal-nSigExpVal; /** Count written TTrees. The first TTree is always corrupted. This * counter enables us to write it again, even if it is not the first * experiment */ int wrtTrCnt = 0; const double massSigMeanTruth = 60.0; const double massSigStdDevTruth = 4.0; const double massBkgLamTruth = -1./40.; const double massRangeMin = 0.; const double massRangeMax = 150; const double vggSigMeanTruth = 120.; const double vggSigStdDevTruth = 5.; const double vggBkgMeanTruth = 100.; const double vggBkgStdDevTruth = 10.; const double vggRangeMin = 60; const double vggRangeMax = 140.0; const double vexexSigLamTruth = -1./80.0; const double vexexBkgLamTruth = -1./100.; const double vexexRangeMin = 0; const double vexexRangeMax = 350; /** @brief Print out model parameters */ void prntModelPars(); private : }; Configurator::Configurator() { } Configurator::~Configurator() { } void Configurator::prntModelPars() { cout << "\nM O D E L P A R A M E T E R S:" << endl; cout << "----------------------------------------------\n" << endl; cout << setw(30) << left << "massSigMeanTruth " << massSigMeanTruth << endl; cout << setw(30) << left << "massSigStdDevTruth " << massSigStdDevTruth << endl; cout << setw(30) << left << "massBkgLamTruth " << massBkgLamTruth << endl; cout << setw(30) << left << "massRangeMin " << massRangeMin << endl; cout << setw(30) << left << "massRangeMax " << massRangeMax << endl; cout << setw(30) << left << "vggSigMeanTruth " << vggSigMeanTruth << endl; cout << setw(30) << left << "vggSigStdDevTruth " << vggSigStdDevTruth << endl; cout << setw(30) << left << "vggBkgMeanTruth " << vggBkgMeanTruth << endl; cout << setw(30) << left << "vggBkgStdDevTruth " << vggBkgStdDevTruth << endl; cout << setw(30) << left << "vggRangeMin " << vggRangeMin << endl; cout << setw(30) << left << "vggRangeMax " << vggRangeMax << endl; cout << setw(30) << left << "vexexSigLamTruth " << vexexSigLamTruth << endl; cout << setw(30) << left << "vexexBkgLamTruth " << vexexBkgLamTruth << endl; cout << setw(30) << left << "vexexRangeMin " << vexexRangeMin << endl; cout << setw(30) << left << "vexexRangeMax " << vexexRangeMax << endl; cout << "\n----------------------------------------------\n" << endl; }