/usr/include/root/RooStats/FrequentistCalculator.h is in libroot-roofit-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | // @(#)root/roostats:$Id: FrequentistCalculator.h 37084 2010-11-29 21:37:13Z moneta $
// Author: Sven Kreiss, Kyle Cranmer Nov 2010
/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOSTATS_FrequentistCalculator
#define ROOSTATS_FrequentistCalculator
//_________________________________________________
/*
BEGIN_HTML
<p>
The use of ToyMCSampler as the TestStatSampler is assumed.
</p>
END_HTML
*/
//
#ifndef ROOSTATS_HypoTestCalculatorGeneric
#include "RooStats/HypoTestCalculatorGeneric.h"
#endif
#ifndef ROOSTATS_ToyMCSampler
#include "RooStats/ToyMCSampler.h"
#endif
#ifndef ROOSTATS_DetailedOutputAggregator
#include "RooStats/DetailedOutputAggregator.h"
#endif
#include "RooFitResult.h"
namespace RooStats {
class FrequentistCalculator : public HypoTestCalculatorGeneric {
public:
FrequentistCalculator(
const RooAbsData &data,
const ModelConfig &altModel,
const ModelConfig &nullModel,
TestStatSampler* sampler=0
) :
HypoTestCalculatorGeneric(data, altModel, nullModel, sampler),
fConditionalMLEsNull(NULL),
fConditionalMLEsAlt(NULL),
fNToysNull(-1),
fNToysAlt(-1),
fNToysNullTail(0),
fNToysAltTail(0),
fFitInfo(NULL),
fStoreFitInfo(false)
{
}
~FrequentistCalculator() {
if( fConditionalMLEsNull ) delete fConditionalMLEsNull;
if( fConditionalMLEsAlt ) delete fConditionalMLEsAlt;
if( fFitInfo ) delete fFitInfo;
}
// set number of toys
void SetToys(int toysNull, int toysAlt) { fNToysNull = toysNull; fNToysAlt = toysAlt; }
// set least number of toys in tails
void SetNToysInTails(int toysNull, int toysAlt) { fNToysNullTail = toysNull; fNToysAltTail = toysAlt; }
// set given nuisance parameters to a specific value that will be used instead of their
// profiled value for Null toys
void SetConditionalMLEsNull( const RooArgSet* c ) {
if( fConditionalMLEsNull ) delete fConditionalMLEsNull;
if( c ) fConditionalMLEsNull = (const RooArgSet*)c->snapshot();
else fConditionalMLEsNull = NULL;
}
// set given nuisance parameters to a specific value that will be used instead of their
// profiled value for Alternate toys
void SetConditionalMLEsAlt( const RooArgSet* c ) {
if( fConditionalMLEsAlt ) delete fConditionalMLEsAlt;
if( c ) fConditionalMLEsAlt = (const RooArgSet*)c->snapshot();
else fConditionalMLEsAlt = NULL;
}
void StoreFitInfo(bool val = true) {
fStoreFitInfo = val;
}
const RooArgSet* GetFitInfo() const {
return fFitInfo;
}
protected:
// configure TestStatSampler for the Null run
int PreNullHook(RooArgSet *parameterPoint, double obsTestStat) const;
// configure TestStatSampler for the Alt run
int PreAltHook(RooArgSet *parameterPoint, double obsTestStat) const;
void PreHook() const;
void PostHook() const;
protected:
// MLE inputs
const RooArgSet* fConditionalMLEsNull;
const RooArgSet* fConditionalMLEsAlt;
// different number of toys for null and alt
int fNToysNull;
int fNToysAlt;
// adaptive sampling
int fNToysNullTail;
int fNToysAltTail;
private:
mutable RooArgSet* fFitInfo;
bool fStoreFitInfo;
protected:
ClassDef(FrequentistCalculator,1)
};
}
#endif
|