37 std::cout <<
"Error: Given empty name for ConstraintType" << std::endl;
41 else if ( Name ==
"Gaussian" || Name ==
"Gauss" ) {
45 else if ( Name ==
"Poisson" || Name ==
"Pois" ) {
50 std::cout <<
"Error: Unknown name given for Constraint Type: " << Name << std::endl;
58 fLow(1.0), fHigh(1.0),
62 stream <<
"\t \t Name: " <<
fName 65 <<
"\t High: " <<
fHigh 71 xml <<
" <NormFactor Name=\"" <<
GetName() <<
"\" " 72 <<
" Val=\"" <<
GetVal() <<
"\" " 73 <<
" High=\"" <<
GetHigh() <<
"\" " 74 <<
" Low=\"" <<
GetLow() <<
"\" " 75 <<
" Const=\"" << (
GetConst() ? std::string(
"True") : std::string(
"False")) <<
"\" " 76 <<
" /> " << std::endl;
81 stream <<
"\t \t Name: " <<
fName 83 <<
"\t High: " <<
fHigh 88 xml <<
" <OverallSys Name=\"" <<
GetName() <<
"\" " 89 <<
" High=\"" <<
GetHigh() <<
"\" " 90 <<
" Low=\"" <<
GetLow() <<
"\" " 91 <<
" /> " << std::endl;
96 TH1* histo_low = (
TH1*) fhLow.GetObject();
101 TH1* histo_high = (
TH1*) fhHigh.GetObject();
106 stream <<
"\t \t Name: " <<
fName 107 <<
"\t HistoFileLow: " << fInputFileLow
108 <<
"\t HistoNameLow: " << fHistoNameLow
109 <<
"\t HistoPathLow: " << fHistoPathLow
110 <<
"\t HistoFileHigh: " << fInputFileHigh
111 <<
"\t HistoNameHigh: " << fHistoNameHigh
112 <<
"\t HistoPathHigh: " << fHistoPathHigh
117 xml <<
" <HistoSys Name=\"" <<
GetName() <<
"\" " 118 <<
" HistoFileLow=\"" << GetInputFileLow() <<
"\" " 119 <<
" HistoNameLow=\"" << GetHistoNameLow() <<
"\" " 120 <<
" HistoPathLow=\"" << GetHistoPathLow() <<
"\" " 122 <<
" HistoFileHigh=\"" << GetInputFileHigh() <<
"\" " 123 <<
" HistoNameHigh=\"" << GetHistoNameHigh() <<
"\" " 124 <<
" HistoPathHigh=\"" << GetHistoPathHigh() <<
"\" " 125 <<
" /> " << std::endl;
129 const std::string& DirName ) {
134 TH1* histLow = GetHistoLow();
135 if( histLow==NULL ) {
136 std::cout <<
"Error: Cannot write " <<
GetName()
137 <<
" to file: " << FileName
138 <<
" HistoLow is NULL" 143 fInputFileLow = FileName;
144 fHistoPathLow = DirName;
145 fHistoNameLow = histLow->
GetName();
147 TH1* histHigh = GetHistoHigh();
148 if( histHigh==NULL ) {
149 std::cout <<
"Error: Cannot write " <<
GetName()
150 <<
" to file: " << FileName
151 <<
" HistoHigh is NULL" 156 fInputFileHigh = FileName;
157 fHistoPathHigh = DirName;
158 fHistoNameHigh = histHigh->
GetName();
168 TH1* error_hist = (
TH1*) fhError.GetObject();
174 stream <<
"\t \t Name: " <<
fName 175 <<
"\t InputFile: " << fInputFile
176 <<
"\t HistoName: " << fHistoName
177 <<
"\t HistoPath: " << fHistoPath
183 xml <<
" <ShapeSys Name=\"" <<
GetName() <<
"\" " 184 <<
" InputFile=\"" << GetInputFile() <<
"\" " 185 <<
" HistoName=\"" << GetHistoName() <<
"\" " 186 <<
" HistoPath=\"" << GetHistoPath() <<
"\" " 187 <<
" ConstraintType=\"" << std::string(
Constraint::Name(GetConstraintType())) <<
"\" " 188 <<
" /> " << std::endl;
193 const std::string& DirName ) {
195 TH1* histError = GetErrorHist();
196 if( histError==NULL ) {
197 std::cout <<
"Error: Cannot write " <<
GetName()
198 <<
" to file: " << FileName
199 <<
" ErrorHist is NULL" 204 fInputFile = FileName;
205 fHistoPath = DirName;
206 fHistoName = histError->
GetName();
218 stream <<
"\t \t Name: " <<
fName 219 <<
"\t InputFileLow: " << fInputFileLow
220 <<
"\t HistoNameLow: " << fHistoNameLow
221 <<
"\t HistoPathLow: " << fHistoPathLow
222 <<
"\t InputFileHigh: " << fInputFileHigh
223 <<
"\t HistoNameHigh: " << fHistoNameHigh
224 <<
"\t HistoPathHigh: " << fHistoPathHigh
230 TH1* histo_low = (
TH1*) fhLow.GetObject();
235 TH1* histo_high = (
TH1*) fhHigh.GetObject();
241 const std::string& DirName ) {
247 TH1* histLow = GetHistoLow();
248 if( histLow==NULL ) {
249 std::cout <<
"Error: Cannot write " <<
GetName()
250 <<
" to file: " << FileName
251 <<
" HistoLow is NULL" 256 fInputFileLow = FileName;
257 fHistoPathLow = DirName;
258 fHistoNameLow = histLow->
GetName();
260 TH1* histHigh = GetHistoHigh();
261 if( histHigh==NULL ) {
262 std::cout <<
"Error: Cannot write " <<
GetName()
263 <<
" to file: " << FileName
264 <<
" HistoHigh is NULL" 269 fInputFileHigh = FileName;
270 fHistoPathHigh = DirName;
271 fHistoNameHigh = histHigh->
GetName();
278 xml <<
" <HistoFactor Name=\"" <<
GetName() <<
"\" " 280 <<
" InputFileLow=\"" << GetInputFileLow() <<
"\" " 281 <<
" HistoNameLow=\"" << GetHistoNameLow() <<
"\" " 282 <<
" HistoPathLow=\"" << GetHistoPathLow() <<
"\" " 284 <<
" InputFileHigh=\"" << GetInputFileHigh() <<
"\" " 285 <<
" HistoNameHigh=\"" << GetHistoNameHigh() <<
"\" " 286 <<
" HistoPathHigh=\"" << GetHistoPathHigh() <<
"\" " 287 <<
" /> " << std::endl;
293 fHasInitialShape(false),
294 fhInitialShape(NULL) {;}
298 stream <<
"\t \t Name: " <<
fName << std::endl;
308 if(
fConstant ) { stream <<
"\t \t ( Constant ): " << std::endl; }
314 const std::string& DirName ) {
318 if( histInitialShape==NULL ) {
319 std::cout <<
"Error: Cannot write " <<
GetName()
320 <<
" to file: " << FileName
321 <<
" InitialShape is NULL" 325 histInitialShape->
Write();
337 xml <<
" <ShapeFactor Name=\"" <<
GetName() <<
"\" ";
343 xml <<
" /> " << std::endl;
349 stream <<
"\t \t RelErrorThreshold: " << fRelErrorThreshold
355 xml <<
" <StatErrorConfig RelErrorThreshold=\"" << GetRelErrorThreshold()
359 <<
"/> " << std::endl << std::endl;
366 return (
TH1*) fhError.GetObject();
371 stream <<
"\t \t Activate: " << fActivate
380 if( GetActivate() ) {
381 xml <<
" <StatError Activate=\"" 382 << (GetActivate() ? std::string(
"True") : std::string(
"False"))
387 <<
" /> " << std::endl;
394 const std::string& DirName ) {
398 std::string statErrorHistName =
"statisticalErrors";
400 TH1* hStatError = GetErrorHist();
401 if( hStatError == NULL ) {
402 std::cout <<
"Error: Stat Error error hist is NULL" << std::endl;
405 hStatError->
Write(statErrorHistName.c_str());
virtual const char * GetName() const
Returns name of object.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
void Print(std::ostream &=std::cout)
void PrintXML(std::ostream &)
void PrintXML(std::ostream &)
std::string GetHistoName()
std::string GetInputFile()
void Print(std::ostream &=std::cout)
Type GetType(const std::string &Name)
void PrintXML(std::ostream &)
void writeToFile(const std::string &FileName, const std::string &DirName)
void Print(std::ostream &=std::cout)
void PrintXML(std::ostream &)
void Print(std::ostream &=std::cout)
void writeToFile(const std::string &FileName, const std::string &DirName)
void Print(std::ostream &=std::cout)
void writeToFile(const std::string &FileName, const std::string &DirName)
void PrintXML(std::ostream &)
void Print(std::ostream &=std::cout)
std::string GetHistoPath()
void PrintXML(std::ostream &)
void PrintXML(std::ostream &)
std::string Name(Type type)
void writeToFile(const std::string &FileName, const std::string &DirName)
void writeToFile(const std::string &FileName, const std::string &DirName)
void Print(std::ostream &=std::cout)
void PrintXML(std::ostream &)
void Print(std::ostream &=std::cout)