00001 #ifndef __BCMTFCOMPARISONTOOL__H 00002 #define __BCMTFCOMPARISONTOOL__H 00003 00018 /* 00019 * Copyright (C) 2008-2012, Daniel Kollar and Kevin Kroeninger. 00020 * All rights reserved. 00021 * 00022 * For the licensing terms see doc/COPYING. 00023 */ 00024 00025 // --------------------------------------------------------- 00026 #include <string> 00027 #include <vector> 00028 00029 #include <TH1D.h> 00030 00031 // --------------------------------------------------------- 00032 class BCMTFComparisonTool 00033 { 00034 00035 public: 00036 00037 // Constructors and destructor 00038 BCMTFComparisonTool(const char * name); 00039 ~BCMTFComparisonTool(); 00040 00041 // setters 00042 00043 00044 // getters 00045 00046 // return the name 00047 std::string GetName() 00048 { return fName; }; 00049 00050 // return number of contributions 00051 int GetNContributions() 00052 { return (int) fHistogramContainer.size(); }; 00053 00054 // misc 00055 // add a contribution 00056 void AddContribution(const char * name, TH1D hist); 00057 00058 // add a contribution 00059 void AddContribution(const char * name, double centralvalue, double uncertainty); 00060 00061 // print histograms to file 00062 void PrintHistograms(const char * filename); 00063 00064 // draw overview 00065 void DrawOverview(); 00066 00067 // print overview to file 00068 void PrintOverview(const char * filename); 00069 00070 private: 00071 00072 // the name of the comparison 00073 std::string fName; 00074 00075 // the name of the contributions 00076 std::vector<std::string> fNameContainer; 00077 00078 // a container of histograms 00079 std::vector<TH1D *> fHistogramContainer; 00080 00081 // a container of central values 00082 std::vector<double> fCentralValueContainer; 00083 00084 // a container of uncertainties 00085 std::vector<double> fUncertaintyContainer; 00086 00087 }; 00088 // --------------------------------------------------------- 00089 00090 #endif 00091