#ifndef RooStats_ProfileLikelihoodCalculator
#include "RooStats/ProfileLikelihoodCalculator.h"
#endif
#ifndef RooStats_RooStatsUtils
#include "RooStats/RooStatsUtils.h"
#endif
#include "RooStats/LikelihoodInterval.h"
#include "RooStats/HypoTestResult.h"
#include "RooFitResult.h"
#include "RooRealVar.h"
#include "RooProfileLL.h"
#include "RooNLLVar.h"
#include "RooGlobalFunc.h"
#include "RooMsgService.h"
#include "Math/MinimizerOptions.h"
#include "RooMinimizer.h"
using namespace std;
ClassImp(RooStats::ProfileLikelihoodCalculator) ;
using namespace RooFit;
using namespace RooStats;
ProfileLikelihoodCalculator::ProfileLikelihoodCalculator() :
CombinedCalculator(), fFitResult(0), fGlobalFitDone(false)
{
}
ProfileLikelihoodCalculator::ProfileLikelihoodCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest,
Double_t size, const RooArgSet* nullParams ) :
CombinedCalculator(data,pdf, paramsOfInterest, size, nullParams ),
fFitResult(0), fGlobalFitDone(false)
{
}
ProfileLikelihoodCalculator::ProfileLikelihoodCalculator(RooAbsData& data, ModelConfig& model, Double_t size) :
CombinedCalculator(data, model, size),
fFitResult(0), fGlobalFitDone(false)
{
assert(model.GetPdf() );
}
ProfileLikelihoodCalculator::~ProfileLikelihoodCalculator(){
if (fFitResult) delete fFitResult;
}
void ProfileLikelihoodCalculator::DoReset() const {
if (fFitResult) delete fFitResult;
fFitResult = 0;
}
RooAbsReal * ProfileLikelihoodCalculator::DoGlobalFit() const {
DoReset();
RooAbsPdf * pdf = GetPdf();
RooAbsData* data = GetData();
if (!data || !pdf ) return 0;
RooArgSet* constrainedParams = pdf->getParameters(*data);
if (!constrainedParams) return 0;
RemoveConstantParameters(constrainedParams);
RooAbsReal * nll = pdf->createNLL(*data, CloneData(true), Constrain(*constrainedParams),ConditionalObservables(fConditionalObs), Offset(RooStats::IsNLLOffset() ) );
if (fFitResult && fGlobalFitDone) {
delete constrainedParams;
return nll;
}
oocoutP((TObject*)0,Minimization) << "ProfileLikelihoodCalcultor::DoGLobalFit - find MLE " << std::endl;
if (fFitResult) delete fFitResult;
fFitResult = DoMinimizeNLL(nll);
if (fFitResult) {
fFitResult->printStream( oocoutI((TObject*)0,Minimization), fFitResult->defaultPrintContents(0), fFitResult->defaultPrintStyle(0) );
if (fFitResult->status() != 0)
oocoutW((TObject*)0,Minimization) << "ProfileLikelihoodCalcultor::DoGlobalFit - Global fit failed - status = " << fFitResult->status() << std::endl;
else
fGlobalFitDone = true;
}
delete constrainedParams;
return nll;
}
RooFitResult * ProfileLikelihoodCalculator::DoMinimizeNLL(RooAbsReal * nll) {
const char * minimType = ROOT::Math::MinimizerOptions::DefaultMinimizerType().c_str();
const char * minimAlgo = ROOT::Math::MinimizerOptions::DefaultMinimizerAlgo().c_str();
int strategy = ROOT::Math::MinimizerOptions::DefaultStrategy();
int level = ROOT::Math::MinimizerOptions::DefaultPrintLevel() -1;
int tolerance = ROOT::Math::MinimizerOptions::DefaultTolerance();
oocoutP((TObject*)0,Minimization) << "ProfileLikelihoodCalcultor::DoMinimizeNLL - using " << minimType << " / " << minimAlgo << " with strategy " << strategy << std::endl;
RooMinimizer minim(*nll);
minim.setStrategy(strategy);
minim.setEps(tolerance);
minim.setPrintLevel(level);
minim.optimizeConst(2);
int status = -1;
for (int tries = 1, maxtries = 4; tries <= maxtries; ++tries) {
status = minim.minimize(minimType,minimAlgo);
if (status%1000 == 0) {
break;
} else if (tries < maxtries) {
cout << " ----> Doing a re-scan first" << endl;
minim.minimize(minimType,"Scan");
if (tries == 2) {
if (strategy == 0 ) {
cout << " ----> trying with strategy = 1" << endl;;
minim.setStrategy(1);
}
else
tries++;
}
if (tries == 3) {
cout << " ----> trying with improve" << endl;;
minimType = "Minuit";
minimAlgo = "migradimproved";
}
}
}
RooFitResult * result = minim.save();
return result;
}
LikelihoodInterval* ProfileLikelihoodCalculator::GetInterval() const {
RooAbsPdf * pdf = GetPdf();
RooAbsData* data = GetData();
if (!data || !pdf || fPOI.getSize() == 0) return 0;
RooArgSet* constrainedParams = pdf->getParameters(*data);
RemoveConstantParameters(constrainedParams);
RooAbsReal * nll = DoGlobalFit();
if (!nll) return 0;
if (!fFitResult) {
delete nll;
return 0;
}
RooAbsReal* profile = nll->createProfile(fPOI);
profile->addOwnedComponents(*nll) ;
const RooArgList & fitParams = fFitResult->floatParsFinal();
for (int i = 0; i < fitParams.getSize(); ++i) {
RooRealVar & fitPar = (RooRealVar &) fitParams[i];
RooRealVar * par = (RooRealVar*) fPOI.find( fitPar.GetName() );
if (par) {
par->setVal( fitPar.getVal() );
par->setError( fitPar.getError() );
}
}
TString name = TString("LikelihoodInterval_");
TIter iter = fPOI.createIterator();
RooArgSet fitParSet(fitParams);
RooArgSet * bestPOI = new RooArgSet();
while (RooAbsArg * arg = (RooAbsArg*) iter.Next() ) {
RooAbsArg * p = fitParSet.find( arg->GetName() );
if (p) bestPOI->addClone(*p);
else bestPOI->addClone(*arg);
}
LikelihoodInterval* interval = new LikelihoodInterval(name, profile, &fPOI, bestPOI);
interval->SetConfidenceLevel(1.-fSize);
delete constrainedParams;
return interval;
}
HypoTestResult* ProfileLikelihoodCalculator::GetHypoTest() const {
RooAbsPdf * pdf = GetPdf();
RooAbsData* data = GetData();
if (!data || !pdf) return 0;
if (fNullParams.getSize() == 0) return 0;
RooArgList poiList;
poiList.addClone(fNullParams);
RooAbsReal * nll = DoGlobalFit();
if (!nll) return 0;
if (!fFitResult) {
delete nll;
return 0;
}
RooArgSet* constrainedParams = pdf->getParameters(*data);
RemoveConstantParameters(constrainedParams);
Double_t nLLatMLE = fFitResult->minNll();
Double_t nlloffset = (RooStats::IsNLLOffset() ) ? nll->getVal() - nLLatMLE : 0;
std::vector<double> oldValues(poiList.getSize() );
for (unsigned int i = 0; i < oldValues.size(); ++i) {
RooRealVar * mytarget = (RooRealVar*) constrainedParams->find(poiList[i].GetName());
if (mytarget) {
oldValues[i] = mytarget->getVal();
mytarget->setVal( ( (RooRealVar&) poiList[i] ).getVal() );
mytarget->setConstant(kTRUE);
}
}
RooArgSet nuisParams(*constrainedParams);
RemoveConstantParameters(&nuisParams);
bool existVarParams = false;
TIter it = nuisParams.createIterator();
RooRealVar * myarg = 0;
while ((myarg = (RooRealVar *)it.Next())) {
if ( !myarg->isConstant() ) {
existVarParams = true;
break;
}
}
Double_t nLLatCondMLE = nLLatMLE;
if (existVarParams) {
oocoutP((TObject*)0,Minimization) << "ProfileLikelihoodCalcultor::GetHypoTest - do conditional fit " << std::endl;
RooFitResult * fit2 = DoMinimizeNLL(nll);
if (fit2) {
nLLatCondMLE = fit2->minNll();
fit2->printStream( oocoutI((TObject*)0,Minimization), fit2->defaultPrintContents(0), fit2->defaultPrintStyle(0) );
if (fit2->status() != 0)
oocoutW((TObject*)0,Minimization) << "ProfileLikelihoodCalcultor::GetHypotest - Conditional fit failed - status = " << fit2->status() << std::endl;
}
}
else {
nLLatCondMLE = nll->getVal();
if (RooStats::IsNLLOffset() ) nLLatCondMLE -= nlloffset;
}
Double_t deltaNLL = std::max( nLLatCondMLE-nLLatMLE, 0.);
RemoveConstantParameters(poiList);
int ndf = poiList.getSize();
Double_t pvalue = ROOT::Math::chisquared_cdf_c( 2* deltaNLL, ndf);
if (ndf == 1) pvalue = 0.5 * pvalue;
TString name = TString("ProfileLRHypoTestResult_");
HypoTestResult* htr = new HypoTestResult(name, pvalue, 0 );
for (unsigned int i = 0; i < oldValues.size(); ++i) {
RooRealVar * mytarget = (RooRealVar*) constrainedParams->find(poiList[i].GetName());
if (mytarget) {
mytarget->setVal(oldValues[i] );
mytarget->setConstant(false);
}
}
delete constrainedParams;
delete nll;
return htr;
}
ProfileLikelihoodCalculator.cxx:1 ProfileLikelihoodCalculator.cxx:2 ProfileLikelihoodCalculator.cxx:3 ProfileLikelihoodCalculator.cxx:4 ProfileLikelihoodCalculator.cxx:5 ProfileLikelihoodCalculator.cxx:6 ProfileLikelihoodCalculator.cxx:7 ProfileLikelihoodCalculator.cxx:8 ProfileLikelihoodCalculator.cxx:9 ProfileLikelihoodCalculator.cxx:10 ProfileLikelihoodCalculator.cxx:11 ProfileLikelihoodCalculator.cxx:12 ProfileLikelihoodCalculator.cxx:13 ProfileLikelihoodCalculator.cxx:14 ProfileLikelihoodCalculator.cxx:15 ProfileLikelihoodCalculator.cxx:16 ProfileLikelihoodCalculator.cxx:17 ProfileLikelihoodCalculator.cxx:18 ProfileLikelihoodCalculator.cxx:19 ProfileLikelihoodCalculator.cxx:20 ProfileLikelihoodCalculator.cxx:21 ProfileLikelihoodCalculator.cxx:22 ProfileLikelihoodCalculator.cxx:23 ProfileLikelihoodCalculator.cxx:24 ProfileLikelihoodCalculator.cxx:25 ProfileLikelihoodCalculator.cxx:26 ProfileLikelihoodCalculator.cxx:27 ProfileLikelihoodCalculator.cxx:28 ProfileLikelihoodCalculator.cxx:29 ProfileLikelihoodCalculator.cxx:30 ProfileLikelihoodCalculator.cxx:31 ProfileLikelihoodCalculator.cxx:32 ProfileLikelihoodCalculator.cxx:33 ProfileLikelihoodCalculator.cxx:34 ProfileLikelihoodCalculator.cxx:35 ProfileLikelihoodCalculator.cxx:36 ProfileLikelihoodCalculator.cxx:37 ProfileLikelihoodCalculator.cxx:38 ProfileLikelihoodCalculator.cxx:39 ProfileLikelihoodCalculator.cxx:40 ProfileLikelihoodCalculator.cxx:41 ProfileLikelihoodCalculator.cxx:42 ProfileLikelihoodCalculator.cxx:43 ProfileLikelihoodCalculator.cxx:44 ProfileLikelihoodCalculator.cxx:45 ProfileLikelihoodCalculator.cxx:46 ProfileLikelihoodCalculator.cxx:47 ProfileLikelihoodCalculator.cxx:48 ProfileLikelihoodCalculator.cxx:49 ProfileLikelihoodCalculator.cxx:50 ProfileLikelihoodCalculator.cxx:51 ProfileLikelihoodCalculator.cxx:52 ProfileLikelihoodCalculator.cxx:53 ProfileLikelihoodCalculator.cxx:54 ProfileLikelihoodCalculator.cxx:55 ProfileLikelihoodCalculator.cxx:56 ProfileLikelihoodCalculator.cxx:57 ProfileLikelihoodCalculator.cxx:58 ProfileLikelihoodCalculator.cxx:59 ProfileLikelihoodCalculator.cxx:60 ProfileLikelihoodCalculator.cxx:61 ProfileLikelihoodCalculator.cxx:62 ProfileLikelihoodCalculator.cxx:63 ProfileLikelihoodCalculator.cxx:64 ProfileLikelihoodCalculator.cxx:65 ProfileLikelihoodCalculator.cxx:66 ProfileLikelihoodCalculator.cxx:67 ProfileLikelihoodCalculator.cxx:68 ProfileLikelihoodCalculator.cxx:69 ProfileLikelihoodCalculator.cxx:70 ProfileLikelihoodCalculator.cxx:71 ProfileLikelihoodCalculator.cxx:72 ProfileLikelihoodCalculator.cxx:73 ProfileLikelihoodCalculator.cxx:74 ProfileLikelihoodCalculator.cxx:75 ProfileLikelihoodCalculator.cxx:76 ProfileLikelihoodCalculator.cxx:77 ProfileLikelihoodCalculator.cxx:78 ProfileLikelihoodCalculator.cxx:79 ProfileLikelihoodCalculator.cxx:80 ProfileLikelihoodCalculator.cxx:81 ProfileLikelihoodCalculator.cxx:82 ProfileLikelihoodCalculator.cxx:83 ProfileLikelihoodCalculator.cxx:84 ProfileLikelihoodCalculator.cxx:85 ProfileLikelihoodCalculator.cxx:86 ProfileLikelihoodCalculator.cxx:87 ProfileLikelihoodCalculator.cxx:88 ProfileLikelihoodCalculator.cxx:89 ProfileLikelihoodCalculator.cxx:90 ProfileLikelihoodCalculator.cxx:91 ProfileLikelihoodCalculator.cxx:92 ProfileLikelihoodCalculator.cxx:93 ProfileLikelihoodCalculator.cxx:94 ProfileLikelihoodCalculator.cxx:95 ProfileLikelihoodCalculator.cxx:96 ProfileLikelihoodCalculator.cxx:97 ProfileLikelihoodCalculator.cxx:98 ProfileLikelihoodCalculator.cxx:99 ProfileLikelihoodCalculator.cxx:100 ProfileLikelihoodCalculator.cxx:101 ProfileLikelihoodCalculator.cxx:102 ProfileLikelihoodCalculator.cxx:103 ProfileLikelihoodCalculator.cxx:104 ProfileLikelihoodCalculator.cxx:105 ProfileLikelihoodCalculator.cxx:106 ProfileLikelihoodCalculator.cxx:107 ProfileLikelihoodCalculator.cxx:108 ProfileLikelihoodCalculator.cxx:109 ProfileLikelihoodCalculator.cxx:110 ProfileLikelihoodCalculator.cxx:111 ProfileLikelihoodCalculator.cxx:112 ProfileLikelihoodCalculator.cxx:113 ProfileLikelihoodCalculator.cxx:114 ProfileLikelihoodCalculator.cxx:115 ProfileLikelihoodCalculator.cxx:116 ProfileLikelihoodCalculator.cxx:117 ProfileLikelihoodCalculator.cxx:118 ProfileLikelihoodCalculator.cxx:119 ProfileLikelihoodCalculator.cxx:120 ProfileLikelihoodCalculator.cxx:121 ProfileLikelihoodCalculator.cxx:122 ProfileLikelihoodCalculator.cxx:123 ProfileLikelihoodCalculator.cxx:124 ProfileLikelihoodCalculator.cxx:125 ProfileLikelihoodCalculator.cxx:126 ProfileLikelihoodCalculator.cxx:127 ProfileLikelihoodCalculator.cxx:128 ProfileLikelihoodCalculator.cxx:129 ProfileLikelihoodCalculator.cxx:130 ProfileLikelihoodCalculator.cxx:131 ProfileLikelihoodCalculator.cxx:132 ProfileLikelihoodCalculator.cxx:133 ProfileLikelihoodCalculator.cxx:134 ProfileLikelihoodCalculator.cxx:135 ProfileLikelihoodCalculator.cxx:136 ProfileLikelihoodCalculator.cxx:137 ProfileLikelihoodCalculator.cxx:138 ProfileLikelihoodCalculator.cxx:139 ProfileLikelihoodCalculator.cxx:140 ProfileLikelihoodCalculator.cxx:141 ProfileLikelihoodCalculator.cxx:142 ProfileLikelihoodCalculator.cxx:143 ProfileLikelihoodCalculator.cxx:144 ProfileLikelihoodCalculator.cxx:145 ProfileLikelihoodCalculator.cxx:146 ProfileLikelihoodCalculator.cxx:147 ProfileLikelihoodCalculator.cxx:148 ProfileLikelihoodCalculator.cxx:149 ProfileLikelihoodCalculator.cxx:150 ProfileLikelihoodCalculator.cxx:151 ProfileLikelihoodCalculator.cxx:152 ProfileLikelihoodCalculator.cxx:153 ProfileLikelihoodCalculator.cxx:154 ProfileLikelihoodCalculator.cxx:155 ProfileLikelihoodCalculator.cxx:156 ProfileLikelihoodCalculator.cxx:157 ProfileLikelihoodCalculator.cxx:158 ProfileLikelihoodCalculator.cxx:159 ProfileLikelihoodCalculator.cxx:160 ProfileLikelihoodCalculator.cxx:161 ProfileLikelihoodCalculator.cxx:162 ProfileLikelihoodCalculator.cxx:163 ProfileLikelihoodCalculator.cxx:164 ProfileLikelihoodCalculator.cxx:165 ProfileLikelihoodCalculator.cxx:166 ProfileLikelihoodCalculator.cxx:167 ProfileLikelihoodCalculator.cxx:168 ProfileLikelihoodCalculator.cxx:169 ProfileLikelihoodCalculator.cxx:170 ProfileLikelihoodCalculator.cxx:171 ProfileLikelihoodCalculator.cxx:172 ProfileLikelihoodCalculator.cxx:173 ProfileLikelihoodCalculator.cxx:174 ProfileLikelihoodCalculator.cxx:175 ProfileLikelihoodCalculator.cxx:176 ProfileLikelihoodCalculator.cxx:177 ProfileLikelihoodCalculator.cxx:178 ProfileLikelihoodCalculator.cxx:179 ProfileLikelihoodCalculator.cxx:180 ProfileLikelihoodCalculator.cxx:181 ProfileLikelihoodCalculator.cxx:182 ProfileLikelihoodCalculator.cxx:183 ProfileLikelihoodCalculator.cxx:184 ProfileLikelihoodCalculator.cxx:185 ProfileLikelihoodCalculator.cxx:186 ProfileLikelihoodCalculator.cxx:187 ProfileLikelihoodCalculator.cxx:188 ProfileLikelihoodCalculator.cxx:189 ProfileLikelihoodCalculator.cxx:190 ProfileLikelihoodCalculator.cxx:191 ProfileLikelihoodCalculator.cxx:192 ProfileLikelihoodCalculator.cxx:193 ProfileLikelihoodCalculator.cxx:194 ProfileLikelihoodCalculator.cxx:195 ProfileLikelihoodCalculator.cxx:196 ProfileLikelihoodCalculator.cxx:197 ProfileLikelihoodCalculator.cxx:198 ProfileLikelihoodCalculator.cxx:199 ProfileLikelihoodCalculator.cxx:200 ProfileLikelihoodCalculator.cxx:201 ProfileLikelihoodCalculator.cxx:202 ProfileLikelihoodCalculator.cxx:203 ProfileLikelihoodCalculator.cxx:204 ProfileLikelihoodCalculator.cxx:205 ProfileLikelihoodCalculator.cxx:206 ProfileLikelihoodCalculator.cxx:207 ProfileLikelihoodCalculator.cxx:208 ProfileLikelihoodCalculator.cxx:209 ProfileLikelihoodCalculator.cxx:210 ProfileLikelihoodCalculator.cxx:211 ProfileLikelihoodCalculator.cxx:212 ProfileLikelihoodCalculator.cxx:213 ProfileLikelihoodCalculator.cxx:214 ProfileLikelihoodCalculator.cxx:215 ProfileLikelihoodCalculator.cxx:216 ProfileLikelihoodCalculator.cxx:217 ProfileLikelihoodCalculator.cxx:218 ProfileLikelihoodCalculator.cxx:219 ProfileLikelihoodCalculator.cxx:220 ProfileLikelihoodCalculator.cxx:221 ProfileLikelihoodCalculator.cxx:222 ProfileLikelihoodCalculator.cxx:223 ProfileLikelihoodCalculator.cxx:224 ProfileLikelihoodCalculator.cxx:225 ProfileLikelihoodCalculator.cxx:226 ProfileLikelihoodCalculator.cxx:227 ProfileLikelihoodCalculator.cxx:228 ProfileLikelihoodCalculator.cxx:229 ProfileLikelihoodCalculator.cxx:230 ProfileLikelihoodCalculator.cxx:231 ProfileLikelihoodCalculator.cxx:232 ProfileLikelihoodCalculator.cxx:233 ProfileLikelihoodCalculator.cxx:234 ProfileLikelihoodCalculator.cxx:235 ProfileLikelihoodCalculator.cxx:236 ProfileLikelihoodCalculator.cxx:237 ProfileLikelihoodCalculator.cxx:238 ProfileLikelihoodCalculator.cxx:239 ProfileLikelihoodCalculator.cxx:240 ProfileLikelihoodCalculator.cxx:241 ProfileLikelihoodCalculator.cxx:242 ProfileLikelihoodCalculator.cxx:243 ProfileLikelihoodCalculator.cxx:244 ProfileLikelihoodCalculator.cxx:245 ProfileLikelihoodCalculator.cxx:246 ProfileLikelihoodCalculator.cxx:247 ProfileLikelihoodCalculator.cxx:248 ProfileLikelihoodCalculator.cxx:249 ProfileLikelihoodCalculator.cxx:250 ProfileLikelihoodCalculator.cxx:251 ProfileLikelihoodCalculator.cxx:252 ProfileLikelihoodCalculator.cxx:253 ProfileLikelihoodCalculator.cxx:254 ProfileLikelihoodCalculator.cxx:255 ProfileLikelihoodCalculator.cxx:256 ProfileLikelihoodCalculator.cxx:257 ProfileLikelihoodCalculator.cxx:258 ProfileLikelihoodCalculator.cxx:259 ProfileLikelihoodCalculator.cxx:260 ProfileLikelihoodCalculator.cxx:261 ProfileLikelihoodCalculator.cxx:262 ProfileLikelihoodCalculator.cxx:263 ProfileLikelihoodCalculator.cxx:264 ProfileLikelihoodCalculator.cxx:265 ProfileLikelihoodCalculator.cxx:266 ProfileLikelihoodCalculator.cxx:267 ProfileLikelihoodCalculator.cxx:268 ProfileLikelihoodCalculator.cxx:269 ProfileLikelihoodCalculator.cxx:270 ProfileLikelihoodCalculator.cxx:271 ProfileLikelihoodCalculator.cxx:272 ProfileLikelihoodCalculator.cxx:273 ProfileLikelihoodCalculator.cxx:274 ProfileLikelihoodCalculator.cxx:275 ProfileLikelihoodCalculator.cxx:276 ProfileLikelihoodCalculator.cxx:277 ProfileLikelihoodCalculator.cxx:278 ProfileLikelihoodCalculator.cxx:279 ProfileLikelihoodCalculator.cxx:280 ProfileLikelihoodCalculator.cxx:281 ProfileLikelihoodCalculator.cxx:282 ProfileLikelihoodCalculator.cxx:283 ProfileLikelihoodCalculator.cxx:284 ProfileLikelihoodCalculator.cxx:285 ProfileLikelihoodCalculator.cxx:286 ProfileLikelihoodCalculator.cxx:287 ProfileLikelihoodCalculator.cxx:288 ProfileLikelihoodCalculator.cxx:289 ProfileLikelihoodCalculator.cxx:290 ProfileLikelihoodCalculator.cxx:291 ProfileLikelihoodCalculator.cxx:292 ProfileLikelihoodCalculator.cxx:293 ProfileLikelihoodCalculator.cxx:294 ProfileLikelihoodCalculator.cxx:295 ProfileLikelihoodCalculator.cxx:296 ProfileLikelihoodCalculator.cxx:297 ProfileLikelihoodCalculator.cxx:298 ProfileLikelihoodCalculator.cxx:299 ProfileLikelihoodCalculator.cxx:300 ProfileLikelihoodCalculator.cxx:301 ProfileLikelihoodCalculator.cxx:302 ProfileLikelihoodCalculator.cxx:303 ProfileLikelihoodCalculator.cxx:304 ProfileLikelihoodCalculator.cxx:305 ProfileLikelihoodCalculator.cxx:306 ProfileLikelihoodCalculator.cxx:307 ProfileLikelihoodCalculator.cxx:308 ProfileLikelihoodCalculator.cxx:309 ProfileLikelihoodCalculator.cxx:310 ProfileLikelihoodCalculator.cxx:311 ProfileLikelihoodCalculator.cxx:312 ProfileLikelihoodCalculator.cxx:313 ProfileLikelihoodCalculator.cxx:314 ProfileLikelihoodCalculator.cxx:315 ProfileLikelihoodCalculator.cxx:316 ProfileLikelihoodCalculator.cxx:317 ProfileLikelihoodCalculator.cxx:318 ProfileLikelihoodCalculator.cxx:319 ProfileLikelihoodCalculator.cxx:320 ProfileLikelihoodCalculator.cxx:321 ProfileLikelihoodCalculator.cxx:322 ProfileLikelihoodCalculator.cxx:323 ProfileLikelihoodCalculator.cxx:324 ProfileLikelihoodCalculator.cxx:325 ProfileLikelihoodCalculator.cxx:326 ProfileLikelihoodCalculator.cxx:327 ProfileLikelihoodCalculator.cxx:328 ProfileLikelihoodCalculator.cxx:329 ProfileLikelihoodCalculator.cxx:330 ProfileLikelihoodCalculator.cxx:331 ProfileLikelihoodCalculator.cxx:332 ProfileLikelihoodCalculator.cxx:333 ProfileLikelihoodCalculator.cxx:334 ProfileLikelihoodCalculator.cxx:335 ProfileLikelihoodCalculator.cxx:336 ProfileLikelihoodCalculator.cxx:337 ProfileLikelihoodCalculator.cxx:338 ProfileLikelihoodCalculator.cxx:339 ProfileLikelihoodCalculator.cxx:340 ProfileLikelihoodCalculator.cxx:341 ProfileLikelihoodCalculator.cxx:342 ProfileLikelihoodCalculator.cxx:343 ProfileLikelihoodCalculator.cxx:344 ProfileLikelihoodCalculator.cxx:345 ProfileLikelihoodCalculator.cxx:346 ProfileLikelihoodCalculator.cxx:347 ProfileLikelihoodCalculator.cxx:348 ProfileLikelihoodCalculator.cxx:349 ProfileLikelihoodCalculator.cxx:350 ProfileLikelihoodCalculator.cxx:351 ProfileLikelihoodCalculator.cxx:352 ProfileLikelihoodCalculator.cxx:353 ProfileLikelihoodCalculator.cxx:354 ProfileLikelihoodCalculator.cxx:355 ProfileLikelihoodCalculator.cxx:356 ProfileLikelihoodCalculator.cxx:357 ProfileLikelihoodCalculator.cxx:358 ProfileLikelihoodCalculator.cxx:359 ProfileLikelihoodCalculator.cxx:360 ProfileLikelihoodCalculator.cxx:361 ProfileLikelihoodCalculator.cxx:362 ProfileLikelihoodCalculator.cxx:363 ProfileLikelihoodCalculator.cxx:364 ProfileLikelihoodCalculator.cxx:365 ProfileLikelihoodCalculator.cxx:366 ProfileLikelihoodCalculator.cxx:367 ProfileLikelihoodCalculator.cxx:368 ProfileLikelihoodCalculator.cxx:369 ProfileLikelihoodCalculator.cxx:370 ProfileLikelihoodCalculator.cxx:371 ProfileLikelihoodCalculator.cxx:372 ProfileLikelihoodCalculator.cxx:373 ProfileLikelihoodCalculator.cxx:374 ProfileLikelihoodCalculator.cxx:375 ProfileLikelihoodCalculator.cxx:376 ProfileLikelihoodCalculator.cxx:377 ProfileLikelihoodCalculator.cxx:378 ProfileLikelihoodCalculator.cxx:379 ProfileLikelihoodCalculator.cxx:380 ProfileLikelihoodCalculator.cxx:381 ProfileLikelihoodCalculator.cxx:382 ProfileLikelihoodCalculator.cxx:383 ProfileLikelihoodCalculator.cxx:384 ProfileLikelihoodCalculator.cxx:385 ProfileLikelihoodCalculator.cxx:386 ProfileLikelihoodCalculator.cxx:387 ProfileLikelihoodCalculator.cxx:388 ProfileLikelihoodCalculator.cxx:389 ProfileLikelihoodCalculator.cxx:390 ProfileLikelihoodCalculator.cxx:391 ProfileLikelihoodCalculator.cxx:392 ProfileLikelihoodCalculator.cxx:393 ProfileLikelihoodCalculator.cxx:394 ProfileLikelihoodCalculator.cxx:395 ProfileLikelihoodCalculator.cxx:396 ProfileLikelihoodCalculator.cxx:397 ProfileLikelihoodCalculator.cxx:398 ProfileLikelihoodCalculator.cxx:399 ProfileLikelihoodCalculator.cxx:400 ProfileLikelihoodCalculator.cxx:401 ProfileLikelihoodCalculator.cxx:402 ProfileLikelihoodCalculator.cxx:403 ProfileLikelihoodCalculator.cxx:404 ProfileLikelihoodCalculator.cxx:405 ProfileLikelihoodCalculator.cxx:406 ProfileLikelihoodCalculator.cxx:407 ProfileLikelihoodCalculator.cxx:408 ProfileLikelihoodCalculator.cxx:409