88 const double s1 = p1->
err() ;
89 const double s2 = p2->
err() ;
90 double v1min = v1 - s1 * nSigmaRange ;
91 double v1max = v1 + s1 * nSigmaRange ;
92 double v2min = v2 - s2 * nSigmaRange ;
93 double v2max = v2 + s2 * nSigmaRange ;
100 TH2D hscan((
"deltachi2_" + p2->
name() +
"_vs_" + p1->
name()).c_str(),
"",
101 nBins, v1min*scale, v1max*scale, nBins, v2min*scale, v2max*scale) ;
102 const double chi2 =
getVal() ;
103 for(
unsigned i1 = 1 ; i1 < nBins + 1 ; ++i1){
104 double iv1 = hscan.GetXaxis()->GetBinCenter(i1) ;
105 for(
unsigned i2 = 1 ; i2 < nBins + 1 ; ++i2){
106 double iv2 = hscan.GetYaxis()->GetBinCenter(i2) ;
111 double dsigma = sqrt(ichi2 - chi2) ;
112 if(dsigma <= nSigmaRange)
113 hscan.SetBinContent(i1, i2, dsigma) ;
115 hscan.SetBinContent(i1, i2, 0.) ;
119 vector<string> titles(1,
"Re(z_{CP})") ;
120 titles.push_back(
"Im(z_{CP})") ;
121 titles.push_back(
"Re(#Delta z)") ;
122 titles.push_back(
"Im(#Delta z)") ;
123 string xtitle = titles.at(ip1) ;
124 string ytitle = titles.at(ip2) ;
126 xtitle =
"#delta " + xtitle ;
127 ytitle =
"#delta " + ytitle ;
129 hscan.SetXTitle(xtitle.c_str()) ;
130 hscan.SetYTitle(ytitle.c_str()) ;
131 hscan.SetZTitle(
"N. #sigma") ;
132 hscan.SetContour(nSigmaRange) ;
133 hscan.SetStats(
false) ;
virtual void parametersChanged() override
BinFlipParSet * m_fitPars
IMinuitParameter * getParPtr(unsigned int i)
virtual const std::string & name() const
virtual void setCurrentFitVal(double fv)
virtual double getCurrentFitVal() const