Dear Experts,
I am using the script :
to
***1. fit background (expo or BkgKer) and signal (signalRes) to data. ***
2. generating toyMC using combined pdf (model) of signal and background
The issue I am facing is that, I am getting error
Break *** segmentation violation
in the 2nd part
2. generating toyMC using combined pdf (model) of signal and background
when I define RooRealVar with range (line 363-375)
=================================================================
RooRealVar m0( “m0”, “m0”, 91.188, 80,100);
RooRealVar width( “width”, “width”, 2.495, 0, 15);
RooBreitWigner bw(“bw”, “”, mass_axis, m0, width); // Breit Wigner
RooRealVar mean(“mean”, “” ,0.,-1,1);
RooRealVar sigma(“sigma”, “”,2.4 , 0.0, 15.0);
//RooRealVar sigma(“sigma”, “”, 1.0, 0, 2);
RooRealVar alpha(“alpha”, “”, 1.0, 0.0, 20.0);
RooRealVar n(“n”,"", 1.0, 0.0, 20.0);
RooRealVar alpha2(“2ndalpha”,"", 1.0, 0.0, 20.0);
RooRealVar n2(“2ndn”, “”, 1.0, 0.0, 20.0);
RooDCBShape *cb; // Double-sided crystal ball
cb = new RooDCBShape(“cb”,“cb”, mass_axis, mean, sigma, alpha, n, alpha2, n2);
======================================================================
The exact crashing of code, happens at (line 488)
double toynSig = mcstudy->fitParDataSet().get(i)->getRealValue(“nSig”,0,kFALSE);
It break while extracting getRealValue of RooRealVar with range.
It runs without any error (for both part) when I define RooRealVars without any range. (line 349-360)
======================================================================
RooRealVar m0( “m0”, “m0”, 91.188 );
RooRealVar width( “width”, “width”, 2.495 );
RooBreitWigner bw(“bw”, “”, mass_axis, m0, width); // Breit Wigner
RooRealVar mean( “mean”, “mean”, 0. );
RooRealVar sigma( “sigma”, “sigma”, 2.4 );
RooRealVar alpha( “alpha”, “alpha”, 1.0 );
RooRealVar n( “n”, “n”, 1.0 );
RooRealVar alpha2(“2ndalpha”,"", 1.0);
RooRealVar n2(“2ndn”, “”, 1.0);
RooDCBShape *cb;
cb = new RooDCBShape(“cb”, “cb”, mass_axis, mean, sigma, alpha, n, alpha2, n2);
But fit of background (expo or BkgKer) and signal (signalRes) to data looks very worse this way.
Could you please suggest how to fix this error, ?
Is there any alternative to getRealValue operator useful here ?
Thanks
Tribeni