#ifndef ROOSTATS_ESTIMATESUMMARY_h
#define ROOSTATS_ESTIMATESUMMARY_h
#include "TH1F.h"
#include <string>
#include <vector>
#include <map>
#include <iostream>
#include "TObject.h"
namespace RooStats{
namespace HistFactory{
struct EstimateSummary : public TObject {
struct NormFactor{
std::string name;
double val, high, low;
bool constant;
};
typedef std::vector<std::string> vecstring;
typedef std::vector<TH1F*> vechist;
typedef std::pair<double, double> pairdouble;
typedef std::map<std::string, std::pair<double, double> > mappair;
EstimateSummary();
virtual ~EstimateSummary();
void Print(const char *opt = 0) const ;
void AddSyst( const std::string & sname, TH1F* low, TH1F* high);
bool operator==(const EstimateSummary &other) const ;
bool CompareHisto( const TH1 * one, const TH1 * two) const ;
std::string name;
std::string channel;
std::string normName;
TH1F* nominal;
std::vector<std::string> systSourceForHist;
std::vector<TH1F*> lowHists;
std::vector<TH1F*> highHists;
std::map<std::string, std::pair<double, double> > overallSyst;
std::pair<double, double> dummyForRoot;
std::vector<NormFactor> normFactor;
ClassDef(RooStats::HistFactory::EstimateSummary,1)
};
}
}
#endif