00001 00002 // Class THisto 00003 // 00004 // Author : F. Cassol Brunner 00005 // Created : 6/9/2002 00006 // 00007 // Last update: 00008 // by: 00009 // Comment : interface class for histogram classes 00011 00012 #ifndef __THISTO 00013 #define __THISTO 00014 #include <cstdio> 00015 00016 #include <TFile.h> 00017 #include <TTree.h> 00018 #include <TNtuple.h> 00019 #include <TList.h> 00020 #include <TROOT.h> 00021 #include <list> 00022 00023 00024 00025 #include "Marana/TMarEvent.h" 00026 #include "Marana/THistoManager.h" 00027 #include "Marana/TRunHisto.h" 00028 00029 using namespace std; 00030 00031 00032 class THisto : public TObject, public THistoManager 00033 { 00034 00035 public : 00037 TTree *hatCopy; 00038 00040 TTree *modsCopy; 00041 00043 TNtuple* ntuple; 00044 00045 00046 FILE *fp; 00047 00048 00049 //... number of selected events 00050 Int_t NumSelEve; 00051 00052 //... number of studied event 00053 Int_t NumEve; 00054 00055 //... number of selected events per this Run 00056 Int_t NumSelEvePerRun; 00057 00058 //... number of selected events per previous Run 00059 Int_t NumSelEvePerRunOld; 00060 00061 //...debug flag 00062 Int_t debug; 00063 00064 //... Standard constructor and destructor 00065 THisto(); 00066 THisto(const TRunHisto& run,string Tag, string textfile=""); 00067 ~THisto(); 00068 00069 //... Fill lumi histo 00070 virtual void FillLumi(TMarEvent &event); 00071 00072 00073 //... print event 00074 virtual void Print(const TMarEvent &event); 00075 00076 //... Cut function 00077 virtual Bool_t Cut(TMarEvent &event); 00078 00079 //... Fill histograms before cuts 00080 virtual THisto& FillPreCut(TMarEvent &event) {return *this;}; 00081 00082 //... Fill physics histogram 00083 virtual void FillPhyPlot(TMarEvent &event) {}; 00084 00085 //... Fill control histogram 00086 virtual void FillControlPlot(TMarEvent &event) {}; 00087 00088 00089 private: 00090 00091 00092 ClassDef(THisto,1) 00093 }; 00094 00095 #endif 00096