File indexing completed on 2024-04-06 12:30:34
0001 #ifndef GflashHistogram_H
0002 #define GflashHistogram_H
0003
0004
0005
0006 #include <TFile.h>
0007 #include <TH1F.h>
0008 #include <TH2F.h>
0009 #include <TObject.h>
0010 #include <TProfile.h>
0011 #include <TString.h>
0012 #include <TTree.h>
0013
0014 #include <string>
0015
0016 class GflashHistogram : public TObject {
0017 public:
0018 static GflashHistogram *instance();
0019
0020 GflashHistogram();
0021 ~GflashHistogram() override;
0022
0023 void bookHistogram(std::string histFileName = "gflash_histogram.root");
0024 void setStoreFlag(bool flag) { theStoreFlag = flag; }
0025 bool getStoreFlag() { return theStoreFlag; }
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 TFile *histFile_;
0036
0037
0038 TH1F *em_incE;
0039 TH1F *em_ssp_rho;
0040 TH1F *em_ssp_z;
0041 TH1F *em_long;
0042 TH2F *em_lateral;
0043 TH1F *em_long_sd;
0044 TH2F *em_lateral_sd;
0045 TH1F *em_nSpots_sd;
0046
0047
0048
0049 TH1F *preStepPosition;
0050 TH1F *postStepPosition;
0051 TH1F *deltaStep;
0052 TH1F *kineticEnergy;
0053 TH1F *energyLoss;
0054 TH1F *energyRatio;
0055
0056
0057
0058 TH1F *rshower;
0059 TH1F *lateralx;
0060 TH1F *lateraly;
0061 TH2F *gfhlongProfile;
0062
0063
0064
0065 TH1F *g4vertexTrack;
0066 TH2F *g4stepCharge;
0067 TH1F *g4nSecondary;
0068 TH1F *g4pidSecondary;
0069 TH1F *g4energySecondary;
0070 TH1F *g4energyPi0;
0071 TH1F *g4energyElectron;
0072 TH1F *g4energyPhoton;
0073
0074 TH1F *g4totalEnergySecPi0;
0075 TH1F *g4totalEnergySecElectron;
0076 TH1F *g4totalEnergySecPhoton;
0077
0078 TH1F *g4energyEM;
0079 TH1F *g4energyHad;
0080 TH1F *g4energyTotal;
0081 TH1F *g4energyEMMip;
0082 TH1F *g4energyHadMip;
0083 TH1F *g4energyMip;
0084 TH2F *g4energyEMvsHad;
0085
0086 TH1F *g4energySensitiveEM;
0087 TH1F *g4energySensitiveHad;
0088 TH1F *g4energySensitiveTotal;
0089 TH1F *g4energyHybridTotal;
0090 TH1F *g4energySensitiveEMMip;
0091 TH2F *g4energySensitiveEMvsHad;
0092
0093 TH2F *g4energyEMProfile;
0094 TH2F *g4energyHadProfile;
0095 TH2F *g4energyTotalProfile;
0096 TH2F *g4energyHybridProfile;
0097
0098 TH1F *g4ssp;
0099 TH1F *g4energy;
0100 TH1F *g4energyLoss;
0101 TH1F *g4momentum;
0102 TH1F *g4charge;
0103
0104 TH2F *g4rshower;
0105 TH2F *g4rshowerR1;
0106 TH2F *g4rshowerR2;
0107 TH2F *g4rshowerR3;
0108 TH2F *g4lateralXY;
0109 TH2F *g4lateralRZ;
0110 TH2F *g4spotXY;
0111 TH2F *g4spotRZ;
0112 TH2F *g4spotRZ0;
0113 TH2F *g4trajectoryXY;
0114 TH2F *g4trajectoryRZ;
0115
0116 TH1F *g4stepRho;
0117 TH1F *g4trajectoryPhi0;
0118
0119 TH2F *g4longProfile;
0120 TH2F *g4longDetector;
0121 TH2F *g4longSensitive;
0122
0123 private:
0124 static GflashHistogram *instance_;
0125 bool theStoreFlag;
0126 };
0127
0128 #endif