/usr/include/root/RooAbsMCStudyModule.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 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | /*****************************************************************************
* Project: RooFit *
* Package: RooFitCore *
* File: $Id: RooAbsMCStudyModule.h,v 1.2 2007/05/11 09:11:30 verkerke Exp $
* Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* *
* Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. *
* *
* Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
*****************************************************************************/
#ifndef ROO_ABS_MC_STUDY_MODULE
#define ROO_ABS_MC_STUDY_MODULE
#include "TList.h"
#include "RooArgSet.h"
#include "RooMCStudy.h"
class RooAbsPdf;
class RooDataSet ;
class RooAbsData ;
class RooAbsGenContext ;
class RooFitResult ;
class RooPlot ;
class RooRealVar ;
class RooAbsMCStudyModule : public TNamed {
public:
RooAbsMCStudyModule(const char* name, const char* title) ;
RooAbsMCStudyModule(const RooAbsMCStudyModule& other) ;
virtual ~RooAbsMCStudyModule() {} ;
// Initializer method called upon attachement to given RooMCStudy object
Bool_t doInitializeInstance(RooMCStudy& /*study*/) ;
virtual Bool_t initializeInstance() {
// Initializer called immediately after attachment to RooMCStudy object and initialization of module base class
return kTRUE ;
}
virtual Bool_t initializeRun(Int_t /*numSamples*/) {
// Method called at the beginning of each RooMCStudy run
return kTRUE ;
}
virtual RooDataSet* finalizeRun() {
// Method called at the end of each RooMCStudy run. If a RooDataSet is returned, it must have a length equal to
// the number of toy experiments performed and will merged with the fitpar dataset of RooMCStudy.
return 0 ;
}
virtual Bool_t processBeforeGen(Int_t /*sampleNum*/) {
// Method called after resetting of generator parameters to initial values and before call to generator context
// Any modifications to generator parameters will affect next generation operation (only)
return kTRUE ;
}
virtual Bool_t processBetweenGenAndFit(Int_t /*sampleNum*/) {
// Method called after generation of toy data sample and resetting of fit parameters to initial values and before
// actual fit is performed. Any modifications to fit parameters will apply to next fit operation. Note that setConstant
// flag of fit parameters are not explicitly reset by RooMCStudy, so any changes made to these flags here will persist
return kTRUE ;
}
virtual Bool_t processAfterFit(Int_t /*sampleNum*/) {
// Method called after fit has been performed.
return kTRUE ;
}
protected:
// Interface methods to RooMCStudy objects,
// which are only functional after module has been attached to a RooMCStudy object
RooFitResult* refit(RooAbsData* inGenSample=0) {
// Refit model using orignal or specified data sample
if (_mcs) return _mcs->refit(inGenSample) ; else return 0 ;
}
RooAbsData* genSample() {
// Return generate sample
return _mcs ? _mcs->_genSample : 0 ;
}
RooAbsPdf* genModel() {
// Return generator pdf
return _mcs ? _mcs->_genModel : 0 ;
}
// Accessor for generator context, generator parameters, prototype data and projected dependents
RooAbsGenContext* genContext() {
// Return generator context
return _mcs ? _mcs->_genContext : 0 ;
}
RooArgSet* genInitParams() {
// Return initial value of generator model parameters
return _mcs ? _mcs->_genInitParams : 0 ;
}
RooArgSet* genParams() {
// Return current value of generator model parameters
return _mcs ? _mcs->_genParams : 0 ;
}
const RooDataSet* genProtoData() {
// Return generator prototype data provided by user
return _mcs ? _mcs->_genProtoData : 0 ;
}
RooArgSet* projDeps() {
// Return projected observables
return _mcs ? &_mcs->_projDeps : 0 ;
}
// Accessors for fit observables, fit model, current and initial fit parameters and NLL value
RooArgSet* dependents() {
// Return fit model observables
return _mcs ? &_mcs->_dependents : 0 ;
}
RooArgSet* allDependents() {
// Returna all observables
return _mcs ? &_mcs->_allDependents : 0 ;
}
RooAbsPdf* fitModel() {
// Return fit model
return _mcs ? _mcs->_fitModel : 0 ;
}
RooArgSet* fitInitParams() {
// Return initial value of parameters of fit model
return _mcs ? _mcs->_fitInitParams : 0 ;
}
RooArgSet* fitParams() {
// Return current value of parameters of fit model
return _mcs ? _mcs-> _fitParams : 0 ;
}
RooRealVar* nllVar() {
// Return pointer to RooRealVar holding minimized -log(L) value
return _mcs ? _mcs->_nllVar : 0 ;
}
// Accessors for fit options, generator annd MCstudy configuration flags
const char* fitOptions() {
// Return fit option string provided user
return _mcs ? _mcs->_fitOptions.Data() : 0 ;
}
RooLinkedList* fitOptList() {
// Return list of fit options provided by user
return _mcs ? &_mcs->_fitOptList : 0 ;
}
Bool_t extendedGen() {
// If true extended mode generation is requested
return _mcs ? _mcs->_extendedGen : 0 ;
}
Bool_t binGenData() {
// If true binning of data between generating and fitting is requested
return _mcs ? _mcs->_binGenData : 0 ;
}
Double_t numExpGen() {
// Return expected number of events from generator model
return _mcs ? _mcs->_nExpGen : 0 ;
}
Bool_t randProto() {
// If true randomization of prototype data order is requested
return _mcs ? _mcs->_randProto : 0 ;
}
Bool_t verboseGen() {
// If true verbose message in the generation step is requested
return _mcs ? _mcs->_verboseGen : 0 ;
}
private:
RooMCStudy* _mcs ; // Pointer to RooMCStudy object module is attached to
ClassDef(RooAbsMCStudyModule,0) // Monte Carlo study manager add-on module
} ;
#endif
|