CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GflashHistogram.h
Go to the documentation of this file.
1 #ifndef GflashHistogram_H
2 #define GflashHistogram_H
3 
4 // created by Soon Yung Jun, Dongwook Jang, 2007/12/07
5 
6 #include <TFile.h>
7 #include <TH1F.h>
8 #include <TH2F.h>
9 #include <TObject.h>
10 #include <TProfile.h>
11 #include <TString.h>
12 #include <TTree.h>
13 
14 #include <string>
15 
16 class GflashHistogram : public TObject {
17 public:
18  static GflashHistogram *instance();
19 
21  ~GflashHistogram() override;
22 
23  void bookHistogram(std::string histFileName = "gflash_histogram.root");
24  void setStoreFlag(bool flag) { theStoreFlag = flag; }
25  bool getStoreFlag() { return theStoreFlag; }
26 
27  // We are declaring histograms here as public
28  // This is just for convenience.
29  // Once we are settled down with all histograms,
30  // probably we will make them as private
31 
32  // add hitograms here
33 
34  // histogram output
35  TFile *histFile_;
36 
37  // histograms for EM shower model in GflashEMShowerProfile
38  TH1F *em_incE;
39  TH1F *em_ssp_rho;
40  TH1F *em_ssp_z;
41  TH1F *em_long;
42  TH2F *em_lateral;
43  TH1F *em_long_sd;
45  TH1F *em_nSpots_sd;
46 
47  // histograms for HAD shower model in GflashHadronShowerModel
48 
51  TH1F *deltaStep;
53  TH1F *energyLoss;
54  TH1F *energyRatio;
55 
56  // histograms for HAD shower model in GflashHadronShowerProfile
57 
58  TH1F *rshower;
59  TH1F *lateralx;
60  TH1F *lateraly;
62 
63  // histograms for Watcher
64 
66  TH2F *g4stepCharge;
67  TH1F *g4nSecondary;
70  TH1F *g4energyPi0;
73 
77 
78  TH1F *g4energyEM;
79  TH1F *g4energyHad;
83  TH1F *g4energyMip;
85 
92 
97 
98  TH1F *g4ssp;
99  TH1F *g4energy;
101  TH1F *g4momentum;
102  TH1F *g4charge;
103 
104  TH2F *g4rshower;
105  TH2F *g4rshowerR1;
106  TH2F *g4rshowerR2;
107  TH2F *g4rshowerR3;
108  TH2F *g4lateralXY;
109  TH2F *g4lateralRZ;
110  TH2F *g4spotXY;
111  TH2F *g4spotRZ;
112  TH2F *g4spotRZ0;
115 
116  TH1F *g4stepRho;
118 
122 
123 private:
126 };
127 
128 #endif
~GflashHistogram() override
static GflashHistogram * instance()
TH1F * g4energySecondary
TH2F * g4energyHybridProfile
TH1F * g4totalEnergySecPhoton
TH1F * g4energySensitiveHad
TH1F * g4energySensitiveEM
static GflashHistogram * instance_
TH1F * g4energySensitiveEMMip
TH2F * g4energyEMProfile
TH1F * g4totalEnergySecElectron
TH1F * g4energySensitiveTotal
void bookHistogram(std::string histFileName="gflash_histogram.root")
TH1F * g4totalEnergySecPi0
TH2F * g4energyTotalProfile
TH2F * g4energyHadProfile
TH1F * g4energyHybridTotal
TH2F * g4energySensitiveEMvsHad
void setStoreFlag(bool flag)