• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BCMTFAnalysisFacility.h

Go to the documentation of this file.
00001 #ifndef __BCMTFANALYSISFACILITY__H
00002 #define __BCMTFANALYSISFACILITY__H
00003 
00014 /*
00015  * Copyright (C) 2008-2012, Daniel Kollar and Kevin Kroeninger.
00016  * All rights reserved.
00017  *
00018  * For the licensing terms see doc/COPYING.
00019  */
00020 
00021 // ---------------------------------------------------------
00022 #include <string>
00023 #include <vector>
00024 
00025 #include <TH1D.h>
00026 
00027 #include "../../BAT/BCLog.h"
00028 
00029 class BCMTF;
00030 class TTree;
00031 class TRandom3;
00032 
00033 // ---------------------------------------------------------
00034 class BCMTFAnalysisFacility
00035 {
00036 
00037    public:
00038 
00045       BCMTFAnalysisFacility(BCMTF * mtf);
00046 
00049       ~BCMTFAnalysisFacility();
00050 
00057       BCMTF * GetBCMTF()
00058          { return fMTF; };
00059 
00067       void SetBCMTF(BCMTF * mtf)
00068          { fMTF = mtf; };
00069 
00073       void SetFlagMCMC(bool flag)
00074          { fFlagMCMC = flag; };
00075 
00080       // misc
00081 
00085       BCLog::LogLevel GetLogLevel()
00086          { return fLogLevel; };
00087 
00091       void SetLogLevel(BCLog::LogLevel level)
00092          { fLogLevel=level; };
00093 
00102       int PerformSingleChannelAnalyses(const char * dirname, const char * options = "");
00103 
00112       int PerformSingleSystematicAnalyses(const char * dirname, const char * options = "");
00113 
00123       int PerformCalibrationAnalysis(const char * dirname, const std::vector<double> & default_parameters, int index, const std::vector<double> & parametervalues, int nensembles = 1000);
00124 
00129       std::vector<TH1D> BuildEnsemble(const std::vector<double> & parameters);
00130 
00136       TTree * BuildEnsembles(const std::vector<double> & parameters, int nensembles);
00137 
00143       TTree * BuildEnsembles(TTree * tree, int nensembles);
00144 
00150       TTree * PerformEnsembleTest(const std::vector<double> & parameters, int nensembles);
00151 
00158       TTree * PerformEnsembleTest(TTree * tree, int nensembles, int start = 0);
00159 
00164       std::vector<TH1D> MatrixToHistograms(const std::vector< std::vector<double> > & matrix);
00165 
00166  private:
00167 
00170       BCMTF * fMTF;
00171 
00174       TRandom3 * fRandom;
00175 
00178       bool fFlagMCMC;
00179 
00182       BCLog::LogLevel fLogLevel;
00183 
00184 };
00185 // ---------------------------------------------------------
00186 
00187 #endif
00188 

Generated by  doxygen 1.7.1