// RooRandomizeParamMCSModule is an add-on modules to RooMCStudy that
// allows you to randomize input generation parameters. Randomized generation
// parameters can be sampled from a uniform or Gaussian distribution.
// For every randomized parameter, an extra variable is added to
// RooMCStudy::fitParDataSet() named <tt><parname>_gen</tt> that indicates the actual
// value used for generation for each trial.
// <p>
// You can also choose to randomize the sum of N parameters, rather
// than a single parameter. In that case common multiplicative scale
// factor is applied to each component to bring the sum to the desired
// target value taken from either uniform or Gaussian sampling. This
// latter option is for example useful if you want to change the total
// number of expected events of an extended p.d.f
// END_HTML
#include "Riostream.h"
#include "RooDataSet.h"
#include "RooRealVar.h"
#include "RooRandom.h"
#include "TString.h"
#include "RooFit.h"
#include "RooFitResult.h"
#include "RooAddition.h"
#include "RooMsgService.h"
#include "RooRandomizeParamMCSModule.h"
using namespace std ;
ClassImp(RooRandomizeParamMCSModule)
;
RooRandomizeParamMCSModule::RooRandomizeParamMCSModule() :
RooAbsMCStudyModule("RooRandomizeParamMCSModule","RooRandomizeParamMCSModule"), _data(0)
{
}
RooRandomizeParamMCSModule::RooRandomizeParamMCSModule(const RooRandomizeParamMCSModule& other) :
RooAbsMCStudyModule(other),
_unifParams(other._unifParams),
_gausParams(other._gausParams),
_data(0)
{
}
RooRandomizeParamMCSModule:: ~RooRandomizeParamMCSModule()
{
if (_data) {
delete _data ;
}
}
void RooRandomizeParamMCSModule::sampleUniform(RooRealVar& param, Double_t lo, Double_t hi)
{
if (genParams()) {
RooRealVar* actualPar = static_cast<RooRealVar*>(genParams()->find(param.GetName())) ;
if (!actualPar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << param.GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
return ;
}
}
_unifParams.push_back(UniParam(¶m,lo,hi)) ;
}
void RooRandomizeParamMCSModule::sampleGaussian(RooRealVar& param, Double_t mean, Double_t sigma)
{
if (genParams()) {
RooRealVar* actualPar = static_cast<RooRealVar*>(genParams()->find(param.GetName())) ;
if (!actualPar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << param.GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
return ;
}
}
_gausParams.push_back(GausParam(¶m,mean,sigma)) ;
}
void RooRandomizeParamMCSModule::sampleSumUniform(const RooArgSet& paramSet, Double_t lo, Double_t hi)
{
RooArgSet okset ;
TIterator* iter = paramSet.createIterator() ;
RooAbsArg* arg ;
while((arg=(RooAbsArg*)iter->Next())) {
RooRealVar* rrv = dynamic_cast<RooRealVar*>(arg) ;
if (!rrv) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::sampleSumUniform() ERROR: input parameter " << arg->GetName() << " is not a RooRealVar and is ignored" << endl ;
continue;
}
okset.add(*rrv) ;
}
delete iter ;
RooArgSet okset2 ;
if (genParams()) {
TIterator* psiter = okset.createIterator() ;
RooAbsArg* arg2 ;
while ((arg2=(RooAbsArg*)psiter->Next())) {
RooRealVar* actualVar= static_cast<RooRealVar*>(genParams()->find(arg2->GetName())) ;
if (!actualVar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::sampleSumUniform: variable " << arg2->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
} else {
okset2.add(*actualVar) ;
}
}
delete psiter ;
} else {
okset2.add(okset) ;
}
_unifParamSets.push_back(UniParamSet(okset2,lo,hi)) ;
}
void RooRandomizeParamMCSModule::sampleSumGauss(const RooArgSet& paramSet, Double_t mean, Double_t sigma)
{
RooArgSet okset ;
TIterator* iter = paramSet.createIterator() ;
RooAbsArg* arg ;
while((arg=(RooAbsArg*)iter->Next())) {
RooRealVar* rrv = dynamic_cast<RooRealVar*>(arg) ;
if (!rrv) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::sampleSumGauss() ERROR: input parameter " << arg->GetName() << " is not a RooRealVar and is ignored" << endl ;
continue;
}
okset.add(*rrv) ;
}
RooArgSet okset2 ;
if (genParams()) {
TIterator* psiter = okset.createIterator() ;
RooAbsArg* arg2 ;
while ((arg2=(RooAbsArg*)psiter->Next())) {
RooRealVar* actualVar= static_cast<RooRealVar*>(genParams()->find(arg2->GetName())) ;
if (!actualVar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::sampleSumUniform: variable " << arg2->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
} else {
okset2.add(*actualVar) ;
}
}
delete psiter ;
} else {
okset2.add(okset) ;
}
_gausParamSets.push_back(GausParamSet(okset,mean,sigma)) ;
}
Bool_t RooRandomizeParamMCSModule::initializeInstance()
{
std::list<UniParam>::iterator uiter ;
for (uiter= _unifParams.begin() ; uiter!= _unifParams.end() ; ++uiter) {
RooRealVar* actualPar = static_cast<RooRealVar*>(genParams()->find(uiter->_param->GetName())) ;
if (!actualPar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << uiter->_param->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
uiter = _unifParams.erase(uiter) ;
continue ;
}
uiter->_param = actualPar ;
TString parName = Form("%s_gen",uiter->_param->GetName()) ;
TString parTitle = Form("%s as generated",uiter->_param->GetTitle()) ;
RooRealVar* par_gen = new RooRealVar(parName.Data(),parTitle.Data(),0) ;
_genParSet.addOwned(*par_gen) ;
}
std::list<UniParam>::iterator giter ;
for (giter= _unifParams.begin() ; giter!= _unifParams.end() ; ++giter) {
RooRealVar* actualPar = static_cast<RooRealVar*>(genParams()->find(giter->_param->GetName())) ;
if (!actualPar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << giter->_param->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
giter = _unifParams.erase(giter) ;
continue ;
}
giter->_param = actualPar ;
TString parName = Form("%s_gen",giter->_param->GetName()) ;
TString parTitle = Form("%s as generated",giter->_param->GetTitle()) ;
RooRealVar* par_gen = new RooRealVar(parName.Data(),parTitle.Data(),0) ;
_genParSet.addOwned(*par_gen) ;
}
std::list<UniParamSet>::iterator usiter ;
for (usiter= _unifParamSets.begin() ; usiter!= _unifParamSets.end() ; ++usiter) {
RooArgSet actualPSet ;
TIterator* psiter = usiter->_pset.createIterator() ;
RooAbsArg* arg ;
while ((arg=(RooAbsArg*)psiter->Next())) {
RooRealVar* actualVar= static_cast<RooRealVar*>(genParams()->find(arg->GetName())) ;
if (!actualVar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << arg->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
} else {
actualPSet.add(*actualVar) ;
}
}
delete psiter ;
usiter->_pset.removeAll() ;
usiter->_pset.add(actualPSet) ;
TIterator* iter = usiter->_pset.createIterator() ;
RooRealVar* param ;
while((param=(RooRealVar*)iter->Next())) {
TString parName = Form("%s_gen",param->GetName()) ;
TString parTitle = Form("%s as generated",param->GetTitle()) ;
RooRealVar* par_gen = new RooRealVar(parName.Data(),parTitle.Data(),0) ;
_genParSet.addOwned(*par_gen) ;
}
delete iter ;
}
std::list<GausParamSet>::iterator ugiter ;
for (ugiter= _gausParamSets.begin() ; ugiter!= _gausParamSets.end() ; ++ugiter) {
RooArgSet actualPSet ;
TIterator* psiter = ugiter->_pset.createIterator() ;
RooAbsArg* arg ;
while ((arg=(RooAbsArg*)psiter->Next())) {
RooRealVar* actualVar= static_cast<RooRealVar*>(genParams()->find(arg->GetName())) ;
if (!actualVar) {
oocoutW((TObject*)0,InputArguments) << "RooRandomizeParamMCSModule::initializeInstance: variable " << arg->GetName() << " is not a parameter of RooMCStudy model and is ignored!" << endl ;
} else {
actualPSet.add(*actualVar) ;
}
}
ugiter->_pset.removeAll() ;
ugiter->_pset.add(actualPSet) ;
TIterator* iter = ugiter->_pset.createIterator() ;
RooRealVar* param ;
while((param=(RooRealVar*)iter->Next())) {
TString parName = Form("%s_gen",param->GetName()) ;
TString parTitle = Form("%s as generated",param->GetTitle()) ;
RooRealVar* par_gen = new RooRealVar(parName.Data(),parTitle.Data(),0) ;
_genParSet.addOwned(*par_gen) ;
}
}
_data = new RooDataSet("DeltaLLSigData","Additional data for Delta(-log(L)) study",_genParSet) ;
return kTRUE ;
}
Bool_t RooRandomizeParamMCSModule::initializeRun(Int_t )
{
_data->reset() ;
return kTRUE ;
}
Bool_t RooRandomizeParamMCSModule::processBeforeGen(Int_t )
{
std::list<UniParam>::iterator uiter ;
for (uiter= _unifParams.begin() ; uiter!= _unifParams.end() ; ++uiter) {
Double_t newVal = RooRandom::randomGenerator()->Uniform(uiter->_lo,uiter->_hi) ;
oocoutE((TObject*)0,Generation) << "RooRandomizeParamMCSModule::processBeforeGen: applying uniform smearing to generator parameter "
<< uiter->_param->GetName() << " in range [" << uiter->_lo << "," << uiter->_hi << "], chosen value for this sample is " << newVal << endl ;
uiter->_param->setVal(newVal) ;
RooRealVar* genpar = static_cast<RooRealVar*>(_genParSet.find(Form("%s_gen",uiter->_param->GetName()))) ;
genpar->setVal(newVal) ;
}
std::list<GausParam>::iterator giter ;
for (giter= _gausParams.begin() ; giter!= _gausParams.end() ; ++giter) {
Double_t newVal = RooRandom::randomGenerator()->Gaus(giter->_mean,giter->_sigma) ;
oocoutI((TObject*)0,Generation) << "RooRandomizeParamMCSModule::processBeforeGen: applying gaussian smearing to generator parameter "
<< giter->_param->GetName() << " with a mean of " << giter->_mean << " and a width of " << giter->_sigma << ", chosen value for this sample is " << newVal << endl ;
giter->_param->setVal(newVal) ;
RooRealVar* genpar = static_cast<RooRealVar*>(_genParSet.find(Form("%s_gen",giter->_param->GetName()))) ;
genpar->setVal(newVal) ;
}
std::list<UniParamSet>::iterator usiter ;
for (usiter= _unifParamSets.begin() ; usiter!= _unifParamSets.end() ; ++usiter) {
Double_t newVal = RooRandom::randomGenerator()->Uniform(usiter->_lo,usiter->_hi) ;
oocoutI((TObject*)0,Generation) << "RooRandomizeParamMCSModule::processBeforeGen: applying uniform smearing to sum of set of generator parameters "
<< usiter->_pset
<< " in range [" << usiter->_lo << "," << usiter->_hi << "], chosen sum value for this sample is " << newVal << endl ;
RooAddition sumVal("sumVal","sumVal",usiter->_pset) ;
Double_t compScaleFactor = newVal/sumVal.getVal() ;
TIterator* iter = usiter->_pset.createIterator() ;
RooRealVar* param ;
while((param=(RooRealVar*)iter->Next())) {
param->setVal(param->getVal()*compScaleFactor) ;
RooRealVar* genpar = static_cast<RooRealVar*>(_genParSet.find(Form("%s_gen",param->GetName()))) ;
genpar->setVal(param->getVal()) ;
}
delete iter ;
}
std::list<GausParamSet>::iterator gsiter ;
for (gsiter= _gausParamSets.begin() ; gsiter!= _gausParamSets.end() ; ++gsiter) {
Double_t newVal = RooRandom::randomGenerator()->Gaus(gsiter->_mean,gsiter->_sigma) ;
oocoutI((TObject*)0,Generation) << "RooRandomizeParamMCSModule::processBeforeGen: applying gaussian smearing to sum of set of generator parameters "
<< gsiter->_pset
<< " with a mean of " << gsiter->_mean << " and a width of " << gsiter->_sigma
<< ", chosen value for this sample is " << newVal << endl ;
RooAddition sumVal("sumVal","sumVal",gsiter->_pset) ;
Double_t compScaleFactor = newVal/sumVal.getVal() ;
TIterator* iter = gsiter->_pset.createIterator() ;
RooRealVar* param ;
while((param=(RooRealVar*)iter->Next())) {
param->setVal(param->getVal()*compScaleFactor) ;
RooRealVar* genpar = static_cast<RooRealVar*>(_genParSet.find(Form("%s_gen",param->GetName()))) ;
genpar->setVal(param->getVal()) ;
}
}
_data->add(_genParSet) ;
return kTRUE ;
}
RooDataSet* RooRandomizeParamMCSModule::finalizeRun()
{
return _data ;
}
RooRandomizeParamMCSModule.cxx:1 RooRandomizeParamMCSModule.cxx:2 RooRandomizeParamMCSModule.cxx:3 RooRandomizeParamMCSModule.cxx:4 RooRandomizeParamMCSModule.cxx:5 RooRandomizeParamMCSModule.cxx:6 RooRandomizeParamMCSModule.cxx:7 RooRandomizeParamMCSModule.cxx:8 RooRandomizeParamMCSModule.cxx:9 RooRandomizeParamMCSModule.cxx:10 RooRandomizeParamMCSModule.cxx:11 RooRandomizeParamMCSModule.cxx:12 RooRandomizeParamMCSModule.cxx:13 RooRandomizeParamMCSModule.cxx:14 RooRandomizeParamMCSModule.cxx:15 RooRandomizeParamMCSModule.cxx:16 RooRandomizeParamMCSModule.cxx:17 RooRandomizeParamMCSModule.cxx:18 RooRandomizeParamMCSModule.cxx:19 RooRandomizeParamMCSModule.cxx:20 RooRandomizeParamMCSModule.cxx:21 RooRandomizeParamMCSModule.cxx:22 RooRandomizeParamMCSModule.cxx:23 RooRandomizeParamMCSModule.cxx:24 RooRandomizeParamMCSModule.cxx:25 RooRandomizeParamMCSModule.cxx:26 RooRandomizeParamMCSModule.cxx:27 RooRandomizeParamMCSModule.cxx:28 RooRandomizeParamMCSModule.cxx:29 RooRandomizeParamMCSModule.cxx:30 RooRandomizeParamMCSModule.cxx:31 RooRandomizeParamMCSModule.cxx:32 RooRandomizeParamMCSModule.cxx:33 RooRandomizeParamMCSModule.cxx:34 RooRandomizeParamMCSModule.cxx:35 RooRandomizeParamMCSModule.cxx:36 RooRandomizeParamMCSModule.cxx:37 RooRandomizeParamMCSModule.cxx:38 RooRandomizeParamMCSModule.cxx:39 RooRandomizeParamMCSModule.cxx:40 RooRandomizeParamMCSModule.cxx:41 RooRandomizeParamMCSModule.cxx:42 RooRandomizeParamMCSModule.cxx:43 RooRandomizeParamMCSModule.cxx:44 RooRandomizeParamMCSModule.cxx:45 RooRandomizeParamMCSModule.cxx:46 RooRandomizeParamMCSModule.cxx:47 RooRandomizeParamMCSModule.cxx:48 RooRandomizeParamMCSModule.cxx:49 RooRandomizeParamMCSModule.cxx:50 RooRandomizeParamMCSModule.cxx:51 RooRandomizeParamMCSModule.cxx:52 RooRandomizeParamMCSModule.cxx:53 RooRandomizeParamMCSModule.cxx:54 RooRandomizeParamMCSModule.cxx:55 RooRandomizeParamMCSModule.cxx:56 RooRandomizeParamMCSModule.cxx:57 RooRandomizeParamMCSModule.cxx:58 RooRandomizeParamMCSModule.cxx:59 RooRandomizeParamMCSModule.cxx:60 RooRandomizeParamMCSModule.cxx:61 RooRandomizeParamMCSModule.cxx:62 RooRandomizeParamMCSModule.cxx:63 RooRandomizeParamMCSModule.cxx:64 RooRandomizeParamMCSModule.cxx:65 RooRandomizeParamMCSModule.cxx:66 RooRandomizeParamMCSModule.cxx:67 RooRandomizeParamMCSModule.cxx:68 RooRandomizeParamMCSModule.cxx:69 RooRandomizeParamMCSModule.cxx:70 RooRandomizeParamMCSModule.cxx:71 RooRandomizeParamMCSModule.cxx:72 RooRandomizeParamMCSModule.cxx:73 RooRandomizeParamMCSModule.cxx:74 RooRandomizeParamMCSModule.cxx:75 RooRandomizeParamMCSModule.cxx:76 RooRandomizeParamMCSModule.cxx:77 RooRandomizeParamMCSModule.cxx:78 RooRandomizeParamMCSModule.cxx:79 RooRandomizeParamMCSModule.cxx:80 RooRandomizeParamMCSModule.cxx:81 RooRandomizeParamMCSModule.cxx:82 RooRandomizeParamMCSModule.cxx:83 RooRandomizeParamMCSModule.cxx:84 RooRandomizeParamMCSModule.cxx:85 RooRandomizeParamMCSModule.cxx:86 RooRandomizeParamMCSModule.cxx:87 RooRandomizeParamMCSModule.cxx:88 RooRandomizeParamMCSModule.cxx:89 RooRandomizeParamMCSModule.cxx:90 RooRandomizeParamMCSModule.cxx:91 RooRandomizeParamMCSModule.cxx:92 RooRandomizeParamMCSModule.cxx:93 RooRandomizeParamMCSModule.cxx:94 RooRandomizeParamMCSModule.cxx:95 RooRandomizeParamMCSModule.cxx:96 RooRandomizeParamMCSModule.cxx:97 RooRandomizeParamMCSModule.cxx:98 RooRandomizeParamMCSModule.cxx:99 RooRandomizeParamMCSModule.cxx:100 RooRandomizeParamMCSModule.cxx:101 RooRandomizeParamMCSModule.cxx:102 RooRandomizeParamMCSModule.cxx:103 RooRandomizeParamMCSModule.cxx:104 RooRandomizeParamMCSModule.cxx:105 RooRandomizeParamMCSModule.cxx:106 RooRandomizeParamMCSModule.cxx:107 RooRandomizeParamMCSModule.cxx:108 RooRandomizeParamMCSModule.cxx:109 RooRandomizeParamMCSModule.cxx:110 RooRandomizeParamMCSModule.cxx:111 RooRandomizeParamMCSModule.cxx:112 RooRandomizeParamMCSModule.cxx:113 RooRandomizeParamMCSModule.cxx:114 RooRandomizeParamMCSModule.cxx:115 RooRandomizeParamMCSModule.cxx:116 RooRandomizeParamMCSModule.cxx:117 RooRandomizeParamMCSModule.cxx:118 RooRandomizeParamMCSModule.cxx:119 RooRandomizeParamMCSModule.cxx:120 RooRandomizeParamMCSModule.cxx:121 RooRandomizeParamMCSModule.cxx:122 RooRandomizeParamMCSModule.cxx:123 RooRandomizeParamMCSModule.cxx:124 RooRandomizeParamMCSModule.cxx:125 RooRandomizeParamMCSModule.cxx:126 RooRandomizeParamMCSModule.cxx:127 RooRandomizeParamMCSModule.cxx:128 RooRandomizeParamMCSModule.cxx:129 RooRandomizeParamMCSModule.cxx:130 RooRandomizeParamMCSModule.cxx:131 RooRandomizeParamMCSModule.cxx:132 RooRandomizeParamMCSModule.cxx:133 RooRandomizeParamMCSModule.cxx:134 RooRandomizeParamMCSModule.cxx:135 RooRandomizeParamMCSModule.cxx:136 RooRandomizeParamMCSModule.cxx:137 RooRandomizeParamMCSModule.cxx:138 RooRandomizeParamMCSModule.cxx:139 RooRandomizeParamMCSModule.cxx:140 RooRandomizeParamMCSModule.cxx:141 RooRandomizeParamMCSModule.cxx:142 RooRandomizeParamMCSModule.cxx:143 RooRandomizeParamMCSModule.cxx:144 RooRandomizeParamMCSModule.cxx:145 RooRandomizeParamMCSModule.cxx:146 RooRandomizeParamMCSModule.cxx:147 RooRandomizeParamMCSModule.cxx:148 RooRandomizeParamMCSModule.cxx:149 RooRandomizeParamMCSModule.cxx:150 RooRandomizeParamMCSModule.cxx:151 RooRandomizeParamMCSModule.cxx:152 RooRandomizeParamMCSModule.cxx:153 RooRandomizeParamMCSModule.cxx:154 RooRandomizeParamMCSModule.cxx:155 RooRandomizeParamMCSModule.cxx:156 RooRandomizeParamMCSModule.cxx:157 RooRandomizeParamMCSModule.cxx:158 RooRandomizeParamMCSModule.cxx:159 RooRandomizeParamMCSModule.cxx:160 RooRandomizeParamMCSModule.cxx:161 RooRandomizeParamMCSModule.cxx:162 RooRandomizeParamMCSModule.cxx:163 RooRandomizeParamMCSModule.cxx:164 RooRandomizeParamMCSModule.cxx:165 RooRandomizeParamMCSModule.cxx:166 RooRandomizeParamMCSModule.cxx:167 RooRandomizeParamMCSModule.cxx:168 RooRandomizeParamMCSModule.cxx:169 RooRandomizeParamMCSModule.cxx:170 RooRandomizeParamMCSModule.cxx:171 RooRandomizeParamMCSModule.cxx:172 RooRandomizeParamMCSModule.cxx:173 RooRandomizeParamMCSModule.cxx:174 RooRandomizeParamMCSModule.cxx:175 RooRandomizeParamMCSModule.cxx:176 RooRandomizeParamMCSModule.cxx:177 RooRandomizeParamMCSModule.cxx:178 RooRandomizeParamMCSModule.cxx:179 RooRandomizeParamMCSModule.cxx:180 RooRandomizeParamMCSModule.cxx:181 RooRandomizeParamMCSModule.cxx:182 RooRandomizeParamMCSModule.cxx:183 RooRandomizeParamMCSModule.cxx:184 RooRandomizeParamMCSModule.cxx:185 RooRandomizeParamMCSModule.cxx:186 RooRandomizeParamMCSModule.cxx:187 RooRandomizeParamMCSModule.cxx:188 RooRandomizeParamMCSModule.cxx:189 RooRandomizeParamMCSModule.cxx:190 RooRandomizeParamMCSModule.cxx:191 RooRandomizeParamMCSModule.cxx:192 RooRandomizeParamMCSModule.cxx:193 RooRandomizeParamMCSModule.cxx:194 RooRandomizeParamMCSModule.cxx:195 RooRandomizeParamMCSModule.cxx:196 RooRandomizeParamMCSModule.cxx:197 RooRandomizeParamMCSModule.cxx:198 RooRandomizeParamMCSModule.cxx:199 RooRandomizeParamMCSModule.cxx:200 RooRandomizeParamMCSModule.cxx:201 RooRandomizeParamMCSModule.cxx:202 RooRandomizeParamMCSModule.cxx:203 RooRandomizeParamMCSModule.cxx:204 RooRandomizeParamMCSModule.cxx:205 RooRandomizeParamMCSModule.cxx:206 RooRandomizeParamMCSModule.cxx:207 RooRandomizeParamMCSModule.cxx:208 RooRandomizeParamMCSModule.cxx:209 RooRandomizeParamMCSModule.cxx:210 RooRandomizeParamMCSModule.cxx:211 RooRandomizeParamMCSModule.cxx:212 RooRandomizeParamMCSModule.cxx:213 RooRandomizeParamMCSModule.cxx:214 RooRandomizeParamMCSModule.cxx:215 RooRandomizeParamMCSModule.cxx:216 RooRandomizeParamMCSModule.cxx:217 RooRandomizeParamMCSModule.cxx:218 RooRandomizeParamMCSModule.cxx:219 RooRandomizeParamMCSModule.cxx:220 RooRandomizeParamMCSModule.cxx:221 RooRandomizeParamMCSModule.cxx:222 RooRandomizeParamMCSModule.cxx:223 RooRandomizeParamMCSModule.cxx:224 RooRandomizeParamMCSModule.cxx:225 RooRandomizeParamMCSModule.cxx:226 RooRandomizeParamMCSModule.cxx:227 RooRandomizeParamMCSModule.cxx:228 RooRandomizeParamMCSModule.cxx:229 RooRandomizeParamMCSModule.cxx:230 RooRandomizeParamMCSModule.cxx:231 RooRandomizeParamMCSModule.cxx:232 RooRandomizeParamMCSModule.cxx:233 RooRandomizeParamMCSModule.cxx:234 RooRandomizeParamMCSModule.cxx:235 RooRandomizeParamMCSModule.cxx:236 RooRandomizeParamMCSModule.cxx:237 RooRandomizeParamMCSModule.cxx:238 RooRandomizeParamMCSModule.cxx:239 RooRandomizeParamMCSModule.cxx:240 RooRandomizeParamMCSModule.cxx:241 RooRandomizeParamMCSModule.cxx:242 RooRandomizeParamMCSModule.cxx:243 RooRandomizeParamMCSModule.cxx:244 RooRandomizeParamMCSModule.cxx:245 RooRandomizeParamMCSModule.cxx:246 RooRandomizeParamMCSModule.cxx:247 RooRandomizeParamMCSModule.cxx:248 RooRandomizeParamMCSModule.cxx:249 RooRandomizeParamMCSModule.cxx:250 RooRandomizeParamMCSModule.cxx:251 RooRandomizeParamMCSModule.cxx:252 RooRandomizeParamMCSModule.cxx:253 RooRandomizeParamMCSModule.cxx:254 RooRandomizeParamMCSModule.cxx:255 RooRandomizeParamMCSModule.cxx:256 RooRandomizeParamMCSModule.cxx:257 RooRandomizeParamMCSModule.cxx:258 RooRandomizeParamMCSModule.cxx:259 RooRandomizeParamMCSModule.cxx:260 RooRandomizeParamMCSModule.cxx:261 RooRandomizeParamMCSModule.cxx:262 RooRandomizeParamMCSModule.cxx:263 RooRandomizeParamMCSModule.cxx:264 RooRandomizeParamMCSModule.cxx:265 RooRandomizeParamMCSModule.cxx:266 RooRandomizeParamMCSModule.cxx:267 RooRandomizeParamMCSModule.cxx:268 RooRandomizeParamMCSModule.cxx:269 RooRandomizeParamMCSModule.cxx:270 RooRandomizeParamMCSModule.cxx:271 RooRandomizeParamMCSModule.cxx:272 RooRandomizeParamMCSModule.cxx:273 RooRandomizeParamMCSModule.cxx:274 RooRandomizeParamMCSModule.cxx:275 RooRandomizeParamMCSModule.cxx:276 RooRandomizeParamMCSModule.cxx:277 RooRandomizeParamMCSModule.cxx:278 RooRandomizeParamMCSModule.cxx:279 RooRandomizeParamMCSModule.cxx:280 RooRandomizeParamMCSModule.cxx:281 RooRandomizeParamMCSModule.cxx:282 RooRandomizeParamMCSModule.cxx:283 RooRandomizeParamMCSModule.cxx:284 RooRandomizeParamMCSModule.cxx:285 RooRandomizeParamMCSModule.cxx:286 RooRandomizeParamMCSModule.cxx:287 RooRandomizeParamMCSModule.cxx:288 RooRandomizeParamMCSModule.cxx:289 RooRandomizeParamMCSModule.cxx:290 RooRandomizeParamMCSModule.cxx:291 RooRandomizeParamMCSModule.cxx:292 RooRandomizeParamMCSModule.cxx:293 RooRandomizeParamMCSModule.cxx:294 RooRandomizeParamMCSModule.cxx:295 RooRandomizeParamMCSModule.cxx:296 RooRandomizeParamMCSModule.cxx:297 RooRandomizeParamMCSModule.cxx:298 RooRandomizeParamMCSModule.cxx:299 RooRandomizeParamMCSModule.cxx:300 RooRandomizeParamMCSModule.cxx:301 RooRandomizeParamMCSModule.cxx:302 RooRandomizeParamMCSModule.cxx:303 RooRandomizeParamMCSModule.cxx:304 RooRandomizeParamMCSModule.cxx:305 RooRandomizeParamMCSModule.cxx:306 RooRandomizeParamMCSModule.cxx:307 RooRandomizeParamMCSModule.cxx:308 RooRandomizeParamMCSModule.cxx:309 RooRandomizeParamMCSModule.cxx:310 RooRandomizeParamMCSModule.cxx:311 RooRandomizeParamMCSModule.cxx:312 RooRandomizeParamMCSModule.cxx:313 RooRandomizeParamMCSModule.cxx:314 RooRandomizeParamMCSModule.cxx:315 RooRandomizeParamMCSModule.cxx:316 RooRandomizeParamMCSModule.cxx:317 RooRandomizeParamMCSModule.cxx:318 RooRandomizeParamMCSModule.cxx:319 RooRandomizeParamMCSModule.cxx:320 RooRandomizeParamMCSModule.cxx:321 RooRandomizeParamMCSModule.cxx:322 RooRandomizeParamMCSModule.cxx:323 RooRandomizeParamMCSModule.cxx:324 RooRandomizeParamMCSModule.cxx:325 RooRandomizeParamMCSModule.cxx:326 RooRandomizeParamMCSModule.cxx:327 RooRandomizeParamMCSModule.cxx:328 RooRandomizeParamMCSModule.cxx:329 RooRandomizeParamMCSModule.cxx:330 RooRandomizeParamMCSModule.cxx:331 RooRandomizeParamMCSModule.cxx:332 RooRandomizeParamMCSModule.cxx:333 RooRandomizeParamMCSModule.cxx:334 RooRandomizeParamMCSModule.cxx:335 RooRandomizeParamMCSModule.cxx:336 RooRandomizeParamMCSModule.cxx:337 RooRandomizeParamMCSModule.cxx:338 RooRandomizeParamMCSModule.cxx:339 RooRandomizeParamMCSModule.cxx:340 RooRandomizeParamMCSModule.cxx:341 RooRandomizeParamMCSModule.cxx:342 RooRandomizeParamMCSModule.cxx:343 RooRandomizeParamMCSModule.cxx:344 RooRandomizeParamMCSModule.cxx:345 RooRandomizeParamMCSModule.cxx:346 RooRandomizeParamMCSModule.cxx:347 RooRandomizeParamMCSModule.cxx:348 RooRandomizeParamMCSModule.cxx:349 RooRandomizeParamMCSModule.cxx:350 RooRandomizeParamMCSModule.cxx:351 RooRandomizeParamMCSModule.cxx:352 RooRandomizeParamMCSModule.cxx:353 RooRandomizeParamMCSModule.cxx:354 RooRandomizeParamMCSModule.cxx:355 RooRandomizeParamMCSModule.cxx:356 RooRandomizeParamMCSModule.cxx:357 RooRandomizeParamMCSModule.cxx:358 RooRandomizeParamMCSModule.cxx:359 RooRandomizeParamMCSModule.cxx:360 RooRandomizeParamMCSModule.cxx:361 RooRandomizeParamMCSModule.cxx:362 RooRandomizeParamMCSModule.cxx:363 RooRandomizeParamMCSModule.cxx:364 RooRandomizeParamMCSModule.cxx:365 RooRandomizeParamMCSModule.cxx:366 RooRandomizeParamMCSModule.cxx:367 RooRandomizeParamMCSModule.cxx:368 RooRandomizeParamMCSModule.cxx:369 RooRandomizeParamMCSModule.cxx:370 RooRandomizeParamMCSModule.cxx:371 RooRandomizeParamMCSModule.cxx:372 RooRandomizeParamMCSModule.cxx:373 RooRandomizeParamMCSModule.cxx:374 RooRandomizeParamMCSModule.cxx:375 RooRandomizeParamMCSModule.cxx:376 RooRandomizeParamMCSModule.cxx:377 RooRandomizeParamMCSModule.cxx:378 RooRandomizeParamMCSModule.cxx:379 RooRandomizeParamMCSModule.cxx:380 RooRandomizeParamMCSModule.cxx:381 RooRandomizeParamMCSModule.cxx:382 RooRandomizeParamMCSModule.cxx:383 RooRandomizeParamMCSModule.cxx:384 RooRandomizeParamMCSModule.cxx:385 RooRandomizeParamMCSModule.cxx:386 RooRandomizeParamMCSModule.cxx:387 RooRandomizeParamMCSModule.cxx:388 RooRandomizeParamMCSModule.cxx:389 RooRandomizeParamMCSModule.cxx:390 RooRandomizeParamMCSModule.cxx:391 RooRandomizeParamMCSModule.cxx:392 RooRandomizeParamMCSModule.cxx:393 RooRandomizeParamMCSModule.cxx:394 RooRandomizeParamMCSModule.cxx:395 RooRandomizeParamMCSModule.cxx:396 RooRandomizeParamMCSModule.cxx:397 RooRandomizeParamMCSModule.cxx:398 RooRandomizeParamMCSModule.cxx:399 RooRandomizeParamMCSModule.cxx:400 RooRandomizeParamMCSModule.cxx:401 RooRandomizeParamMCSModule.cxx:402 RooRandomizeParamMCSModule.cxx:403 RooRandomizeParamMCSModule.cxx:404 RooRandomizeParamMCSModule.cxx:405 RooRandomizeParamMCSModule.cxx:406 RooRandomizeParamMCSModule.cxx:407 RooRandomizeParamMCSModule.cxx:408 RooRandomizeParamMCSModule.cxx:409 RooRandomizeParamMCSModule.cxx:410 RooRandomizeParamMCSModule.cxx:411 RooRandomizeParamMCSModule.cxx:412 RooRandomizeParamMCSModule.cxx:413 RooRandomizeParamMCSModule.cxx:414 RooRandomizeParamMCSModule.cxx:415 RooRandomizeParamMCSModule.cxx:416 RooRandomizeParamMCSModule.cxx:417 RooRandomizeParamMCSModule.cxx:418 RooRandomizeParamMCSModule.cxx:419 RooRandomizeParamMCSModule.cxx:420 RooRandomizeParamMCSModule.cxx:421 RooRandomizeParamMCSModule.cxx:422 RooRandomizeParamMCSModule.cxx:423 RooRandomizeParamMCSModule.cxx:424 RooRandomizeParamMCSModule.cxx:425 RooRandomizeParamMCSModule.cxx:426 RooRandomizeParamMCSModule.cxx:427 RooRandomizeParamMCSModule.cxx:428 RooRandomizeParamMCSModule.cxx:429 RooRandomizeParamMCSModule.cxx:430 RooRandomizeParamMCSModule.cxx:431 RooRandomizeParamMCSModule.cxx:432 RooRandomizeParamMCSModule.cxx:433 RooRandomizeParamMCSModule.cxx:434 RooRandomizeParamMCSModule.cxx:435 RooRandomizeParamMCSModule.cxx:436 RooRandomizeParamMCSModule.cxx:437 RooRandomizeParamMCSModule.cxx:438 RooRandomizeParamMCSModule.cxx:439 RooRandomizeParamMCSModule.cxx:440 RooRandomizeParamMCSModule.cxx:441 RooRandomizeParamMCSModule.cxx:442 RooRandomizeParamMCSModule.cxx:443 RooRandomizeParamMCSModule.cxx:444 RooRandomizeParamMCSModule.cxx:445 RooRandomizeParamMCSModule.cxx:446 RooRandomizeParamMCSModule.cxx:447 RooRandomizeParamMCSModule.cxx:448 RooRandomizeParamMCSModule.cxx:449 RooRandomizeParamMCSModule.cxx:450 RooRandomizeParamMCSModule.cxx:451 RooRandomizeParamMCSModule.cxx:452 RooRandomizeParamMCSModule.cxx:453 RooRandomizeParamMCSModule.cxx:454 RooRandomizeParamMCSModule.cxx:455 RooRandomizeParamMCSModule.cxx:456 RooRandomizeParamMCSModule.cxx:457 RooRandomizeParamMCSModule.cxx:458 RooRandomizeParamMCSModule.cxx:459 RooRandomizeParamMCSModule.cxx:460 RooRandomizeParamMCSModule.cxx:461