Details
-
Type:
Improvement
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: < v5-28-00
-
Fix Version/s: 6.22/00
-
Component/s: RooFit/RooStats
-
Labels:None
-
Environment:
GNU/Linux
-
Bug / Feature:Feature request
-
Severity:3 - Normal
-
External issue ID:bugs55287
-
External issue URL:
Description
Hi,
When using the sPlot class it seems to be mandatory that the yields are RooRealVars and the fit Parameters. Using a Model like:
RooRealVar ratio("xsec ratio","",1,0,10);
RooRealVar yield_sm("yield_sm","",100);
RooFormulaVar Ns("Signal Yield","","@0*@1",RooArgSet(ratio,yield_sm));
causes a crash:
1 INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization
1) 0x8a18b88 RooFormulaVar:: nsig[ actualVars=(nsig_const,sig_ratio,lumi) formula="@0*@1*@2" ] = 160.748 "@0*@1*@2"
2) 0x8a19200 RooFormulaVar:: nbkg1[ actualVars=(nbkg1_const,bkg_scale,lumi) formula="@0*@1*@2" ] = 5275.91 "@0*@1*@2"
3) 0x8a19878 RooFormulaVar:: nbkg2[ actualVars=(nbkg2_const,bkg_scale,lumi) formula="@0*@1*@2" ] = 16498.5 "@0*@1*@2"
4) 0x8a19ef0 RooFormulaVar:: nbkg3[ actualVars=(nbkg3_const,bkg_scale,lumi) formula="@0*@1*@2" ] = 3774.23 "@0*@1*@2"
5) 0x8a1a568 RooFormulaVar:: nbkg4[ actualVars=(nbkg4_const,bkg_scale,lumi) formula="@0*@1*@2" ] = 8649.69 "@0*@1*@2"
1 INFO:NumericIntegration -- RooRealIntegral::init(hgg_pt_sig_landau_Int[ptVtx]) using numeric integrator RooIntegrator1D to calculate Int(ptVtx)
1 INFO:NumericIntegration -- RooRealIntegral::init(hgg_pt_bkg4_landau_Int[ptVtx]) using numeric integrator RooIntegrator1D to calculate Int(ptVtx)
EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
MINUIT WARNING IN HESSE
============== MATRIX FORCED POS-DEF BY ADDING 0.001000 TO DIAGONAL.
MINUIT WARNING IN HESSE
============== Matrix inversion fails.
1 INFO:Minization -- RooFitResult::fillCorrMatrix: number of floating parameters is zero, correlation matrix not filled
1 INFO:Fitting -- RooAbsPdf::fitTo(model) Calculating sum-of-weights-squared correction matrix for covariance matrix
EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
MINUIT WARNING IN HESSE
============== MATRIX FORCED POS-DEF BY ADDING 0.001000 TO DIAGONAL.
MINUIT WARNING IN HESSE
============== Matrix inversion fails.
1 INFO:Minization -- RooFitResult::fillCorrMatrix: number of floating parameters is zero, correlation matrix not filled
-
-
- Break *** segmentation violation
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/334/exe, process 334
[Thread debugging using libthread_db enabled]
[New Thread 4107560640 (LWP 334)]
0xffffe410 in __kernel_vsyscall ()
#1 0x00b7d4b3 in __waitpid_nocancel () from /lib/tls/libc.so.6
#2 0x00b26779 in do_system () from /lib/tls/libc.so.6
#3 0x00c5998d in system () from /lib/tls/libpthread.so.0
#4 0xf7b623af in TUnixSystem::Exec ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#5 0xf7b68047 in TUnixSystem::StackTrace ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#6 0xf7b64a42 in TUnixSystem::DispatchSignals ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#7 0xf7b64ad0 in SigHandler ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#8 0xf7b63d4d in sighandler ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#9 <signal handler called>
#10 0xf7aade4e in TObject::TObject$base ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#11 0xf6630e7e in TMatrixTSym<double>::TMatrixTSym ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libMatrix.so
#12 0xf5ae2709 in RooAbsPdf::fitTo ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooFitCore.so
#13 0xf5ada06b in RooAbsPdf::fitTo ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooFitCore.so
#14 0xf55335d0 in RooStats::SPlot::AddSWeight ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooStats.so
#15 0xf5535637 in RooStats::SPlot::SPlot ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooStats.so
#16 0x08052920 in sPlot ()
at /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/include/TObject.h:156
#17 0x08052ed9 in main (argc=3, argv=0xffffca54) at makeyyPlots.cxx:116 - glibc detected *** corrupted double-linked list: 0x08f974b8 *** *** Break *** segmentation violation
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/334/exe, process 334
[Thread debugging using libthread_db enabled]
[New Thread 4107560640 (LWP 334)]
0xffffe410 in __kernel_vsyscall ()
#1 0x00b7d4b3 in __waitpid_nocancel () from /lib/tls/libc.so.6
#2 0x00b26779 in do_system () from /lib/tls/libc.so.6
#3 0x00c5998d in system () from /lib/tls/libpthread.so.0
#4 0xf7b623af in TUnixSystem::Exec ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#5 0xf7b68047 in TUnixSystem::StackTrace ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#6 0xf7b64a42 in TUnixSystem::DispatchSignals ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#7 0xf7b64ad0 in SigHandler ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#8 0xf7b63d4d in sighandler ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#9 <signal handler called>
#10 0xf7aade4e in TObject::TObject$base ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libCore.so
#11 0xf6630e7e in TMatrixTSym<double>::TMatrixTSym ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libMatrix.so
#12 0xf5ae2709 in RooAbsPdf::fitTo ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooFitCore.so
#13 0xf5ada06b in RooAbsPdf::fitTo ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooFitCore.so
#14 0xf55335d0 in RooStats::SPlot::AddSWeight ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooStats.so
#15 0xf5535637 in RooStats::SPlot::SPlot ()
from /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/lib/libRooStats.so
#16 0x08052920 in sPlot ()
at /afs/cern.ch/user/r/ruthmann/scratch0/programs/root-dev/include/TObject.h:156
#17 0x08052ed9 in main (argc=3, argv=0xffffca54) at makeyyPlots.cxx:116 - glibc detected *** corrupted double-linked list: 0x08f974b8 ***
- Break *** segmentation violation
-
would be nice to have this working since ratios are more convenient to use.
regards, Nils