00001 // 00002 // 00003 // File: GeneratorModule/Histsample.h 00004 // Description: 00005 // This code shows how to make histgrams from a HepMC event 00006 // 00007 // AuthorList: 00008 // Eva Bouhova Feb 2002 00009 00011 #include <math.h> 00012 #include "GaudiKernel/Algorithm.h" 00013 00014 #include "HepPDT/ParticleDataTable.hh" 00015 00016 class IHistogram1D; //Forward declaration 00017 class IHistogram2D; //Forward declaration 00018 class StoreGateSvc; 00019 class HistSample:public Algorithm { 00020 public: 00021 HistSample(const std::string& name, ISvcLocator* pSvcLocator); 00022 StatusCode initialize(); 00023 StatusCode execute(); 00024 StatusCode finalize(); 00025 00026 private: 00027 bool m_produceHistogram; 00028 00029 //histograms, used if m_produceHistogram is true = 1 00030 IHistogram1D* m_hgenerated; 00031 IHistogram1D* m_hfinal; 00032 IHistogram1D* m_ncharged; 00033 IHistogram1D* m_hChargedPt; 00034 IHistogram1D* m_hChargedEta; 00035 IHistogram1D* m_hZPtall; 00036 IHistogram1D* m_hZPt; 00037 IHistogram1D* m_hZPte; 00038 IHistogram1D* m_hZPtm; 00039 IHistogram1D* m_hZPtt; 00040 IHistogram1D* m_massZall; 00041 IHistogram1D* m_massZ; 00042 IHistogram1D* m_massZe; 00043 IHistogram1D* m_massZm; 00044 IHistogram1D* m_massZt; 00045 IHistogram1D* m_hPtPaire; 00046 IHistogram1D* m_hPtPairm; 00047 IHistogram1D* m_hPtPairt; 00048 IHistogram1D* m_massPaire; 00049 IHistogram1D* m_massPairm; 00050 IHistogram1D* m_massPairt; 00051 IHistogram1D* m_rapidity; 00052 IHistogram1D* m_pseudorapidity; 00053 IHistogram1D* m_hpte; 00054 00055 StoreGateSvc* m_sgSvc; 00056 00057 HepPDT::ParticleDataTable* m_particleTable; 00058 00059 }; 00060 00061