CMS 3D CMS Logo

GflashHistogram.h

Go to the documentation of this file.
00001 #ifndef SimG4Core_GFlash_GflashHistogram_H
00002 #define SimG4Core_GFlash_GflashHistogram_H
00003 
00004 // created by Soon Yung Jun, Dongwook Jang, 2007/12/07
00005 
00006 #include <TObject.h>
00007 #include <TFile.h>
00008 #include <TTree.h>
00009 #include <TH1F.h>
00010 #include <TH2F.h>
00011 #include <TProfile.h>
00012 #include <TString.h>
00013 
00014 
00015 class GflashHistogram : public TObject {
00016 
00017  public:
00018 
00019   static GflashHistogram* instance();
00020   
00021   GflashHistogram();
00022   ~GflashHistogram();
00023 
00024   void bookHistogram(TString histFileName="gflash_histogram.root");
00025   void setStoreFlag(bool flag) { theStoreFlag = flag; }
00026   bool getStoreFlag() { return theStoreFlag; }
00027 
00028   // We are declaring histograms here as public
00029   // This is just for convenience.
00030   // Once we are settled down with all histograms,
00031   // probably we will make them as private
00032 
00033   // add hitograms here
00034 
00035   // histogram output
00036   TFile*    histFile_;
00037 
00038   // histograms for EM shower model in GflashEMShowerProfile
00039   TH1F*     incE_atEcal;
00040   TH2F*     dEdz;
00041   TH1F*     dEdz_p;
00042   TH1F*     dndz_spot;
00043   TH2F*     rxry;
00044   TH1F*     dx;
00045   TH2F*     xdz;
00046   TH2F*     rzSpots;
00047   TH1F*     rho_ssp;
00048   TH1F*     rArm;
00049 
00050   // histograms for HAD shower model in GflashHadronShowerModel
00051 
00052   TH1F*     preStepPosition;
00053   TH1F*     postStepPosition;
00054   TH1F*     deltaStep;
00055   TH1F*     kineticEnergy;
00056   TH1F*     energyLoss;
00057 
00058   // histograms for HAD shower model in GflashHadronShowerProfile
00059 
00060   TH1F*     rshower;
00061   TH1F*     lateralx;
00062   TH1F*     lateraly;
00063   TH2F*     gfhlongProfile;
00064 
00065   // histograms for Watcher
00066 
00067   TH1F*     g4vertexTrack;
00068   TH2F*     g4stepCharge;
00069   TH1F*     g4nSecondary;
00070   TH1F*     g4pidSecondary;
00071   TH1F*     g4energySecondary;
00072   TH1F*     g4energyPi0;
00073   TH1F*     g4energyElectron;
00074   TH1F*     g4energyPhoton;
00075 
00076   TH1F*     g4totalEnergySecPi0;
00077   TH1F*     g4totalEnergySecElectron;
00078   TH1F*     g4totalEnergySecPhoton;
00079 
00080   TH1F*     g4energyEM;
00081   TH1F*     g4energyHad;
00082   TH1F*     g4energyTotal;
00083   TH1F*     g4energyEMMip;
00084   TH1F*     g4energyHadMip;
00085   TH1F*     g4energyMip;
00086   TH2F*     g4energyEMvsHad;
00087 
00088   TH1F*     g4energySensitiveEM;
00089   TH1F*     g4energySensitiveHad;
00090   TH1F*     g4energySensitiveTotal;
00091   TH1F*     g4energyHybridTotal;
00092   TH1F*     g4energySensitiveEMMip;
00093   TH2F*     g4energySensitiveEMvsHad;
00094 
00095   TH2F*     g4energyEMProfile;
00096   TH2F*     g4energyHadProfile;
00097   TH2F*     g4energyTotalProfile;
00098   TH2F*     g4energyHybridProfile;
00099 
00100   TH1F*     g4ssp;
00101   TH1F*     g4energy;
00102   TH1F*     g4energyLoss;
00103   TH1F*     g4momentum;
00104   TH1F*     g4charge;
00105 
00106   TH2F*     g4rshower;
00107   TH2F*     g4rshowerR1;
00108   TH2F*     g4rshowerR2;
00109   TH2F*     g4rshowerR3;
00110   TH2F*     g4lateralXY;
00111   TH2F*     g4lateralRZ;
00112   TH2F*     g4spotXY;
00113   TH2F*     g4spotRZ;
00114   TH2F*     g4spotRZ0;
00115   TH2F*     g4trajectoryXY;
00116   TH2F*     g4trajectoryRZ;
00117 
00118   TH1F*     g4stepRho;
00119   TH1F*     g4trajectoryPhi0;
00120 
00121   TH2F*     g4longProfile;
00122   TH2F*     g4longDetector;
00123   TH2F*     g4longSensitive;
00124 
00125  private:
00126 
00127   static GflashHistogram* instance_;
00128   bool   theStoreFlag;
00129 
00130 };
00131 
00132 #endif

Generated on Tue Jun 9 17:47:04 2009 for CMSSW by  doxygen 1.5.4