00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef __MaranaEventLoop
00012 #define __MaranaEventLoop
00013
00014 #include "Marana/THisto.h"
00015
00016 class SFSetOfHistograms;
00017 class SFROList;
00018 class SFCutROList;
00019 class MarSysBinningFun;
00020 class Binning;
00021 class BinningFun;
00022 class BaseCut;
00023 class TPad;
00024 class TVirtualPS;
00025
00026 class MaranaEventLoop : public THisto
00027 {
00028
00029 public :
00030
00031
00032
00033 MaranaEventLoop(const TRunHisto& run,string Tag, string textfile="");
00034 ~MaranaEventLoop();
00035
00037 void Fill();
00038
00040 void Draw(TPad *pad, TVirtualPS *ps,
00041 Option_t *option,
00042 bool across,
00043 Int_t nx, Int_t ny,
00044 bool log, bool recursive);
00045
00047 bool ParseHistos(istringstream& inParams,
00048 string& type,
00049 Int_t hoffset,
00050 string Tag,
00051 list<string>& PartTags,
00052 const Short_t SysNum=0
00053 );
00054
00056 void ReadParamssfh1f(istream &inParams,
00057 const string& type,
00058 Int_t hoffset,
00059 Short_t SysNum,
00060 Bool_t BookforSys
00061 );
00062
00064 void ReadParamssfhprof(istream &inParams,
00065 const string& type,
00066 Int_t hoffset,
00067 Short_t SysNum,
00068 Bool_t BookforSys
00069 );
00070
00072 void ReadParamssfh2f(istream &inParams,
00073 const string& type,
00074 Int_t hoffset,
00075 Short_t SysNum,
00076 Bool_t BookforSys
00077 );
00078
00079
00081 void ReadParamsdef(istream &inParams,
00082 Short_t SysNum
00083 );
00084
00086 void ReadParamsbin(istream &inParams,
00087 Short_t SysNum
00088 );
00089
00091 void ReadParamssfseth1f(istream &inParams,
00092 const string& type,
00093 Int_t hoffset,
00094 Short_t SysNum,
00095 Bool_t BookforSys
00096 );
00097
00099 void ReadParamstypecut(istream &inParams,
00100 const string& type
00101 );
00102
00104
00110 static Binning *ReadBinningInfo (istream &is);
00111
00113
00128 static BinningFun *ReadBinningFunInfo (istream &is);
00129
00131 static std::string ReadString (istream &is,
00132 char delim='\0'
00133 );
00134
00135 private:
00136
00137 SFROList* fillrolist;
00138 SFCutROList* rolist;
00139 MarSysBinningFun *sysfun;
00140 BaseCut *syscut;
00141
00142
00143 };
00144
00145 #endif
00146