14 histFile_ =
new TFile(histFileName.c_str(),
"RECREATE");
16 TH1::AddDirectory(kTRUE);
18 histFile_->mkdir(
"GflashEMShowerProfile");
21 em_incE =
new TH1F(
"em_incE",
"Incoming energy at Ecal;E (GeV);Number of Events", 500, 0.0, 500.0);
22 em_ssp_rho =
new TH1F(
"em_ssp_rho",
"Shower starting position;#rho (cm);Number of Events", 100, 100.0, 200.0);
23 em_ssp_z =
new TH1F(
"em_ssp_z",
"Shower starting position;z (cm);Number of Events", 800, -400.0, 400.0);
24 em_long =
new TH1F(
"em_long",
"Longitudinal Profile;Radiation Length;Number of Spots", 100, 0.0, 50.0);
26 "em_lateral",
"Lateral Profile vs. Shower Depth;Radiation Length;Moliere Radius", 100, 0.0, 50.0, 100, 0.0, 3.0);
28 "Longitudinal Profile in Sensitive Detector;Radiation "
29 "Length;Number of Spots",
34 "Lateral Profile vs. Shower Depth in Sensitive "
35 "Detector;Radiation Length;Moliere Radius",
43 "Number of Gflash Spots in Sensitive Detector;Number "
44 "of Spots;Number of Events",
49 histFile_->mkdir(
"GflashHadronShowerModel");
52 preStepPosition =
new TH1F(
"preStepPosition",
"PreStep Position Shower", 500, 120.0, 270.);
53 postStepPosition =
new TH1F(
"postStepPosition",
"PostStep Position Shower", 500, 120.0, 270.);
54 deltaStep =
new TH1F(
"deltaStep",
"Delta Step", 200, 0.0, 100.);
55 kineticEnergy =
new TH1F(
"kineticEnergy",
"Kinetic Energy", 200, 0.0, 200.);
56 energyLoss =
new TH1F(
"energyLoss",
"Energy Loss", 200, 0.0, 200.);
57 energyRatio =
new TH1F(
"energyRatio",
"energyLeading/energyTotal", 200, 0.0, 1.);
59 histFile_->mkdir(
"GflashHadronShowerProfile");
60 histFile_->cd(
"GflashHadronShowerProfile");
62 rshower =
new TH1F(
"rshower",
"Lateral Lever", 200, 0., 100.);
63 lateralx =
new TH1F(
"lateralx",
"Lateral-X Distribution", 200, -100., 100.);
64 lateraly =
new TH1F(
"lateraly",
"Lateral-Y Distribution", 200, -100., 100.);
65 gfhlongProfile =
new TH2F(
"gfhlongProfile",
"Longitudinal Profile (all hits)", 160, 0.0, 160., 60, 125, 245);
70 g4vertexTrack =
new TH1F(
"g4vertexTrack",
"Vertex of Track", 300, 0.0, 300.);
71 g4stepCharge =
new TH2F(
"g4stepCharge",
"Geant4 Step Charge", 300, 120., 420, 5, -2.5, 2.5);
72 g4nSecondary =
new TH1F(
"g4nSecondary",
"number of Secondaries", 100, 0.0, 100.);
73 g4pidSecondary =
new TH1F(
"g4pidSecondary",
"PID of Secondaries", 3000, -500.0, 2500.);
75 g4energySecondary =
new TH1F(
"g4energySecondary",
"Kinetic Energy of Secondaries", 300, 0.0, 15.);
76 g4energyPi0 =
new TH1F(
"g4energyPi0",
"Kinetic Energy of Pi0", 300, 0.0, 15.);
77 g4energyElectron =
new TH1F(
"g4energyElectron",
"Kinetic Energy of Electron", 300, 0.0, 15.);
78 g4energyPhoton =
new TH1F(
"g4energyPhoton",
"Kinetic Energy of Photon", 300, 0.0, 15.);
80 g4totalEnergySecPhoton =
new TH1F(
"g4totalEnergySecPhoton",
"Total Kinetic Energy of Sec Photon", 300, 0.0, 3.);
81 g4totalEnergySecElectron =
new TH1F(
"g4toalEnergySecElectron",
"Total Kinetic Energy of Sec Electron", 300, 0.0, 3.);
82 g4totalEnergySecPi0 =
new TH1F(
"g4totalEnergySecPi0",
"Total Kinetic Energy of Sec Pi0", 300, 0.0, 30.);
84 g4energyEM =
new TH1F(
"energyEM",
"EM Energy", 600, 0.0, 150.0);
85 g4energyHad =
new TH1F(
"energyHad",
"Had Energy", 600, 0.0, 150.0);
86 g4energyTotal =
new TH1F(
"energyTotal",
"Total Energy", 600, 0.0, 150.0);
87 g4energyEMMip =
new TH1F(
"energyEMMip",
"EM Energy (MIP)", 100, 0.0, 2.0);
88 g4energyHadMip =
new TH1F(
"energyHadMip",
"Had Energy (MIP)", 600, 0.0, 150.0);
89 g4energyMip =
new TH1F(
"energyMip",
"Total Energy (MIP)", 600, 0.0, 150.0);
90 g4energyEMvsHad =
new TH2F(
"energyEMvsHad",
"EM Energy", 600, 0.0, 150.0, 600, 0.0, 150.0);
92 g4energySensitiveEM =
new TH1F(
"energySensitiveEM",
"Sensitive EM Energy", 600, 0.0, 150.0);
95 g4energyHybridTotal =
new TH1F(
"energyHybridTotal",
"Hybrid Total Energy", 600, 0.0, 150.0);
98 new TH2F(
"energySensitiveEMvsHad",
"Sensitive EM Energy vs Had", 600, 0.0, 150.0, 600, 0.0, 150.0);
100 g4energyEMProfile =
new TH2F(
"energyEMProfile",
"EM Energy Profile", 600, 0.0, 150.0, 60, 125, 245);
101 g4energyHadProfile =
new TH2F(
"energyHadProfile",
"Had Energy Profile", 600, 0.0, 150.0, 60, 125, 245);
102 g4energyTotalProfile =
new TH2F(
"energyTotalProfile",
"Total Energy Profile", 600, 0.0, 150.0, 60, 125, 245);
103 g4energyHybridProfile =
new TH2F(
"energyHybridProfile",
"Hybrid Energy Profile", 600, 0.0, 150.0, 60, 125, 245);
105 g4ssp =
new TH1F(
"g4ssp",
"Shower Starting Position", 160, 120.0, 280.);
106 g4energy =
new TH1F(
"g4energy",
"Energy at Shower Starting Position", 600, 0.0, 150.0);
107 g4energyLoss =
new TH1F(
"g4energyLoss",
"Energy Loss", 600, 0.0, 150.);
108 g4momentum =
new TH1F(
"g4momentum",
"Momentum/GeV at Shower Starting Position", 300, 0.0, 150.0);
109 g4charge =
new TH1F(
"g4charge",
"Track Charge at Shower Starting Position", 10, -5.0, 5.0);
111 g4rshower =
new TH2F(
"g4rshower",
"rshower", 200, 0., 40, 25, 125., 250);
112 g4rshowerR1 =
new TH2F(
"g4rshowerR1",
"rshower vs depth ssp=127-129", 200, 0., 40, 40, 0.0, 160.);
113 g4rshowerR2 =
new TH2F(
"g4rshowerR2",
"rshower vs depth ssp=131-133", 200, 0., 40, 40, 0.0, 160.);
114 g4rshowerR3 =
new TH2F(
"g4rshowerR3",
"rshower vs depth ssp=173-175", 200, 0., 40, 40, 0.0, 160.);
116 g4lateralXY =
new TH2F(
"g4lateralXY",
"Lateral Profile XY", 160, -40., 40, 25, 125., 250);
117 g4lateralRZ =
new TH2F(
"g4lateralRZ",
"Lateral Profile RZ", 160, -40., 40, 25, 125., 250);
118 g4spotXY =
new TH2F(
"g4spotXY",
"x-y of spots in global coordinate", 800, -400., 400., 800, -400.0, 400.0);
119 g4spotRZ =
new TH2F(
"g4spotRZ",
"r-z of spots in global coordinate", 1200, -1500., 1500., 400, .0, 400.0);
120 g4spotRZ0 =
new TH2F(
"g4spotRZ0",
"all r-z of spots in global coordinate", 1200, -1500., 1500., 400, .0, 400.0);
122 g4stepRho =
new TH1F(
"g4stepRho",
"rho of Geant4 Step", 200, 120., 320.);
123 g4trajectoryPhi0 =
new TH1F(
"g4trajectoryPhi0",
"trajectory Phi0", 2000, -5., 5.);
125 g4trajectoryXY =
new TH2F(
"g4trajectoryXY",
"trajectory x-y", 800, -400.0, 400.0, 800, -400.0, 400.0);
126 g4trajectoryRZ =
new TH2F(
"g4trajectoryRZ",
"trajectory r-z ", 1200, -600.0, 600.0, 400, 0.0, 400.0);
128 g4longProfile =
new TH2F(
"g4longProfile",
"Longitudinal Profile (all hits)", 160, 0.0, 160., 60, 125, 245);
130 new TH2F(
"g4longDetector",
"Longitudinal Profile (hits inisde detectors)", 160, 0.0, 160., 60, 125, 245);
131 g4longSensitive =
new TH2F(
"g4longSensitive",
"Longitudinal Profile (Sensitive)", 160, 0.0, 160., 60, 125, 245);
~GflashHistogram() override
static GflashHistogram * instance()
TH2F * g4energyHybridProfile
TH1F * g4totalEnergySecPhoton
TH1F * g4energySensitiveHad
TH1F * g4energySensitiveEM
static GflashHistogram * instance_
TH1F * g4energySensitiveEMMip
TH1F * g4totalEnergySecElectron
TH1F * g4energySensitiveTotal
void bookHistogram(std::string histFileName="gflash_histogram.root")
TH1F * g4totalEnergySecPi0
TH2F * g4energyTotalProfile
TH2F * g4energyHadProfile
TH1F * g4energyHybridTotal
TH2F * g4energySensitiveEMvsHad