#ifndef __CINT__
#include "RooGlobalFunc.h"
#endif
#include "RooDataSet.h"
#include "RooRealVar.h"
#include "RooConstVar.h"
#include "RooAddition.h"
#include "RooProduct.h"
#include "RooProdPdf.h"
#include "RooAddPdf.h"
#include "RooGaussian.h"
#include "RooExponential.h"
#include "RooRandom.h"
#include "RooCategory.h"
#include "RooSimultaneous.h"
#include "RooMultiVarGaussian.h"
#include "RooNumIntConfig.h"
#include "RooMinuit.h"
#include "RooNLLVar.h"
#include "RooProfileLL.h"
#include "RooFitResult.h"
#include "RooDataHist.h"
#include "RooHistPdf.h"
#include "RooProduct.h"
#include "RooWorkspace.h"
#include "RooCustomizer.h"
#include "RooPlot.h"
#include "RooMsgService.h"
#include "RooStats/RooStatsUtils.h"
#include "RooStats/ModelConfig.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TFile.h"
#include "TCanvas.h"
#include "TH1.h"
#include "TLine.h"
#include "TTree.h"
#include "TMarker.h"
#include "TStopwatch.h"
#include "TROOT.h"
#include "TStyle.h"
#include "TVectorD.h"
#include "TMatrixDSym.h"
#include "RooStats/HistFactory/LinInterpVar.h"
#include "RooStats/HistFactory/HistoToWorkspaceFactory.h"
#include "Helper.h"
#define VERBOSE
#define alpha_Low "-5"
#define alpha_High "5"
#define NoHistConst_Low "0"
#define NoHistConst_High "2000"
using namespace RooFit ;
using namespace RooStats ;
using namespace std ;
ClassImp(RooStats::HistFactory::HistoToWorkspaceFactory)
namespace RooStats{
namespace HistFactory{
HistoToWorkspaceFactory::HistoToWorkspaceFactory() :
fNomLumi(0),
fLumiError(0),
fLowBin(0),
fHighBin(0),
fOut_f(0),
pFile(0)
{
}
HistoToWorkspaceFactory::~HistoToWorkspaceFactory(){
fclose(pFile);
}
HistoToWorkspaceFactory::HistoToWorkspaceFactory(string filePrefix, string row, vector<string> syst, double nomL, double lumiE, int low, int high, TFile* f):
fFileNamePrefix(filePrefix),
fRowTitle(row),
fSystToFix(syst),
fNomLumi(nomL),
fLumiError(lumiE),
fLowBin(low),
fHighBin(high),
fOut_f(f) {
fResultsPrefixStr<< "_" << fRowTitle;
while(fRowTitle.find("\\ ")!=string::npos){
int pos=fRowTitle.find("\\ ");
fRowTitle.replace(pos, 1, "");
}
pFile = fopen ((filePrefix+"_results.table").c_str(),"a");
}
string HistoToWorkspaceFactory::FilePrefixStr(string prefix){
stringstream ss;
ss << prefix << "_" << fNomLumi<< "_" << fLumiError<< "_" << fLowBin<< "_" << fHighBin<< "_"<<fRowTitle;
return ss.str();
}
void HistoToWorkspaceFactory::ProcessExpectedHisto(TH1* hist,RooWorkspace* proto, string prefix, string productPrefix, string systTerm, double low, double high, int lowBin, int highBin){
if(hist)
cout << "processing hist " << hist->GetName() << endl;
else
cout << "hist is empty" << endl;
RooArgSet argset(prefix.c_str());
string highStr = "inf";
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
std::stringstream range;
str<<"_"<<i;
if(hist)
range<<"["<<hist->GetBinContent(i+1) << "," << low << "," << highStr << "]";
else
range<<"["<< low << "," << high << "]";
cout << "for bin N"+str.str() << " var " << prefix+str.str()+" with range " << range.str() << endl;
RooRealVar* var = (RooRealVar*) proto->factory((prefix+str.str()+range.str()).c_str());
if(! (productPrefix.empty() || systTerm.empty()) )
proto->factory(("prod:"+productPrefix+str.str()+"("+prefix+str.str()+","+systTerm+")").c_str() );
var->setConstant();
argset.add(* var );
}
proto->defineSet(prefix.c_str(),argset);
}
void HistoToWorkspaceFactory::AddMultiVarGaussConstraint(RooWorkspace* proto, string prefix,int lowBin, int highBin, vector<string>& likelihoodTermNames){
TVectorD mean(highBin-lowBin);
cout << "a" << endl;
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
str<<"_"<<i;
RooRealVar* temp = proto->var((prefix+str.str()).c_str());
mean(i) = temp->getVal();
}
TMatrixDSym Cov(highBin-lowBin);
for(int i=lowBin; i<highBin; ++i){
for(int j=0; j<highBin-lowBin; ++j){
if(i==j)
Cov(i,j) = sqrt(mean(i));
else
Cov(i,j) = 0;
}
}
RooArgList floating( *(proto->set(prefix.c_str() ) ) );
RooMultiVarGaussian constraint((prefix+"Constraint").c_str(),"",
floating, mean, Cov);
proto->import(constraint);
likelihoodTermNames.push_back(constraint.GetName());
}
void HistoToWorkspaceFactory::LinInterpWithConstraint(RooWorkspace* proto, TH1* nominal, vector<TH1*> lowHist, vector<TH1*> highHist,
vector<string> sourceName, string prefix, string productPrefix, string systTerm,
int lowBin, int highBin, vector<string>& likelihoodTermNames){
RooArgList params( ("alpha_Hist") );
string range=string("[")+alpha_Low+","+alpha_High+"]";
for(unsigned int j=0; j<lowHist.size(); ++j){
std::stringstream str;
str<<"_"<<j;
RooRealVar* temp = (RooRealVar*) proto->var(("alpha_"+sourceName.at(j)).c_str());
if(!temp){
temp = (RooRealVar*) proto->factory(("alpha_"+sourceName.at(j)+range).c_str());
string command=("Gaussian::alpha_"+sourceName.at(j)+"Constraint(alpha_"+sourceName.at(j)+",nom_"+sourceName.at(j)+"[0.,-10,10],1.)");
cout << command << endl;
likelihoodTermNames.push_back( proto->factory( command.c_str() )->GetName() );
proto->var(("nom_"+sourceName.at(j)).c_str())->setConstant();
const_cast<RooArgSet*>(proto->set("globalObservables"))->add(*proto->var(("nom_"+sourceName.at(j)).c_str()));
}
params.add(* temp );
}
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
str<<"_"<<i;
vector<double> low, high;
for(unsigned int j=0; j<lowHist.size(); ++j){
low.push_back( lowHist.at(j)->GetBinContent(i+1) );
high.push_back( highHist.at(j)->GetBinContent(i+1) );
cout << "for "+prefix+" bin "+str.str()+" creating linear interp of nominal " << nominal->GetBinContent(i+1)
<< " in parameter " << sourceName.at(j)
<< " between " << low.back() << " - " << high.back()
<< " about " << 100.*fabs(low.back() - high.back() )/nominal->GetBinContent(i+1) << " % error"
<< endl;
}
LinInterpVar interp( (prefix+str.str()).c_str(), "", params, nominal->GetBinContent(i+1), low, high);
proto->import(interp);
proto->factory(("prod:"+productPrefix+str.str()+"("+prefix+str.str()+","+systTerm+")").c_str() );
}
}
string HistoToWorkspaceFactory::AddNormFactor(RooWorkspace * proto, string & channel, string & sigmaEpsilon, EstimateSummary & es, bool doRatio){
string overallNorm_times_sigmaEpsilon ;
string prodNames;
vector<EstimateSummary::NormFactor> norm=es.normFactor;
if(norm.size()){
for(vector<EstimateSummary::NormFactor>::iterator itr=norm.begin(); itr!=norm.end(); ++itr){
cout << "making normFactor: " << itr->name << endl;
std::stringstream range;
range<<"["<<itr->val<<","<<itr->low<<","<<itr->high<<"]";
string varname;
if(!prodNames.empty()) prodNames+=",";
if(doRatio) {
varname=itr->name+"_"+channel;
}
else {
varname=itr->name;
}
proto->factory((varname+range.str()).c_str());
if(itr->constant){
cout <<"WARNING: Const attribute to <NormFactor> tag is deprecated, will ignore."<<
" Instead, add \n\t<ParamSetting Const=\"True\">"<<varname<<"</ParamSetting>\n"<<
" to your top-level XML's <Measurment> entry"<< endl;
}
prodNames+=varname;
}
overallNorm_times_sigmaEpsilon = es.name+"_"+channel+"_overallNorm_x_sigma_epsilon";
proto->factory(("prod::"+overallNorm_times_sigmaEpsilon+"("+prodNames+","+sigmaEpsilon+")").c_str());
}
if(!overallNorm_times_sigmaEpsilon.empty())
return overallNorm_times_sigmaEpsilon;
else
return sigmaEpsilon;
}
void HistoToWorkspaceFactory::AddEfficiencyTerms(RooWorkspace* proto, string prefix, string interpName,
map<string,pair<double,double> > systMap,
vector<string>& likelihoodTermNames, vector<string>& totSystTermNames){
string range=string("[0,")+alpha_Low+","+alpha_High+"]";
totSystTermNames.push_back(prefix);
RooArgSet params(prefix.c_str());
vector<double> lowVec, highVec;
for(map<string,pair<double,double> >::iterator it=systMap.begin(); it!=systMap.end(); ++it){
RooRealVar* temp = (RooRealVar*) proto->var((prefix+ it->first).c_str());
if(!temp){
temp = (RooRealVar*) proto->factory((prefix+ it->first +range).c_str());
string command=("Gaussian::"+prefix+it->first+"Constraint("+prefix+it->first+",nom_"+prefix+it->first+"[0.,-10,10],1.)");
cout << command << endl;
likelihoodTermNames.push_back( proto->factory( command.c_str() )->GetName() );
proto->var(("nom_"+prefix+it->first).c_str())->setConstant();
const_cast<RooArgSet*>(proto->set("globalObservables"))->add(*proto->var(("nom_"+prefix+it->first).c_str()));
}
params.add(*temp);
std::stringstream lowhigh;
double low = it->second.first;
double high = it->second.second;
lowVec.push_back(low);
highVec.push_back(high);
}
if(systMap.size()>0){
LinInterpVar interp( (interpName).c_str(), "", params, 1., lowVec, highVec);
proto->import(interp);
} else{
RooConstVar interp( (interpName).c_str(), "", 1.);
proto->import(interp);
}
}
void HistoToWorkspaceFactory::MakeTotalExpected(RooWorkspace* proto, string totName, string , string ,
int lowBin, int highBin, vector<string>& syst_x_expectedPrefixNames,
vector<string>& normByNames){
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
str<<"_"<<i;
string command="sum::"+totName+str.str()+"(";
string prepend="";
for(unsigned int j=0; j<syst_x_expectedPrefixNames.size();++j){
command+=prepend+normByNames.at(j)+"*"+syst_x_expectedPrefixNames.at(j)+str.str();
prepend=",";
}
command+=")";
cout << "function to calculate total: " << command << endl;
proto->factory(command.c_str());
}
}
void HistoToWorkspaceFactory::AddPoissonTerms(RooWorkspace* proto, string prefix, string obsPrefix, string expPrefix, int lowBin, int highBin,
vector<string>& likelihoodTermNames){
RooArgSet Pois(prefix.c_str());
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
str<<"_"<<i;
string command("Poisson::"+prefix+str.str()+"("+obsPrefix+str.str()+","+expPrefix+str.str()+",1)");
RooAbsArg* temp = (proto->factory( command.c_str() ) );
cout << "Poisson Term " << command << endl;
((RooAbsPdf*) temp)->setEvalErrorLoggingMode(RooAbsReal::PrintErrors);
likelihoodTermNames.push_back( temp->GetName() );
Pois.add(* temp );
}
proto->defineSet(prefix.c_str(),Pois);
}
void HistoToWorkspaceFactory::SetObsToExpected(RooWorkspace* proto, string obsPrefix, string expPrefix, int lowBin, int highBin){
TTree* tree = new TTree();
Double_t* obsForTree = new Double_t[highBin-lowBin];
RooArgList obsList("obsList");
for(Int_t i=lowBin; i<highBin; ++i){
std::stringstream str;
str<<"_"<<i;
RooRealVar* obs = (RooRealVar*) proto->var((obsPrefix+str.str()).c_str());
cout << "expected number of events called: " << expPrefix << endl;
RooAbsReal* exp = proto->function((expPrefix+str.str()).c_str());
if(obs && exp){
obs->setVal( exp->getVal() );
cout << "setting obs"+str.str()+" to expected = " << exp->getVal() << " check: " << obs->getVal() << endl;
obsForTree[i] = exp->getVal();
tree->Branch((obsPrefix+str.str()).c_str(), obsForTree+i ,(obsPrefix+str.str()+"/D").c_str());
obsList.add(*obs);
}else{
cout << "problem retrieving obs or exp " << obsPrefix+str.str() << obs << " " << expPrefix+str.str() << exp << endl;
}
}
tree->Fill();
RooDataSet* data = new RooDataSet("expData","", tree, obsList);
proto->import(*data);
}
void HistoToWorkspaceFactory::Customize(RooWorkspace* proto, const char* pdfNameChar, map<string,string> renameMap) {
cout << "in customizations" << endl;
string pdfName(pdfNameChar);
map<string,string>::iterator it;
string edit="EDIT::customized("+pdfName+",";
string precede="";
for(it=renameMap.begin(); it!=renameMap.end(); ++it) {
cout << it->first + "=" + it->second << endl;
edit+=precede + it->first + "=" + it->second;
precede=",";
}
edit+=")";
cout << edit<< endl;
proto->factory( edit.c_str() );
}
void HistoToWorkspaceFactory::EditSyst(RooWorkspace* proto, const char* pdfNameChar, map<string,double> gammaSyst, map<string,double> uniformSyst,map<string,double> logNormSyst) {
string pdfName(pdfNameChar);
ModelConfig * combined_config = (ModelConfig *) proto->obj("ModelConfig");
string edit="EDIT::newSimPdf("+pdfName+",";
string editList;
string lastPdf=pdfName;
string precede="";
unsigned int numReplacements = 0;
unsigned int nskipped = 0;
map<string,double>::iterator it;
for(it=gammaSyst.begin(); it!=gammaSyst.end(); ++it) {
if(! proto->var(("alpha_"+it->first).c_str())){
nskipped++;
continue;
}
numReplacements++;
double relativeUncertainty = it->second;
double scale = 1/sqrt((1+1/pow(relativeUncertainty,2)));
proto->factory(Form("beta_%s[1,0,10]",it->first.c_str()));
proto->factory(Form("y_%s[%f]",it->first.c_str(),1./pow(relativeUncertainty,2))) ;
proto->factory(Form("theta_%s[%f]",it->first.c_str(),pow(relativeUncertainty,2))) ;
proto->factory(Form("Gamma::beta_%sConstraint(beta_%s,sum::k_%s(y_%s,one[1]),theta_%s,zero[0])",
it->first.c_str(),
it->first.c_str(),
it->first.c_str(),
it->first.c_str(),
it->first.c_str())) ;
proto->factory(Form("PolyVar::alphaOfBeta_%s(beta_%s,{%f,%f})",it->first.c_str(),it->first.c_str(),-1./scale,1./scale));
if(proto->var(Form("alpha_%s",it->first.c_str()))->isConstant())
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(true);
else
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(false);
editList+=precede + "alpha_"+it->first+"Constraint=beta_" + it->first+ "Constraint";
precede=",";
editList+=precede + "alpha_"+it->first+"=alphaOfBeta_"+ it->first;
if(numReplacements%10 == 0 && numReplacements+nskipped!=gammaSyst.size()){
edit="EDIT::"+lastPdf+"_("+lastPdf+","+editList+")";
lastPdf+="_";
editList="";
precede="";
cout << "Going to issue this edit command\n" << edit<< endl;
proto->factory( edit.c_str() );
RooAbsPdf* newOne = proto->pdf(lastPdf.c_str());
if(!newOne)
cout << "\n\n ---------------------\n WARNING: failed to make EDIT\n\n" << endl;
}
}
for(it=uniformSyst.begin(); it!=uniformSyst.end(); ++it) {
cout << "edit for " << it->first << "with rel uncert = " << it->second << endl;
if(! proto->var(("alpha_"+it->first).c_str())){
cout << "systematic not there" << endl;
nskipped++;
continue;
}
numReplacements++;
proto->factory(Form("beta_%s[1,0,10]",it->first.c_str()));
proto->factory(Form("Uniform::beta_%sConstraint(beta_%s)",it->first.c_str(),it->first.c_str()));
proto->factory(Form("PolyVar::alphaOfBeta_%s(beta_%s,{-1,1})",it->first.c_str(),it->first.c_str()));
if(proto->var(Form("alpha_%s",it->first.c_str()))->isConstant())
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(true);
else
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(false);
cout << "alpha_"+it->first+"Constraint=beta_" + it->first+ "Constraint" << endl;
editList+=precede + "alpha_"+it->first+"Constraint=beta_" + it->first+ "Constraint";
precede=",";
cout << "alpha_"+it->first+"=alphaOfBeta_"+ it->first << endl;
editList+=precede + "alpha_"+it->first+"=alphaOfBeta_"+ it->first;
if( proto->pdf(("alpha_"+it->first+"Constraint").c_str()) && proto->var(("alpha_"+it->first).c_str()) )
cout << " checked they are there" << proto->pdf(("alpha_"+it->first+"Constraint").c_str()) << " " << proto->var(("alpha_"+it->first).c_str()) << endl;
else
cout << "NOT THERE" << endl;
if(numReplacements%10 == 0 && numReplacements+nskipped!=gammaSyst.size()){
edit="EDIT::"+lastPdf+"_("+lastPdf+","+editList+")";
lastPdf+="_";
editList="";
precede="";
cout << edit<< endl;
proto->factory( edit.c_str() );
RooAbsPdf* newOne = proto->pdf(lastPdf.c_str());
if(!newOne)
cout << "\n\n ---------------------\n WARNING: failed to make EDIT\n\n" << endl;
}
}
for(it=logNormSyst.begin(); it!=logNormSyst.end(); ++it) {
cout << "edit for " << it->first << "with rel uncert = " << it->second << endl;
if(! proto->var(("alpha_"+it->first).c_str())){
cout << "systematic not there" << endl;
nskipped++;
continue;
}
numReplacements++;
double relativeUncertainty = it->second;
double kappa = 1+relativeUncertainty;
double scale = relativeUncertainty;
proto->factory(Form("beta_%s[1,0,10]",it->first.c_str()));
proto->factory(Form("kappa_%s[%f]",it->first.c_str(),kappa));
proto->factory(Form("Lognormal::beta_%sConstraint(beta_%s,one[1],kappa_%s)",
it->first.c_str(),
it->first.c_str(),
it->first.c_str())) ;
proto->factory(Form("PolyVar::alphaOfBeta_%s(beta_%s,{%f,%f})",it->first.c_str(),it->first.c_str(),-1./scale,1./scale));
if(proto->var(Form("alpha_%s",it->first.c_str()))->isConstant())
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(true);
else
proto->var(Form("beta_%s",it->first.c_str()))->setConstant(false);
cout << "alpha_"+it->first+"Constraint=beta_" + it->first+ "Constraint" << endl;
editList+=precede + "alpha_"+it->first+"Constraint=beta_" + it->first+ "Constraint";
precede=",";
cout << "alpha_"+it->first+"=alphaOfBeta_"+ it->first << endl;
editList+=precede + "alpha_"+it->first+"=alphaOfBeta_"+ it->first;
if( proto->pdf(("alpha_"+it->first+"Constraint").c_str()) && proto->var(("alpha_"+it->first).c_str()) )
cout << " checked they are there" << proto->pdf(("alpha_"+it->first+"Constraint").c_str()) << " " << proto->var(("alpha_"+it->first).c_str()) << endl;
else
cout << "NOT THERE" << endl;
if(numReplacements%10 == 0 && numReplacements+nskipped!=gammaSyst.size()){
edit="EDIT::"+lastPdf+"_("+lastPdf+","+editList+")";
lastPdf+="_";
editList="";
precede="";
cout << edit<< endl;
proto->factory( edit.c_str() );
RooAbsPdf* newOne = proto->pdf(lastPdf.c_str());
if(!newOne)
cout << "\n\n ---------------------\n WARNING: failed to make EDIT\n\n" << endl;
}
}
edit="EDIT::newSimPdf("+lastPdf+","+editList+")";
cout << edit<< endl;
proto->factory( edit.c_str() );
RooAbsPdf* newOne = proto->pdf("newSimPdf");
if(newOne){
combined_config->SetPdf(*newOne);
}
else{
cout << "\n\n ---------------------\n WARNING: failed to make EDIT\n\n" << endl;
}
}
void HistoToWorkspaceFactory::PrintCovarianceMatrix(RooFitResult* result, RooArgSet* params, string filename){
pFile = fopen ((filename).c_str(),"w");
TIter iti = params->createIterator();
TIter itj = params->createIterator();
RooRealVar *myargi, *myargj;
fprintf(pFile," ") ;
while ((myargi = (RooRealVar *)iti.Next())) {
if(myargi->isConstant()) continue;
fprintf(pFile," & %s", myargi->GetName());
}
fprintf(pFile,"\\\\ \\hline \n" );
iti.Reset();
while ((myargi = (RooRealVar *)iti.Next())) {
if(myargi->isConstant()) continue;
fprintf(pFile,"%s", myargi->GetName());
itj.Reset();
while ((myargj = (RooRealVar *)itj.Next())) {
if(myargj->isConstant()) continue;
cout << myargi->GetName() << "," << myargj->GetName();
fprintf(pFile, " & %.2f", result->correlation(*myargi, *myargj));
}
cout << endl;
fprintf(pFile, " \\\\\n");
}
fclose(pFile);
}
RooWorkspace* HistoToWorkspaceFactory::MakeSingleChannelModel(vector<EstimateSummary> summary, vector<string> systToFix, bool doRatio)
{
if (summary.empty() ) {
Error("MakeSingleChannelModel","vector of EstimateSummry is empty - return a nullptr");
return 0;
}
TStopwatch t;
t.Start();
string channel=summary[0].channel;
cout << "\n\n-------------------\nStarting to process " << channel << " channel" << endl;
RooWorkspace* proto = new RooWorkspace("proto","proto workspace");
ModelConfig * proto_config = new ModelConfig("ModelConfig", proto);
proto_config->SetWorkspace(*proto);
RooArgSet likelihoodTerms("likelihoodTerms");
vector<string> likelihoodTermNames, totSystTermNames,syst_x_expectedPrefixNames, normalizationNames;
string prefix, range;
if (summary.at(0).name=="Data") {
ProcessExpectedHisto(summary.at(0).nominal,proto,"obsN","","",0,100000,fLowBin,fHighBin);
} else {
cout << "Will use expected (\"Asimov\") data set" << endl;
ProcessExpectedHisto(NULL,proto,"obsN","","",0,100000,fLowBin,fHighBin);
}
std::stringstream lumiStr;
lumiStr<<"["<<fNomLumi<<",0,"<<10.*fNomLumi<<"]";
proto->factory(("Lumi"+lumiStr.str()).c_str());
cout << "lumi str = " << lumiStr.str() << endl;
std::stringstream lumiErrorStr;
lumiErrorStr << "nominalLumi["<<fNomLumi << ",0,"<<fNomLumi+10*fLumiError<<"]," << fLumiError ;
proto->factory(("Gaussian::lumiConstraint(Lumi,"+lumiErrorStr.str()+")").c_str());
proto->var("nominalLumi")->setConstant();
proto->defineSet("globalObservables","nominalLumi");
likelihoodTermNames.push_back("lumiConstraint");
cout << "lumi Error str = " << lumiErrorStr.str() << endl;
vector<EstimateSummary>::iterator it = summary.begin();
for(; it!=summary.end(); ++it){
if(it->name=="Data") continue;
string overallSystName = it->name+"_"+it->channel+"_epsilon";
string systSourcePrefix = "alpha_";
AddEfficiencyTerms(proto,systSourcePrefix, overallSystName,
it->overallSyst,
likelihoodTermNames, totSystTermNames);
overallSystName=AddNormFactor(proto, channel, overallSystName, *it, doRatio);
TH1* nominal = it->nominal;
if(it->lowHists.size() == 0){
cout << it->name+"_"+it->channel+" has no variation histograms " <<endl;
string expPrefix=it->name+"_"+it->channel+"_expN";
string syst_x_expectedPrefix=it->name+"_"+it->channel+"_overallSyst_x_Exp";
ProcessExpectedHisto(nominal,proto,expPrefix,syst_x_expectedPrefix,overallSystName,atoi(NoHistConst_Low),atoi(NoHistConst_High),fLowBin,fHighBin);
syst_x_expectedPrefixNames.push_back(syst_x_expectedPrefix);
} else if(it->lowHists.size() != it->highHists.size()){
cout << "problem in "+it->name+"_"+it->channel
<< " number of low & high variation histograms don't match" << endl;
return 0;
} else {
string constraintPrefix = it->name+"_"+it->channel+"_Hist_alpha";
string syst_x_expectedPrefix = it->name+"_"+it->channel+"_overallSyst_x_HistSyst";
LinInterpWithConstraint(proto, nominal, it->lowHists, it->highHists, it->systSourceForHist,
constraintPrefix, syst_x_expectedPrefix, overallSystName,
fLowBin, fHighBin, likelihoodTermNames);
syst_x_expectedPrefixNames.push_back(syst_x_expectedPrefix);
}
if(it->normName=="")
normalizationNames.push_back( "Lumi" );
else
normalizationNames.push_back( it->normName);
}
MakeTotalExpected(proto,channel+"_totN",channel+"_expN","Lumi",fLowBin,fHighBin,
syst_x_expectedPrefixNames, normalizationNames);
AddPoissonTerms(proto, "Pois_"+channel, "obsN", channel+"_totN", fLowBin, fHighBin, likelihoodTermNames);
if(summary.at(0).name!="Data"){
SetObsToExpected(proto, "obsN",channel+"_totN", fLowBin, fHighBin);
cout << " using asimov data" << endl;
} else{
SetObsToExpected(proto, "obsN","obsN", fLowBin, fHighBin);
cout << " using input data histogram" << endl;
}
for(unsigned int i=0; i<systToFix.size(); ++i){
RooRealVar* temp = proto->var((systToFix.at(i)).c_str());
if(temp) temp->setConstant();
else cout << "could not find variable " << systToFix.at(i) << " could not set it to constant" << endl;
}
for(unsigned int i=0; i<likelihoodTermNames.size(); ++i){
likelihoodTerms.add(* (proto->arg(likelihoodTermNames[i].c_str())) );
}
proto->defineSet("likelihoodTerms",likelihoodTerms);
cout <<"-----------------------------------------"<<endl;
cout <<"import model into workspace" << endl;
RooProdPdf* model = new RooProdPdf(("model_"+channel).c_str(),
"product of Poissons accross bins for a single channel",
likelihoodTerms);
proto->import(*model,RecycleConflictNodes());
proto_config->SetPdf(*model);
proto_config->SetGlobalObservables(*proto->set("globalObservables"));
proto->import(*proto_config,proto_config->GetName());
proto->importClassCode();
return proto;
}
RooWorkspace* HistoToWorkspaceFactory::MakeCombinedModel(vector<string> ch_names, vector<RooWorkspace*> chs)
{
if (ch_names.empty() || chs.empty() ) {
Error("MakeCombinedModel","Input vectors are empty - return a nullptr");
return 0;
}
if (chs.size() < ch_names.size() ) {
Error("MakeCombinedModel","Input vector of workspace has an invalid size - return a nullptr");
return 0;
}
map<string, RooAbsPdf*> pdfMap;
vector<RooAbsPdf*> models;
stringstream ss;
RooArgSet globalObs;
for(unsigned int i = 0; i< ch_names.size(); ++i){
string channel_name=ch_names[i];
if (ss.str().empty()) ss << channel_name ;
else ss << ',' << channel_name ;
RooWorkspace * ch=chs[i];
RooAbsPdf* model = ch->pdf(("model_"+channel_name).c_str());
models.push_back(model);
globalObs.add(*ch->set("globalObservables"));
pdfMap[channel_name]=model;
}
cout << "\n\n------------------\n Entering combination" << endl;
RooWorkspace* combined = new RooWorkspace("combined");
RooCategory* channelCat = (RooCategory*) combined->factory(("channelCat["+ss.str()+"]").c_str());
RooSimultaneous * simPdf= new RooSimultaneous("simPdf","",pdfMap, *channelCat);
ModelConfig * combined_config = new ModelConfig("ModelConfig", combined);
combined_config->SetWorkspace(*combined);
combined->import(globalObs);
combined->defineSet("globalObservables",globalObs);
combined_config->SetGlobalObservables(*combined->set("globalObservables"));
cout <<"-----------------------------------------"<<endl;
cout << "create toy data for " << ss.str() << endl;
const RooArgSet* obsN = chs[0]->set("obsN");
RooDataSet * simData=new RooDataSet("simData","master dataset", *obsN,
Index(*channelCat), Import(ch_names[0].c_str(),*((RooDataSet*)chs[0]->data("expData"))));
for(unsigned int i = 1; i< ch_names.size(); ++i){
RooDataSet * simData_ch=new RooDataSet("simData","master dataset", *obsN,
Index(*channelCat), Import(ch_names[i].c_str(),*((RooDataSet*)chs[i]->data("expData"))));
simData->append(*simData_ch);
}
combined->import(*simData,RecycleConflictNodes());
cout << "\n\n----------------\n Importing combined model" << endl;
combined->import(*simPdf,RecycleConflictNodes());
cout << "check pointer " << simPdf << endl;
for(unsigned int i=0; i<fSystToFix.size(); ++i){
RooRealVar* temp = combined->var((fSystToFix.at(i)).c_str());
if(temp) {
temp->setConstant();
cout <<"setting " << fSystToFix.at(i) << " constant" << endl;
}
else cout << "could not find variable " << fSystToFix.at(i) << " could not set it to constant" << endl;
}
combined_config->SetPdf(*simPdf);
combined->import(*combined_config,combined_config->GetName());
combined->importClassCode();
return combined;
}
void HistoToWorkspaceFactory::FitModel(RooWorkspace * combined, string channel, string , string data_name, bool )
{
ModelConfig * combined_config = (ModelConfig *) combined->obj("ModelConfig");
RooDataSet * simData = (RooDataSet *) combined->obj(data_name.c_str());
const RooArgSet * POIs=combined_config->GetParametersOfInterest();
RooAbsPdf* model=combined_config->GetPdf();
cout << "\n\n---------------" << endl;
cout << "---------------- Doing "<< channel << " Fit" << endl;
cout << "---------------\n\n" << endl;
model->fitTo(*simData, Minos(kTRUE), PrintLevel(1));
RooRealVar* poi = 0;
TIterator* params_itr=POIs->createIterator();
TObject* params_obj=0;
while((params_obj=params_itr->Next())){
poi = (RooRealVar*) params_obj;
cout << "printing results for " << poi->GetName() << " at " << poi->getVal()<< " high " << poi->getErrorLo() << " low " << poi->getErrorHi()<<endl;
}
fprintf(pFile, " %.4f / %.4f ", poi->getErrorLo(), poi->getErrorHi());
RooAbsReal* nll = model->createNLL(*simData);
RooAbsReal* profile = nll->createProfile(*poi);
RooPlot* frame = poi->frame();
FormatFrameForLikelihood(frame);
TCanvas* c1 = new TCanvas( channel.c_str(), "",800,600);
nll->plotOn(frame, ShiftToZero(), LineColor(kRed), LineStyle(kDashed));
profile->plotOn(frame);
frame->SetMinimum(0);
frame->SetMaximum(2.);
frame->Draw();
c1->SaveAs( (fFileNamePrefix+"_"+channel+"_"+fRowTitle+"_profileLR.eps").c_str() );
fOut_f->mkdir(channel.c_str())->mkdir("Summary")->cd();
RooCurve* curve=frame->getCurve();
Int_t curve_N=curve->GetN();
Double_t* curve_x=curve->GetX();
delete frame; delete c1;
Double_t * x_arr = new Double_t[curve_N];
Double_t * y_arr_nll = new Double_t[curve_N];
for(int i=0; i<curve_N; i++){
double f=curve_x[i];
poi->setVal(f);
x_arr[i]=f;
y_arr_nll[i]=nll->getVal();
}
TGraph * g = new TGraph(curve_N, x_arr, y_arr_nll);
g->SetName((FilePrefixStr(channel)+"_nll").c_str());
g->Write();
delete g;
delete [] x_arr;
delete [] y_arr_nll;
}
void HistoToWorkspaceFactory::FormatFrameForLikelihood(RooPlot* frame, string , string YTitle){
gStyle->SetCanvasBorderMode(0);
gStyle->SetPadBorderMode(0);
gStyle->SetPadColor(0);
gStyle->SetCanvasColor(255);
gStyle->SetTitleFillColor(255);
gStyle->SetFrameFillColor(0);
gStyle->SetStatColor(255);
RooAbsRealLValue* var = frame->getPlotVar();
double xmin = var->getMin();
double xmax = var->getMax();
frame->SetTitle("");
frame->GetXaxis()->SetTitle(var->GetTitle());
frame->GetYaxis()->SetTitle(YTitle.c_str());
frame->SetMaximum(2.);
frame->SetMinimum(0.);
TLine * line = new TLine(xmin,.5,xmax,.5);
line->SetLineColor(kGreen);
TLine * line90 = new TLine(xmin,2.71/2.,xmax,2.71/2.);
line90->SetLineColor(kGreen);
TLine * line95 = new TLine(xmin,3.84/2.,xmax,3.84/2.);
line95->SetLineColor(kGreen);
frame->addObject(line);
frame->addObject(line90);
frame->addObject(line95);
}
TDirectory * HistoToWorkspaceFactory::Makedirs( TDirectory * file, vector<string> names ){
if(! file) return file;
string path="";
TDirectory* ptr=0;
for(vector<string>::iterator itr=names.begin(); itr != names.end(); ++itr){
if( ! path.empty() ) path+="/";
path+=(*itr);
ptr=file->GetDirectory(path.c_str());
if( ! ptr ) ptr=file->mkdir((*itr).c_str());
file=file->GetDirectory(path.c_str());
}
return ptr;
}
TDirectory * HistoToWorkspaceFactory::Mkdir( TDirectory * file, string name ){
if(! file) return file;
TDirectory* ptr=0;
ptr=file->GetDirectory(name.c_str());
if( ! ptr ) ptr=file->mkdir(name.c_str());
return ptr;
}
}
}
HistoToWorkspaceFactory.cxx:1 HistoToWorkspaceFactory.cxx:2 HistoToWorkspaceFactory.cxx:3 HistoToWorkspaceFactory.cxx:4 HistoToWorkspaceFactory.cxx:5 HistoToWorkspaceFactory.cxx:6 HistoToWorkspaceFactory.cxx:7 HistoToWorkspaceFactory.cxx:8 HistoToWorkspaceFactory.cxx:9 HistoToWorkspaceFactory.cxx:10 HistoToWorkspaceFactory.cxx:11 HistoToWorkspaceFactory.cxx:12 HistoToWorkspaceFactory.cxx:13 HistoToWorkspaceFactory.cxx:14 HistoToWorkspaceFactory.cxx:15 HistoToWorkspaceFactory.cxx:16 HistoToWorkspaceFactory.cxx:17 HistoToWorkspaceFactory.cxx:18 HistoToWorkspaceFactory.cxx:19 HistoToWorkspaceFactory.cxx:20 HistoToWorkspaceFactory.cxx:21 HistoToWorkspaceFactory.cxx:22 HistoToWorkspaceFactory.cxx:23 HistoToWorkspaceFactory.cxx:24 HistoToWorkspaceFactory.cxx:25 HistoToWorkspaceFactory.cxx:26 HistoToWorkspaceFactory.cxx:27 HistoToWorkspaceFactory.cxx:28 HistoToWorkspaceFactory.cxx:29 HistoToWorkspaceFactory.cxx:30 HistoToWorkspaceFactory.cxx:31 HistoToWorkspaceFactory.cxx:32 HistoToWorkspaceFactory.cxx:33 HistoToWorkspaceFactory.cxx:34 HistoToWorkspaceFactory.cxx:35 HistoToWorkspaceFactory.cxx:36 HistoToWorkspaceFactory.cxx:37 HistoToWorkspaceFactory.cxx:38 HistoToWorkspaceFactory.cxx:39 HistoToWorkspaceFactory.cxx:40 HistoToWorkspaceFactory.cxx:41 HistoToWorkspaceFactory.cxx:42 HistoToWorkspaceFactory.cxx:43 HistoToWorkspaceFactory.cxx:44 HistoToWorkspaceFactory.cxx:45 HistoToWorkspaceFactory.cxx:46 HistoToWorkspaceFactory.cxx:47 HistoToWorkspaceFactory.cxx:48 HistoToWorkspaceFactory.cxx:49 HistoToWorkspaceFactory.cxx:50 HistoToWorkspaceFactory.cxx:51 HistoToWorkspaceFactory.cxx:52 HistoToWorkspaceFactory.cxx:53 HistoToWorkspaceFactory.cxx:54 HistoToWorkspaceFactory.cxx:55 HistoToWorkspaceFactory.cxx:56 HistoToWorkspaceFactory.cxx:57 HistoToWorkspaceFactory.cxx:58 HistoToWorkspaceFactory.cxx:59 HistoToWorkspaceFactory.cxx:60 HistoToWorkspaceFactory.cxx:61 HistoToWorkspaceFactory.cxx:62 HistoToWorkspaceFactory.cxx:63 HistoToWorkspaceFactory.cxx:64 HistoToWorkspaceFactory.cxx:65 HistoToWorkspaceFactory.cxx:66 HistoToWorkspaceFactory.cxx:67 HistoToWorkspaceFactory.cxx:68 HistoToWorkspaceFactory.cxx:69 HistoToWorkspaceFactory.cxx:70 HistoToWorkspaceFactory.cxx:71 HistoToWorkspaceFactory.cxx:72 HistoToWorkspaceFactory.cxx:73 HistoToWorkspaceFactory.cxx:74 HistoToWorkspaceFactory.cxx:75 HistoToWorkspaceFactory.cxx:76 HistoToWorkspaceFactory.cxx:77 HistoToWorkspaceFactory.cxx:78 HistoToWorkspaceFactory.cxx:79 HistoToWorkspaceFactory.cxx:80 HistoToWorkspaceFactory.cxx:81 HistoToWorkspaceFactory.cxx:82 HistoToWorkspaceFactory.cxx:83 HistoToWorkspaceFactory.cxx:84 HistoToWorkspaceFactory.cxx:85 HistoToWorkspaceFactory.cxx:86 HistoToWorkspaceFactory.cxx:87 HistoToWorkspaceFactory.cxx:88 HistoToWorkspaceFactory.cxx:89 HistoToWorkspaceFactory.cxx:90 HistoToWorkspaceFactory.cxx:91 HistoToWorkspaceFactory.cxx:92 HistoToWorkspaceFactory.cxx:93 HistoToWorkspaceFactory.cxx:94 HistoToWorkspaceFactory.cxx:95 HistoToWorkspaceFactory.cxx:96 HistoToWorkspaceFactory.cxx:97 HistoToWorkspaceFactory.cxx:98 HistoToWorkspaceFactory.cxx:99 HistoToWorkspaceFactory.cxx:100 HistoToWorkspaceFactory.cxx:101 HistoToWorkspaceFactory.cxx:102 HistoToWorkspaceFactory.cxx:103 HistoToWorkspaceFactory.cxx:104 HistoToWorkspaceFactory.cxx:105 HistoToWorkspaceFactory.cxx:106 HistoToWorkspaceFactory.cxx:107 HistoToWorkspaceFactory.cxx:108 HistoToWorkspaceFactory.cxx:109 HistoToWorkspaceFactory.cxx:110 HistoToWorkspaceFactory.cxx:111 HistoToWorkspaceFactory.cxx:112 HistoToWorkspaceFactory.cxx:113 HistoToWorkspaceFactory.cxx:114 HistoToWorkspaceFactory.cxx:115 HistoToWorkspaceFactory.cxx:116 HistoToWorkspaceFactory.cxx:117 HistoToWorkspaceFactory.cxx:118 HistoToWorkspaceFactory.cxx:119 HistoToWorkspaceFactory.cxx:120 HistoToWorkspaceFactory.cxx:121 HistoToWorkspaceFactory.cxx:122 HistoToWorkspaceFactory.cxx:123 HistoToWorkspaceFactory.cxx:124 HistoToWorkspaceFactory.cxx:125 HistoToWorkspaceFactory.cxx:126 HistoToWorkspaceFactory.cxx:127 HistoToWorkspaceFactory.cxx:128 HistoToWorkspaceFactory.cxx:129 HistoToWorkspaceFactory.cxx:130 HistoToWorkspaceFactory.cxx:131 HistoToWorkspaceFactory.cxx:132 HistoToWorkspaceFactory.cxx:133 HistoToWorkspaceFactory.cxx:134 HistoToWorkspaceFactory.cxx:135 HistoToWorkspaceFactory.cxx:136 HistoToWorkspaceFactory.cxx:137 HistoToWorkspaceFactory.cxx:138 HistoToWorkspaceFactory.cxx:139 HistoToWorkspaceFactory.cxx:140 HistoToWorkspaceFactory.cxx:141 HistoToWorkspaceFactory.cxx:142 HistoToWorkspaceFactory.cxx:143 HistoToWorkspaceFactory.cxx:144 HistoToWorkspaceFactory.cxx:145 HistoToWorkspaceFactory.cxx:146 HistoToWorkspaceFactory.cxx:147 HistoToWorkspaceFactory.cxx:148 HistoToWorkspaceFactory.cxx:149 HistoToWorkspaceFactory.cxx:150 HistoToWorkspaceFactory.cxx:151 HistoToWorkspaceFactory.cxx:152 HistoToWorkspaceFactory.cxx:153 HistoToWorkspaceFactory.cxx:154 HistoToWorkspaceFactory.cxx:155 HistoToWorkspaceFactory.cxx:156 HistoToWorkspaceFactory.cxx:157 HistoToWorkspaceFactory.cxx:158 HistoToWorkspaceFactory.cxx:159 HistoToWorkspaceFactory.cxx:160 HistoToWorkspaceFactory.cxx:161 HistoToWorkspaceFactory.cxx:162 HistoToWorkspaceFactory.cxx:163 HistoToWorkspaceFactory.cxx:164 HistoToWorkspaceFactory.cxx:165 HistoToWorkspaceFactory.cxx:166 HistoToWorkspaceFactory.cxx:167 HistoToWorkspaceFactory.cxx:168 HistoToWorkspaceFactory.cxx:169 HistoToWorkspaceFactory.cxx:170 HistoToWorkspaceFactory.cxx:171 HistoToWorkspaceFactory.cxx:172 HistoToWorkspaceFactory.cxx:173 HistoToWorkspaceFactory.cxx:174 HistoToWorkspaceFactory.cxx:175 HistoToWorkspaceFactory.cxx:176 HistoToWorkspaceFactory.cxx:177 HistoToWorkspaceFactory.cxx:178 HistoToWorkspaceFactory.cxx:179 HistoToWorkspaceFactory.cxx:180 HistoToWorkspaceFactory.cxx:181 HistoToWorkspaceFactory.cxx:182 HistoToWorkspaceFactory.cxx:183 HistoToWorkspaceFactory.cxx:184 HistoToWorkspaceFactory.cxx:185 HistoToWorkspaceFactory.cxx:186 HistoToWorkspaceFactory.cxx:187 HistoToWorkspaceFactory.cxx:188 HistoToWorkspaceFactory.cxx:189 HistoToWorkspaceFactory.cxx:190 HistoToWorkspaceFactory.cxx:191 HistoToWorkspaceFactory.cxx:192 HistoToWorkspaceFactory.cxx:193 HistoToWorkspaceFactory.cxx:194 HistoToWorkspaceFactory.cxx:195 HistoToWorkspaceFactory.cxx:196 HistoToWorkspaceFactory.cxx:197 HistoToWorkspaceFactory.cxx:198 HistoToWorkspaceFactory.cxx:199 HistoToWorkspaceFactory.cxx:200 HistoToWorkspaceFactory.cxx:201 HistoToWorkspaceFactory.cxx:202 HistoToWorkspaceFactory.cxx:203 HistoToWorkspaceFactory.cxx:204 HistoToWorkspaceFactory.cxx:205 HistoToWorkspaceFactory.cxx:206 HistoToWorkspaceFactory.cxx:207 HistoToWorkspaceFactory.cxx:208 HistoToWorkspaceFactory.cxx:209 HistoToWorkspaceFactory.cxx:210 HistoToWorkspaceFactory.cxx:211 HistoToWorkspaceFactory.cxx:212 HistoToWorkspaceFactory.cxx:213 HistoToWorkspaceFactory.cxx:214 HistoToWorkspaceFactory.cxx:215 HistoToWorkspaceFactory.cxx:216 HistoToWorkspaceFactory.cxx:217 HistoToWorkspaceFactory.cxx:218 HistoToWorkspaceFactory.cxx:219 HistoToWorkspaceFactory.cxx:220 HistoToWorkspaceFactory.cxx:221 HistoToWorkspaceFactory.cxx:222 HistoToWorkspaceFactory.cxx:223 HistoToWorkspaceFactory.cxx:224 HistoToWorkspaceFactory.cxx:225 HistoToWorkspaceFactory.cxx:226 HistoToWorkspaceFactory.cxx:227 HistoToWorkspaceFactory.cxx:228 HistoToWorkspaceFactory.cxx:229 HistoToWorkspaceFactory.cxx:230 HistoToWorkspaceFactory.cxx:231 HistoToWorkspaceFactory.cxx:232 HistoToWorkspaceFactory.cxx:233 HistoToWorkspaceFactory.cxx:234 HistoToWorkspaceFactory.cxx:235 HistoToWorkspaceFactory.cxx:236 HistoToWorkspaceFactory.cxx:237 HistoToWorkspaceFactory.cxx:238 HistoToWorkspaceFactory.cxx:239 HistoToWorkspaceFactory.cxx:240 HistoToWorkspaceFactory.cxx:241 HistoToWorkspaceFactory.cxx:242 HistoToWorkspaceFactory.cxx:243 HistoToWorkspaceFactory.cxx:244 HistoToWorkspaceFactory.cxx:245 HistoToWorkspaceFactory.cxx:246 HistoToWorkspaceFactory.cxx:247 HistoToWorkspaceFactory.cxx:248 HistoToWorkspaceFactory.cxx:249 HistoToWorkspaceFactory.cxx:250 HistoToWorkspaceFactory.cxx:251 HistoToWorkspaceFactory.cxx:252 HistoToWorkspaceFactory.cxx:253 HistoToWorkspaceFactory.cxx:254 HistoToWorkspaceFactory.cxx:255 HistoToWorkspaceFactory.cxx:256 HistoToWorkspaceFactory.cxx:257 HistoToWorkspaceFactory.cxx:258 HistoToWorkspaceFactory.cxx:259 HistoToWorkspaceFactory.cxx:260 HistoToWorkspaceFactory.cxx:261 HistoToWorkspaceFactory.cxx:262 HistoToWorkspaceFactory.cxx:263 HistoToWorkspaceFactory.cxx:264 HistoToWorkspaceFactory.cxx:265 HistoToWorkspaceFactory.cxx:266 HistoToWorkspaceFactory.cxx:267 HistoToWorkspaceFactory.cxx:268 HistoToWorkspaceFactory.cxx:269 HistoToWorkspaceFactory.cxx:270 HistoToWorkspaceFactory.cxx:271 HistoToWorkspaceFactory.cxx:272 HistoToWorkspaceFactory.cxx:273 HistoToWorkspaceFactory.cxx:274 HistoToWorkspaceFactory.cxx:275 HistoToWorkspaceFactory.cxx:276 HistoToWorkspaceFactory.cxx:277 HistoToWorkspaceFactory.cxx:278 HistoToWorkspaceFactory.cxx:279 HistoToWorkspaceFactory.cxx:280 HistoToWorkspaceFactory.cxx:281 HistoToWorkspaceFactory.cxx:282 HistoToWorkspaceFactory.cxx:283 HistoToWorkspaceFactory.cxx:284 HistoToWorkspaceFactory.cxx:285 HistoToWorkspaceFactory.cxx:286 HistoToWorkspaceFactory.cxx:287 HistoToWorkspaceFactory.cxx:288 HistoToWorkspaceFactory.cxx:289 HistoToWorkspaceFactory.cxx:290 HistoToWorkspaceFactory.cxx:291 HistoToWorkspaceFactory.cxx:292 HistoToWorkspaceFactory.cxx:293 HistoToWorkspaceFactory.cxx:294 HistoToWorkspaceFactory.cxx:295 HistoToWorkspaceFactory.cxx:296 HistoToWorkspaceFactory.cxx:297 HistoToWorkspaceFactory.cxx:298 HistoToWorkspaceFactory.cxx:299 HistoToWorkspaceFactory.cxx:300 HistoToWorkspaceFactory.cxx:301 HistoToWorkspaceFactory.cxx:302 HistoToWorkspaceFactory.cxx:303 HistoToWorkspaceFactory.cxx:304 HistoToWorkspaceFactory.cxx:305 HistoToWorkspaceFactory.cxx:306 HistoToWorkspaceFactory.cxx:307 HistoToWorkspaceFactory.cxx:308 HistoToWorkspaceFactory.cxx:309 HistoToWorkspaceFactory.cxx:310 HistoToWorkspaceFactory.cxx:311 HistoToWorkspaceFactory.cxx:312 HistoToWorkspaceFactory.cxx:313 HistoToWorkspaceFactory.cxx:314 HistoToWorkspaceFactory.cxx:315 HistoToWorkspaceFactory.cxx:316 HistoToWorkspaceFactory.cxx:317 HistoToWorkspaceFactory.cxx:318 HistoToWorkspaceFactory.cxx:319 HistoToWorkspaceFactory.cxx:320 HistoToWorkspaceFactory.cxx:321 HistoToWorkspaceFactory.cxx:322 HistoToWorkspaceFactory.cxx:323 HistoToWorkspaceFactory.cxx:324 HistoToWorkspaceFactory.cxx:325 HistoToWorkspaceFactory.cxx:326 HistoToWorkspaceFactory.cxx:327 HistoToWorkspaceFactory.cxx:328 HistoToWorkspaceFactory.cxx:329 HistoToWorkspaceFactory.cxx:330 HistoToWorkspaceFactory.cxx:331 HistoToWorkspaceFactory.cxx:332 HistoToWorkspaceFactory.cxx:333 HistoToWorkspaceFactory.cxx:334 HistoToWorkspaceFactory.cxx:335 HistoToWorkspaceFactory.cxx:336 HistoToWorkspaceFactory.cxx:337 HistoToWorkspaceFactory.cxx:338 HistoToWorkspaceFactory.cxx:339 HistoToWorkspaceFactory.cxx:340 HistoToWorkspaceFactory.cxx:341 HistoToWorkspaceFactory.cxx:342 HistoToWorkspaceFactory.cxx:343 HistoToWorkspaceFactory.cxx:344 HistoToWorkspaceFactory.cxx:345 HistoToWorkspaceFactory.cxx:346 HistoToWorkspaceFactory.cxx:347 HistoToWorkspaceFactory.cxx:348 HistoToWorkspaceFactory.cxx:349 HistoToWorkspaceFactory.cxx:350 HistoToWorkspaceFactory.cxx:351 HistoToWorkspaceFactory.cxx:352 HistoToWorkspaceFactory.cxx:353 HistoToWorkspaceFactory.cxx:354 HistoToWorkspaceFactory.cxx:355 HistoToWorkspaceFactory.cxx:356 HistoToWorkspaceFactory.cxx:357 HistoToWorkspaceFactory.cxx:358 HistoToWorkspaceFactory.cxx:359 HistoToWorkspaceFactory.cxx:360 HistoToWorkspaceFactory.cxx:361 HistoToWorkspaceFactory.cxx:362 HistoToWorkspaceFactory.cxx:363 HistoToWorkspaceFactory.cxx:364 HistoToWorkspaceFactory.cxx:365 HistoToWorkspaceFactory.cxx:366 HistoToWorkspaceFactory.cxx:367 HistoToWorkspaceFactory.cxx:368 HistoToWorkspaceFactory.cxx:369 HistoToWorkspaceFactory.cxx:370 HistoToWorkspaceFactory.cxx:371 HistoToWorkspaceFactory.cxx:372 HistoToWorkspaceFactory.cxx:373 HistoToWorkspaceFactory.cxx:374 HistoToWorkspaceFactory.cxx:375 HistoToWorkspaceFactory.cxx:376 HistoToWorkspaceFactory.cxx:377 HistoToWorkspaceFactory.cxx:378 HistoToWorkspaceFactory.cxx:379 HistoToWorkspaceFactory.cxx:380 HistoToWorkspaceFactory.cxx:381 HistoToWorkspaceFactory.cxx:382 HistoToWorkspaceFactory.cxx:383 HistoToWorkspaceFactory.cxx:384 HistoToWorkspaceFactory.cxx:385 HistoToWorkspaceFactory.cxx:386 HistoToWorkspaceFactory.cxx:387 HistoToWorkspaceFactory.cxx:388 HistoToWorkspaceFactory.cxx:389 HistoToWorkspaceFactory.cxx:390 HistoToWorkspaceFactory.cxx:391 HistoToWorkspaceFactory.cxx:392 HistoToWorkspaceFactory.cxx:393 HistoToWorkspaceFactory.cxx:394 HistoToWorkspaceFactory.cxx:395 HistoToWorkspaceFactory.cxx:396 HistoToWorkspaceFactory.cxx:397 HistoToWorkspaceFactory.cxx:398 HistoToWorkspaceFactory.cxx:399 HistoToWorkspaceFactory.cxx:400 HistoToWorkspaceFactory.cxx:401 HistoToWorkspaceFactory.cxx:402 HistoToWorkspaceFactory.cxx:403 HistoToWorkspaceFactory.cxx:404 HistoToWorkspaceFactory.cxx:405 HistoToWorkspaceFactory.cxx:406 HistoToWorkspaceFactory.cxx:407 HistoToWorkspaceFactory.cxx:408 HistoToWorkspaceFactory.cxx:409 HistoToWorkspaceFactory.cxx:410 HistoToWorkspaceFactory.cxx:411 HistoToWorkspaceFactory.cxx:412 HistoToWorkspaceFactory.cxx:413 HistoToWorkspaceFactory.cxx:414 HistoToWorkspaceFactory.cxx:415 HistoToWorkspaceFactory.cxx:416 HistoToWorkspaceFactory.cxx:417 HistoToWorkspaceFactory.cxx:418 HistoToWorkspaceFactory.cxx:419 HistoToWorkspaceFactory.cxx:420 HistoToWorkspaceFactory.cxx:421 HistoToWorkspaceFactory.cxx:422 HistoToWorkspaceFactory.cxx:423 HistoToWorkspaceFactory.cxx:424 HistoToWorkspaceFactory.cxx:425 HistoToWorkspaceFactory.cxx:426 HistoToWorkspaceFactory.cxx:427 HistoToWorkspaceFactory.cxx:428 HistoToWorkspaceFactory.cxx:429 HistoToWorkspaceFactory.cxx:430 HistoToWorkspaceFactory.cxx:431 HistoToWorkspaceFactory.cxx:432 HistoToWorkspaceFactory.cxx:433 HistoToWorkspaceFactory.cxx:434 HistoToWorkspaceFactory.cxx:435 HistoToWorkspaceFactory.cxx:436 HistoToWorkspaceFactory.cxx:437 HistoToWorkspaceFactory.cxx:438 HistoToWorkspaceFactory.cxx:439 HistoToWorkspaceFactory.cxx:440 HistoToWorkspaceFactory.cxx:441 HistoToWorkspaceFactory.cxx:442 HistoToWorkspaceFactory.cxx:443 HistoToWorkspaceFactory.cxx:444 HistoToWorkspaceFactory.cxx:445 HistoToWorkspaceFactory.cxx:446 HistoToWorkspaceFactory.cxx:447 HistoToWorkspaceFactory.cxx:448 HistoToWorkspaceFactory.cxx:449 HistoToWorkspaceFactory.cxx:450 HistoToWorkspaceFactory.cxx:451 HistoToWorkspaceFactory.cxx:452 HistoToWorkspaceFactory.cxx:453 HistoToWorkspaceFactory.cxx:454 HistoToWorkspaceFactory.cxx:455 HistoToWorkspaceFactory.cxx:456 HistoToWorkspaceFactory.cxx:457 HistoToWorkspaceFactory.cxx:458 HistoToWorkspaceFactory.cxx:459 HistoToWorkspaceFactory.cxx:460 HistoToWorkspaceFactory.cxx:461 HistoToWorkspaceFactory.cxx:462 HistoToWorkspaceFactory.cxx:463 HistoToWorkspaceFactory.cxx:464 HistoToWorkspaceFactory.cxx:465 HistoToWorkspaceFactory.cxx:466 HistoToWorkspaceFactory.cxx:467 HistoToWorkspaceFactory.cxx:468 HistoToWorkspaceFactory.cxx:469 HistoToWorkspaceFactory.cxx:470 HistoToWorkspaceFactory.cxx:471 HistoToWorkspaceFactory.cxx:472 HistoToWorkspaceFactory.cxx:473 HistoToWorkspaceFactory.cxx:474 HistoToWorkspaceFactory.cxx:475 HistoToWorkspaceFactory.cxx:476 HistoToWorkspaceFactory.cxx:477 HistoToWorkspaceFactory.cxx:478 HistoToWorkspaceFactory.cxx:479 HistoToWorkspaceFactory.cxx:480 HistoToWorkspaceFactory.cxx:481 HistoToWorkspaceFactory.cxx:482 HistoToWorkspaceFactory.cxx:483 HistoToWorkspaceFactory.cxx:484 HistoToWorkspaceFactory.cxx:485 HistoToWorkspaceFactory.cxx:486 HistoToWorkspaceFactory.cxx:487 HistoToWorkspaceFactory.cxx:488 HistoToWorkspaceFactory.cxx:489 HistoToWorkspaceFactory.cxx:490 HistoToWorkspaceFactory.cxx:491 HistoToWorkspaceFactory.cxx:492 HistoToWorkspaceFactory.cxx:493 HistoToWorkspaceFactory.cxx:494 HistoToWorkspaceFactory.cxx:495 HistoToWorkspaceFactory.cxx:496 HistoToWorkspaceFactory.cxx:497 HistoToWorkspaceFactory.cxx:498 HistoToWorkspaceFactory.cxx:499 HistoToWorkspaceFactory.cxx:500 HistoToWorkspaceFactory.cxx:501 HistoToWorkspaceFactory.cxx:502 HistoToWorkspaceFactory.cxx:503 HistoToWorkspaceFactory.cxx:504 HistoToWorkspaceFactory.cxx:505 HistoToWorkspaceFactory.cxx:506 HistoToWorkspaceFactory.cxx:507 HistoToWorkspaceFactory.cxx:508 HistoToWorkspaceFactory.cxx:509 HistoToWorkspaceFactory.cxx:510 HistoToWorkspaceFactory.cxx:511 HistoToWorkspaceFactory.cxx:512 HistoToWorkspaceFactory.cxx:513 HistoToWorkspaceFactory.cxx:514 HistoToWorkspaceFactory.cxx:515 HistoToWorkspaceFactory.cxx:516 HistoToWorkspaceFactory.cxx:517 HistoToWorkspaceFactory.cxx:518 HistoToWorkspaceFactory.cxx:519 HistoToWorkspaceFactory.cxx:520 HistoToWorkspaceFactory.cxx:521 HistoToWorkspaceFactory.cxx:522 HistoToWorkspaceFactory.cxx:523 HistoToWorkspaceFactory.cxx:524 HistoToWorkspaceFactory.cxx:525 HistoToWorkspaceFactory.cxx:526 HistoToWorkspaceFactory.cxx:527 HistoToWorkspaceFactory.cxx:528 HistoToWorkspaceFactory.cxx:529 HistoToWorkspaceFactory.cxx:530 HistoToWorkspaceFactory.cxx:531 HistoToWorkspaceFactory.cxx:532 HistoToWorkspaceFactory.cxx:533 HistoToWorkspaceFactory.cxx:534 HistoToWorkspaceFactory.cxx:535 HistoToWorkspaceFactory.cxx:536 HistoToWorkspaceFactory.cxx:537 HistoToWorkspaceFactory.cxx:538 HistoToWorkspaceFactory.cxx:539 HistoToWorkspaceFactory.cxx:540 HistoToWorkspaceFactory.cxx:541 HistoToWorkspaceFactory.cxx:542 HistoToWorkspaceFactory.cxx:543 HistoToWorkspaceFactory.cxx:544 HistoToWorkspaceFactory.cxx:545 HistoToWorkspaceFactory.cxx:546 HistoToWorkspaceFactory.cxx:547 HistoToWorkspaceFactory.cxx:548 HistoToWorkspaceFactory.cxx:549 HistoToWorkspaceFactory.cxx:550 HistoToWorkspaceFactory.cxx:551 HistoToWorkspaceFactory.cxx:552 HistoToWorkspaceFactory.cxx:553 HistoToWorkspaceFactory.cxx:554 HistoToWorkspaceFactory.cxx:555 HistoToWorkspaceFactory.cxx:556 HistoToWorkspaceFactory.cxx:557 HistoToWorkspaceFactory.cxx:558 HistoToWorkspaceFactory.cxx:559 HistoToWorkspaceFactory.cxx:560 HistoToWorkspaceFactory.cxx:561 HistoToWorkspaceFactory.cxx:562 HistoToWorkspaceFactory.cxx:563 HistoToWorkspaceFactory.cxx:564 HistoToWorkspaceFactory.cxx:565 HistoToWorkspaceFactory.cxx:566 HistoToWorkspaceFactory.cxx:567 HistoToWorkspaceFactory.cxx:568 HistoToWorkspaceFactory.cxx:569 HistoToWorkspaceFactory.cxx:570 HistoToWorkspaceFactory.cxx:571 HistoToWorkspaceFactory.cxx:572 HistoToWorkspaceFactory.cxx:573 HistoToWorkspaceFactory.cxx:574 HistoToWorkspaceFactory.cxx:575 HistoToWorkspaceFactory.cxx:576 HistoToWorkspaceFactory.cxx:577 HistoToWorkspaceFactory.cxx:578 HistoToWorkspaceFactory.cxx:579 HistoToWorkspaceFactory.cxx:580 HistoToWorkspaceFactory.cxx:581 HistoToWorkspaceFactory.cxx:582 HistoToWorkspaceFactory.cxx:583 HistoToWorkspaceFactory.cxx:584 HistoToWorkspaceFactory.cxx:585 HistoToWorkspaceFactory.cxx:586 HistoToWorkspaceFactory.cxx:587 HistoToWorkspaceFactory.cxx:588 HistoToWorkspaceFactory.cxx:589 HistoToWorkspaceFactory.cxx:590 HistoToWorkspaceFactory.cxx:591 HistoToWorkspaceFactory.cxx:592 HistoToWorkspaceFactory.cxx:593 HistoToWorkspaceFactory.cxx:594 HistoToWorkspaceFactory.cxx:595 HistoToWorkspaceFactory.cxx:596 HistoToWorkspaceFactory.cxx:597 HistoToWorkspaceFactory.cxx:598 HistoToWorkspaceFactory.cxx:599 HistoToWorkspaceFactory.cxx:600 HistoToWorkspaceFactory.cxx:601 HistoToWorkspaceFactory.cxx:602 HistoToWorkspaceFactory.cxx:603 HistoToWorkspaceFactory.cxx:604 HistoToWorkspaceFactory.cxx:605 HistoToWorkspaceFactory.cxx:606 HistoToWorkspaceFactory.cxx:607 HistoToWorkspaceFactory.cxx:608 HistoToWorkspaceFactory.cxx:609 HistoToWorkspaceFactory.cxx:610 HistoToWorkspaceFactory.cxx:611 HistoToWorkspaceFactory.cxx:612 HistoToWorkspaceFactory.cxx:613 HistoToWorkspaceFactory.cxx:614 HistoToWorkspaceFactory.cxx:615 HistoToWorkspaceFactory.cxx:616 HistoToWorkspaceFactory.cxx:617 HistoToWorkspaceFactory.cxx:618 HistoToWorkspaceFactory.cxx:619 HistoToWorkspaceFactory.cxx:620 HistoToWorkspaceFactory.cxx:621 HistoToWorkspaceFactory.cxx:622 HistoToWorkspaceFactory.cxx:623 HistoToWorkspaceFactory.cxx:624 HistoToWorkspaceFactory.cxx:625 HistoToWorkspaceFactory.cxx:626 HistoToWorkspaceFactory.cxx:627 HistoToWorkspaceFactory.cxx:628 HistoToWorkspaceFactory.cxx:629 HistoToWorkspaceFactory.cxx:630 HistoToWorkspaceFactory.cxx:631 HistoToWorkspaceFactory.cxx:632 HistoToWorkspaceFactory.cxx:633 HistoToWorkspaceFactory.cxx:634 HistoToWorkspaceFactory.cxx:635 HistoToWorkspaceFactory.cxx:636 HistoToWorkspaceFactory.cxx:637 HistoToWorkspaceFactory.cxx:638 HistoToWorkspaceFactory.cxx:639 HistoToWorkspaceFactory.cxx:640 HistoToWorkspaceFactory.cxx:641 HistoToWorkspaceFactory.cxx:642 HistoToWorkspaceFactory.cxx:643 HistoToWorkspaceFactory.cxx:644 HistoToWorkspaceFactory.cxx:645 HistoToWorkspaceFactory.cxx:646 HistoToWorkspaceFactory.cxx:647 HistoToWorkspaceFactory.cxx:648 HistoToWorkspaceFactory.cxx:649 HistoToWorkspaceFactory.cxx:650 HistoToWorkspaceFactory.cxx:651 HistoToWorkspaceFactory.cxx:652 HistoToWorkspaceFactory.cxx:653 HistoToWorkspaceFactory.cxx:654 HistoToWorkspaceFactory.cxx:655 HistoToWorkspaceFactory.cxx:656 HistoToWorkspaceFactory.cxx:657 HistoToWorkspaceFactory.cxx:658 HistoToWorkspaceFactory.cxx:659 HistoToWorkspaceFactory.cxx:660 HistoToWorkspaceFactory.cxx:661 HistoToWorkspaceFactory.cxx:662 HistoToWorkspaceFactory.cxx:663 HistoToWorkspaceFactory.cxx:664 HistoToWorkspaceFactory.cxx:665 HistoToWorkspaceFactory.cxx:666 HistoToWorkspaceFactory.cxx:667 HistoToWorkspaceFactory.cxx:668 HistoToWorkspaceFactory.cxx:669 HistoToWorkspaceFactory.cxx:670 HistoToWorkspaceFactory.cxx:671 HistoToWorkspaceFactory.cxx:672 HistoToWorkspaceFactory.cxx:673 HistoToWorkspaceFactory.cxx:674 HistoToWorkspaceFactory.cxx:675 HistoToWorkspaceFactory.cxx:676 HistoToWorkspaceFactory.cxx:677 HistoToWorkspaceFactory.cxx:678 HistoToWorkspaceFactory.cxx:679 HistoToWorkspaceFactory.cxx:680 HistoToWorkspaceFactory.cxx:681 HistoToWorkspaceFactory.cxx:682 HistoToWorkspaceFactory.cxx:683 HistoToWorkspaceFactory.cxx:684 HistoToWorkspaceFactory.cxx:685 HistoToWorkspaceFactory.cxx:686 HistoToWorkspaceFactory.cxx:687 HistoToWorkspaceFactory.cxx:688 HistoToWorkspaceFactory.cxx:689 HistoToWorkspaceFactory.cxx:690 HistoToWorkspaceFactory.cxx:691 HistoToWorkspaceFactory.cxx:692 HistoToWorkspaceFactory.cxx:693 HistoToWorkspaceFactory.cxx:694 HistoToWorkspaceFactory.cxx:695 HistoToWorkspaceFactory.cxx:696 HistoToWorkspaceFactory.cxx:697 HistoToWorkspaceFactory.cxx:698 HistoToWorkspaceFactory.cxx:699 HistoToWorkspaceFactory.cxx:700 HistoToWorkspaceFactory.cxx:701 HistoToWorkspaceFactory.cxx:702 HistoToWorkspaceFactory.cxx:703 HistoToWorkspaceFactory.cxx:704 HistoToWorkspaceFactory.cxx:705 HistoToWorkspaceFactory.cxx:706 HistoToWorkspaceFactory.cxx:707 HistoToWorkspaceFactory.cxx:708 HistoToWorkspaceFactory.cxx:709 HistoToWorkspaceFactory.cxx:710 HistoToWorkspaceFactory.cxx:711 HistoToWorkspaceFactory.cxx:712 HistoToWorkspaceFactory.cxx:713 HistoToWorkspaceFactory.cxx:714 HistoToWorkspaceFactory.cxx:715 HistoToWorkspaceFactory.cxx:716 HistoToWorkspaceFactory.cxx:717 HistoToWorkspaceFactory.cxx:718 HistoToWorkspaceFactory.cxx:719 HistoToWorkspaceFactory.cxx:720 HistoToWorkspaceFactory.cxx:721 HistoToWorkspaceFactory.cxx:722 HistoToWorkspaceFactory.cxx:723 HistoToWorkspaceFactory.cxx:724 HistoToWorkspaceFactory.cxx:725 HistoToWorkspaceFactory.cxx:726 HistoToWorkspaceFactory.cxx:727 HistoToWorkspaceFactory.cxx:728 HistoToWorkspaceFactory.cxx:729 HistoToWorkspaceFactory.cxx:730 HistoToWorkspaceFactory.cxx:731 HistoToWorkspaceFactory.cxx:732 HistoToWorkspaceFactory.cxx:733 HistoToWorkspaceFactory.cxx:734 HistoToWorkspaceFactory.cxx:735 HistoToWorkspaceFactory.cxx:736 HistoToWorkspaceFactory.cxx:737 HistoToWorkspaceFactory.cxx:738 HistoToWorkspaceFactory.cxx:739 HistoToWorkspaceFactory.cxx:740 HistoToWorkspaceFactory.cxx:741 HistoToWorkspaceFactory.cxx:742 HistoToWorkspaceFactory.cxx:743 HistoToWorkspaceFactory.cxx:744 HistoToWorkspaceFactory.cxx:745 HistoToWorkspaceFactory.cxx:746 HistoToWorkspaceFactory.cxx:747 HistoToWorkspaceFactory.cxx:748 HistoToWorkspaceFactory.cxx:749 HistoToWorkspaceFactory.cxx:750 HistoToWorkspaceFactory.cxx:751 HistoToWorkspaceFactory.cxx:752 HistoToWorkspaceFactory.cxx:753 HistoToWorkspaceFactory.cxx:754 HistoToWorkspaceFactory.cxx:755 HistoToWorkspaceFactory.cxx:756 HistoToWorkspaceFactory.cxx:757 HistoToWorkspaceFactory.cxx:758 HistoToWorkspaceFactory.cxx:759 HistoToWorkspaceFactory.cxx:760 HistoToWorkspaceFactory.cxx:761 HistoToWorkspaceFactory.cxx:762 HistoToWorkspaceFactory.cxx:763 HistoToWorkspaceFactory.cxx:764 HistoToWorkspaceFactory.cxx:765 HistoToWorkspaceFactory.cxx:766 HistoToWorkspaceFactory.cxx:767 HistoToWorkspaceFactory.cxx:768 HistoToWorkspaceFactory.cxx:769 HistoToWorkspaceFactory.cxx:770 HistoToWorkspaceFactory.cxx:771 HistoToWorkspaceFactory.cxx:772 HistoToWorkspaceFactory.cxx:773 HistoToWorkspaceFactory.cxx:774 HistoToWorkspaceFactory.cxx:775 HistoToWorkspaceFactory.cxx:776 HistoToWorkspaceFactory.cxx:777 HistoToWorkspaceFactory.cxx:778 HistoToWorkspaceFactory.cxx:779 HistoToWorkspaceFactory.cxx:780 HistoToWorkspaceFactory.cxx:781 HistoToWorkspaceFactory.cxx:782 HistoToWorkspaceFactory.cxx:783 HistoToWorkspaceFactory.cxx:784 HistoToWorkspaceFactory.cxx:785 HistoToWorkspaceFactory.cxx:786 HistoToWorkspaceFactory.cxx:787 HistoToWorkspaceFactory.cxx:788 HistoToWorkspaceFactory.cxx:789 HistoToWorkspaceFactory.cxx:790 HistoToWorkspaceFactory.cxx:791 HistoToWorkspaceFactory.cxx:792 HistoToWorkspaceFactory.cxx:793 HistoToWorkspaceFactory.cxx:794 HistoToWorkspaceFactory.cxx:795 HistoToWorkspaceFactory.cxx:796 HistoToWorkspaceFactory.cxx:797 HistoToWorkspaceFactory.cxx:798 HistoToWorkspaceFactory.cxx:799 HistoToWorkspaceFactory.cxx:800 HistoToWorkspaceFactory.cxx:801 HistoToWorkspaceFactory.cxx:802 HistoToWorkspaceFactory.cxx:803 HistoToWorkspaceFactory.cxx:804 HistoToWorkspaceFactory.cxx:805 HistoToWorkspaceFactory.cxx:806 HistoToWorkspaceFactory.cxx:807 HistoToWorkspaceFactory.cxx:808 HistoToWorkspaceFactory.cxx:809 HistoToWorkspaceFactory.cxx:810 HistoToWorkspaceFactory.cxx:811 HistoToWorkspaceFactory.cxx:812 HistoToWorkspaceFactory.cxx:813 HistoToWorkspaceFactory.cxx:814 HistoToWorkspaceFactory.cxx:815 HistoToWorkspaceFactory.cxx:816 HistoToWorkspaceFactory.cxx:817 HistoToWorkspaceFactory.cxx:818 HistoToWorkspaceFactory.cxx:819 HistoToWorkspaceFactory.cxx:820 HistoToWorkspaceFactory.cxx:821 HistoToWorkspaceFactory.cxx:822 HistoToWorkspaceFactory.cxx:823 HistoToWorkspaceFactory.cxx:824 HistoToWorkspaceFactory.cxx:825 HistoToWorkspaceFactory.cxx:826 HistoToWorkspaceFactory.cxx:827 HistoToWorkspaceFactory.cxx:828 HistoToWorkspaceFactory.cxx:829 HistoToWorkspaceFactory.cxx:830 HistoToWorkspaceFactory.cxx:831 HistoToWorkspaceFactory.cxx:832 HistoToWorkspaceFactory.cxx:833 HistoToWorkspaceFactory.cxx:834 HistoToWorkspaceFactory.cxx:835 HistoToWorkspaceFactory.cxx:836 HistoToWorkspaceFactory.cxx:837 HistoToWorkspaceFactory.cxx:838 HistoToWorkspaceFactory.cxx:839 HistoToWorkspaceFactory.cxx:840 HistoToWorkspaceFactory.cxx:841 HistoToWorkspaceFactory.cxx:842 HistoToWorkspaceFactory.cxx:843 HistoToWorkspaceFactory.cxx:844 HistoToWorkspaceFactory.cxx:845 HistoToWorkspaceFactory.cxx:846 HistoToWorkspaceFactory.cxx:847 HistoToWorkspaceFactory.cxx:848 HistoToWorkspaceFactory.cxx:849 HistoToWorkspaceFactory.cxx:850 HistoToWorkspaceFactory.cxx:851 HistoToWorkspaceFactory.cxx:852 HistoToWorkspaceFactory.cxx:853 HistoToWorkspaceFactory.cxx:854 HistoToWorkspaceFactory.cxx:855 HistoToWorkspaceFactory.cxx:856 HistoToWorkspaceFactory.cxx:857 HistoToWorkspaceFactory.cxx:858 HistoToWorkspaceFactory.cxx:859 HistoToWorkspaceFactory.cxx:860 HistoToWorkspaceFactory.cxx:861 HistoToWorkspaceFactory.cxx:862 HistoToWorkspaceFactory.cxx:863 HistoToWorkspaceFactory.cxx:864 HistoToWorkspaceFactory.cxx:865 HistoToWorkspaceFactory.cxx:866 HistoToWorkspaceFactory.cxx:867 HistoToWorkspaceFactory.cxx:868 HistoToWorkspaceFactory.cxx:869 HistoToWorkspaceFactory.cxx:870 HistoToWorkspaceFactory.cxx:871 HistoToWorkspaceFactory.cxx:872 HistoToWorkspaceFactory.cxx:873 HistoToWorkspaceFactory.cxx:874 HistoToWorkspaceFactory.cxx:875 HistoToWorkspaceFactory.cxx:876 HistoToWorkspaceFactory.cxx:877 HistoToWorkspaceFactory.cxx:878 HistoToWorkspaceFactory.cxx:879 HistoToWorkspaceFactory.cxx:880 HistoToWorkspaceFactory.cxx:881 HistoToWorkspaceFactory.cxx:882 HistoToWorkspaceFactory.cxx:883 HistoToWorkspaceFactory.cxx:884 HistoToWorkspaceFactory.cxx:885 HistoToWorkspaceFactory.cxx:886 HistoToWorkspaceFactory.cxx:887 HistoToWorkspaceFactory.cxx:888 HistoToWorkspaceFactory.cxx:889 HistoToWorkspaceFactory.cxx:890 HistoToWorkspaceFactory.cxx:891 HistoToWorkspaceFactory.cxx:892 HistoToWorkspaceFactory.cxx:893 HistoToWorkspaceFactory.cxx:894 HistoToWorkspaceFactory.cxx:895 HistoToWorkspaceFactory.cxx:896 HistoToWorkspaceFactory.cxx:897 HistoToWorkspaceFactory.cxx:898 HistoToWorkspaceFactory.cxx:899 HistoToWorkspaceFactory.cxx:900 HistoToWorkspaceFactory.cxx:901 HistoToWorkspaceFactory.cxx:902 HistoToWorkspaceFactory.cxx:903 HistoToWorkspaceFactory.cxx:904 HistoToWorkspaceFactory.cxx:905 HistoToWorkspaceFactory.cxx:906 HistoToWorkspaceFactory.cxx:907 HistoToWorkspaceFactory.cxx:908 HistoToWorkspaceFactory.cxx:909 HistoToWorkspaceFactory.cxx:910 HistoToWorkspaceFactory.cxx:911 HistoToWorkspaceFactory.cxx:912 HistoToWorkspaceFactory.cxx:913 HistoToWorkspaceFactory.cxx:914 HistoToWorkspaceFactory.cxx:915 HistoToWorkspaceFactory.cxx:916 HistoToWorkspaceFactory.cxx:917 HistoToWorkspaceFactory.cxx:918 HistoToWorkspaceFactory.cxx:919 HistoToWorkspaceFactory.cxx:920 HistoToWorkspaceFactory.cxx:921 HistoToWorkspaceFactory.cxx:922 HistoToWorkspaceFactory.cxx:923 HistoToWorkspaceFactory.cxx:924 HistoToWorkspaceFactory.cxx:925 HistoToWorkspaceFactory.cxx:926 HistoToWorkspaceFactory.cxx:927 HistoToWorkspaceFactory.cxx:928 HistoToWorkspaceFactory.cxx:929 HistoToWorkspaceFactory.cxx:930 HistoToWorkspaceFactory.cxx:931 HistoToWorkspaceFactory.cxx:932 HistoToWorkspaceFactory.cxx:933 HistoToWorkspaceFactory.cxx:934 HistoToWorkspaceFactory.cxx:935 HistoToWorkspaceFactory.cxx:936 HistoToWorkspaceFactory.cxx:937 HistoToWorkspaceFactory.cxx:938 HistoToWorkspaceFactory.cxx:939 HistoToWorkspaceFactory.cxx:940 HistoToWorkspaceFactory.cxx:941 HistoToWorkspaceFactory.cxx:942 HistoToWorkspaceFactory.cxx:943 HistoToWorkspaceFactory.cxx:944 HistoToWorkspaceFactory.cxx:945 HistoToWorkspaceFactory.cxx:946 HistoToWorkspaceFactory.cxx:947 HistoToWorkspaceFactory.cxx:948 HistoToWorkspaceFactory.cxx:949 HistoToWorkspaceFactory.cxx:950 HistoToWorkspaceFactory.cxx:951 HistoToWorkspaceFactory.cxx:952 HistoToWorkspaceFactory.cxx:953 HistoToWorkspaceFactory.cxx:954 HistoToWorkspaceFactory.cxx:955 HistoToWorkspaceFactory.cxx:956 HistoToWorkspaceFactory.cxx:957 HistoToWorkspaceFactory.cxx:958 HistoToWorkspaceFactory.cxx:959 HistoToWorkspaceFactory.cxx:960 HistoToWorkspaceFactory.cxx:961 HistoToWorkspaceFactory.cxx:962 HistoToWorkspaceFactory.cxx:963 HistoToWorkspaceFactory.cxx:964 HistoToWorkspaceFactory.cxx:965 HistoToWorkspaceFactory.cxx:966 HistoToWorkspaceFactory.cxx:967 HistoToWorkspaceFactory.cxx:968 HistoToWorkspaceFactory.cxx:969 HistoToWorkspaceFactory.cxx:970 HistoToWorkspaceFactory.cxx:971 HistoToWorkspaceFactory.cxx:972 HistoToWorkspaceFactory.cxx:973 HistoToWorkspaceFactory.cxx:974 HistoToWorkspaceFactory.cxx:975 HistoToWorkspaceFactory.cxx:976 HistoToWorkspaceFactory.cxx:977 HistoToWorkspaceFactory.cxx:978 HistoToWorkspaceFactory.cxx:979 HistoToWorkspaceFactory.cxx:980 HistoToWorkspaceFactory.cxx:981 HistoToWorkspaceFactory.cxx:982 HistoToWorkspaceFactory.cxx:983 HistoToWorkspaceFactory.cxx:984 HistoToWorkspaceFactory.cxx:985 HistoToWorkspaceFactory.cxx:986 HistoToWorkspaceFactory.cxx:987 HistoToWorkspaceFactory.cxx:988 HistoToWorkspaceFactory.cxx:989 HistoToWorkspaceFactory.cxx:990 HistoToWorkspaceFactory.cxx:991 HistoToWorkspaceFactory.cxx:992 HistoToWorkspaceFactory.cxx:993 HistoToWorkspaceFactory.cxx:994 HistoToWorkspaceFactory.cxx:995 HistoToWorkspaceFactory.cxx:996 HistoToWorkspaceFactory.cxx:997 HistoToWorkspaceFactory.cxx:998 HistoToWorkspaceFactory.cxx:999 HistoToWorkspaceFactory.cxx:1000 HistoToWorkspaceFactory.cxx:1001 HistoToWorkspaceFactory.cxx:1002 HistoToWorkspaceFactory.cxx:1003 HistoToWorkspaceFactory.cxx:1004 HistoToWorkspaceFactory.cxx:1005 HistoToWorkspaceFactory.cxx:1006 HistoToWorkspaceFactory.cxx:1007 HistoToWorkspaceFactory.cxx:1008 HistoToWorkspaceFactory.cxx:1009 HistoToWorkspaceFactory.cxx:1010 HistoToWorkspaceFactory.cxx:1011 HistoToWorkspaceFactory.cxx:1012 HistoToWorkspaceFactory.cxx:1013 HistoToWorkspaceFactory.cxx:1014 HistoToWorkspaceFactory.cxx:1015 HistoToWorkspaceFactory.cxx:1016 HistoToWorkspaceFactory.cxx:1017 HistoToWorkspaceFactory.cxx:1018 HistoToWorkspaceFactory.cxx:1019 HistoToWorkspaceFactory.cxx:1020 HistoToWorkspaceFactory.cxx:1021 HistoToWorkspaceFactory.cxx:1022 HistoToWorkspaceFactory.cxx:1023 HistoToWorkspaceFactory.cxx:1024 HistoToWorkspaceFactory.cxx:1025 HistoToWorkspaceFactory.cxx:1026 HistoToWorkspaceFactory.cxx:1027 HistoToWorkspaceFactory.cxx:1028 HistoToWorkspaceFactory.cxx:1029 HistoToWorkspaceFactory.cxx:1030 HistoToWorkspaceFactory.cxx:1031 HistoToWorkspaceFactory.cxx:1032 HistoToWorkspaceFactory.cxx:1033 HistoToWorkspaceFactory.cxx:1034 HistoToWorkspaceFactory.cxx:1035 HistoToWorkspaceFactory.cxx:1036 HistoToWorkspaceFactory.cxx:1037 HistoToWorkspaceFactory.cxx:1038 HistoToWorkspaceFactory.cxx:1039 HistoToWorkspaceFactory.cxx:1040 HistoToWorkspaceFactory.cxx:1041 HistoToWorkspaceFactory.cxx:1042 HistoToWorkspaceFactory.cxx:1043 HistoToWorkspaceFactory.cxx:1044 HistoToWorkspaceFactory.cxx:1045 HistoToWorkspaceFactory.cxx:1046 HistoToWorkspaceFactory.cxx:1047 HistoToWorkspaceFactory.cxx:1048 HistoToWorkspaceFactory.cxx:1049 HistoToWorkspaceFactory.cxx:1050 HistoToWorkspaceFactory.cxx:1051 HistoToWorkspaceFactory.cxx:1052 HistoToWorkspaceFactory.cxx:1053 HistoToWorkspaceFactory.cxx:1054 HistoToWorkspaceFactory.cxx:1055 HistoToWorkspaceFactory.cxx:1056 HistoToWorkspaceFactory.cxx:1057 HistoToWorkspaceFactory.cxx:1058 HistoToWorkspaceFactory.cxx:1059 HistoToWorkspaceFactory.cxx:1060 HistoToWorkspaceFactory.cxx:1061 HistoToWorkspaceFactory.cxx:1062 HistoToWorkspaceFactory.cxx:1063 HistoToWorkspaceFactory.cxx:1064 HistoToWorkspaceFactory.cxx:1065 HistoToWorkspaceFactory.cxx:1066 HistoToWorkspaceFactory.cxx:1067 HistoToWorkspaceFactory.cxx:1068 HistoToWorkspaceFactory.cxx:1069 HistoToWorkspaceFactory.cxx:1070 HistoToWorkspaceFactory.cxx:1071 HistoToWorkspaceFactory.cxx:1072 HistoToWorkspaceFactory.cxx:1073 HistoToWorkspaceFactory.cxx:1074 HistoToWorkspaceFactory.cxx:1075 HistoToWorkspaceFactory.cxx:1076 HistoToWorkspaceFactory.cxx:1077 HistoToWorkspaceFactory.cxx:1078 HistoToWorkspaceFactory.cxx:1079 HistoToWorkspaceFactory.cxx:1080 HistoToWorkspaceFactory.cxx:1081 HistoToWorkspaceFactory.cxx:1082 HistoToWorkspaceFactory.cxx:1083 HistoToWorkspaceFactory.cxx:1084 HistoToWorkspaceFactory.cxx:1085 HistoToWorkspaceFactory.cxx:1086 HistoToWorkspaceFactory.cxx:1087 HistoToWorkspaceFactory.cxx:1088 HistoToWorkspaceFactory.cxx:1089 HistoToWorkspaceFactory.cxx:1090 HistoToWorkspaceFactory.cxx:1091 HistoToWorkspaceFactory.cxx:1092 HistoToWorkspaceFactory.cxx:1093 HistoToWorkspaceFactory.cxx:1094 HistoToWorkspaceFactory.cxx:1095 HistoToWorkspaceFactory.cxx:1096 HistoToWorkspaceFactory.cxx:1097 HistoToWorkspaceFactory.cxx:1098 HistoToWorkspaceFactory.cxx:1099 HistoToWorkspaceFactory.cxx:1100 HistoToWorkspaceFactory.cxx:1101 HistoToWorkspaceFactory.cxx:1102 HistoToWorkspaceFactory.cxx:1103 HistoToWorkspaceFactory.cxx:1104 HistoToWorkspaceFactory.cxx:1105 HistoToWorkspaceFactory.cxx:1106 HistoToWorkspaceFactory.cxx:1107 HistoToWorkspaceFactory.cxx:1108 HistoToWorkspaceFactory.cxx:1109 HistoToWorkspaceFactory.cxx:1110 HistoToWorkspaceFactory.cxx:1111 HistoToWorkspaceFactory.cxx:1112 HistoToWorkspaceFactory.cxx:1113 HistoToWorkspaceFactory.cxx:1114 HistoToWorkspaceFactory.cxx:1115 HistoToWorkspaceFactory.cxx:1116 HistoToWorkspaceFactory.cxx:1117 HistoToWorkspaceFactory.cxx:1118 HistoToWorkspaceFactory.cxx:1119 HistoToWorkspaceFactory.cxx:1120 HistoToWorkspaceFactory.cxx:1121 HistoToWorkspaceFactory.cxx:1122 HistoToWorkspaceFactory.cxx:1123 HistoToWorkspaceFactory.cxx:1124 HistoToWorkspaceFactory.cxx:1125 HistoToWorkspaceFactory.cxx:1126 HistoToWorkspaceFactory.cxx:1127 HistoToWorkspaceFactory.cxx:1128 HistoToWorkspaceFactory.cxx:1129 HistoToWorkspaceFactory.cxx:1130 HistoToWorkspaceFactory.cxx:1131 HistoToWorkspaceFactory.cxx:1132 HistoToWorkspaceFactory.cxx:1133 HistoToWorkspaceFactory.cxx:1134 HistoToWorkspaceFactory.cxx:1135 HistoToWorkspaceFactory.cxx:1136 HistoToWorkspaceFactory.cxx:1137 HistoToWorkspaceFactory.cxx:1138 HistoToWorkspaceFactory.cxx:1139 HistoToWorkspaceFactory.cxx:1140 HistoToWorkspaceFactory.cxx:1141 HistoToWorkspaceFactory.cxx:1142 HistoToWorkspaceFactory.cxx:1143 HistoToWorkspaceFactory.cxx:1144 HistoToWorkspaceFactory.cxx:1145