Hi all,
I have this function in a script, and I would like for RooPolynomial& pol and RooDoubleCBFast& cb to be optional arguments. I can’t seem to set pol and cb to values in the arguments themselves (like doing int i = 0 for example), and using std::optional hasn’t worked either. If anyone has any ideas on how to achieve this, please let me know Thanks!
void printYields(std::string sample, std::string channel, RooRealVar& mass, RooRealVar& norm, RooPolynomial& pol, RooDoubleCBFast& cb){
std::ofstream txtFile;
txtFile.open(sample+channel+"_"+model+"_yields.txt");
txtFile<<"norm: "<<norm.getVal()<<std::endl;
for(int binIndex=0;binIndex<numberOfBins-1;binIndex++){
std::string bin_str = "bin"+std::to_string(binIndex);
const char* bin_char = bin_str.c_str();
mass.setRange(bin_char,xbins[binIndex],ybins[binIndex]);
txtFile<< pol.createIntegral(mass, RooFit::NormSet(mass), RooFit::Range(bin_char))->getVal() * norm.getVal()<<std::endl;
}
}
ROOT Version: 6.20.06
Platform: centos7
Compiler: gcc8