CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZdcSimHitStudy.cc
Go to the documentation of this file.
1 // Package: ZdcSimHitStudy
3 // Class: ZdcSimHitStudy
4 //
5 /*
6  Description:
7  This code has been developed to be a check for the ZDC sim. In 2009, it was found that the ZDC Simulation was unrealistic and needed repair. The aim of this code is to show the user the input and output of a ZDC MinBias simulation.
8 
9  Implementation:
10  First a MinBias simulation should be run, it could be pythia,hijin,or hydjet. This will output a .root file which should have information about recoGenParticles, and g4SimHits_ZDCHits. Use this .root file as the input into the cfg.py which is found in the main directory of this package. This output will be another .root file which is meant to be viewed in a TBrowser.
11 
12 */
13 //
14 // Original Author: Jaime Gomez (U. of Maryland) with SIGNIFICANT assistance of Dr. Jefferey Temple (U. of Maryland)
15 // Adapted from: E. Garcia-Solis' (CSU) original code
16 //
17 // Created: Summer 2012
19 
20 
21 
22 
23 
26 
28 #include "CLHEP/Units/GlobalSystemOfUnits.h"
29 
31 
32  g4Label = ps.getUntrackedParameter<std::string>("moduleLabel","g4SimHits");
33  zdcHits = ps.getUntrackedParameter<std::string>("HitCollection","ZdcHits");
34  outFile_ = ps.getUntrackedParameter<std::string>("outputFile", "zdcHitStudy.root");
35  verbose_ = ps.getUntrackedParameter<bool>("Verbose", false);
36  checkHit_= true;
37 
38  edm::LogInfo("ZdcSimHitStudy")
39  //std::cout
40  << "Module Label: " << g4Label << " Hits: "
41  << zdcHits << " / "<< checkHit_
42  << " Output: " << outFile_;
43 
45  if (dbe_) {
46  if (verbose_) {
47  dbe_->setVerbose(1);
48  sleep (3);
50  } else {
51  dbe_->setVerbose(0);
52  }
53  }
54 }
55 
57 
59  if (dbe_) {
60  dbe_->setCurrentFolder("ZDCValidation");
61  //Histograms for Hits
63 //# Below we are filling the histograms made in the .h file. The syntax is as follows: #
64 //# plot_code_name = dbe_->TypeofPlot[(1,2,3)-D,(F,I,D)]("Name as it will appear","Title",axis options); #
65 //# They will be stored in the TFile subdirectory set by : dbe_->setCurrentFolder("FolderIwant") #
66 //# axis options are like (#ofbins,min,max) #
68 
69 
70  if (checkHit_) {
72  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits");
73  meAllZdcNHit_ = dbe_->book1D("ZDC Hits","Number of All Hits in ZDC",100,0.,100.);
74  meAllZdcNHit_->setAxisTitle("Total Hits",1);
75  meAllZdcNHit_->setAxisTitle("Counts",2);
77  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Debug_Helper");
78  meBadZdcDetHit_= dbe_->book1D("Hiits with the wrong Det","Hits with wrong Det in ZDC",100,0.,100.);
79  meBadZdcDetHit_->setAxisTitle("Wrong Hits",1);
80  meBadZdcDetHit_->setAxisTitle("Counts",2);
82  meBadZdcSecHit_= dbe_->book1D("Wrong Section Hits","Hits with wrong Section in ZDC",100,0.,100.);
83  meBadZdcSecHit_->setAxisTitle("Hits in wrong section",1);
84  meBadZdcSecHit_->setAxisTitle("Counts",2);
86  meBadZdcIdHit_ = dbe_->book1D("Wrong_ID_Hits","Hits with wrong ID in ZDC",100,0.,100.);
87  meBadZdcIdHit_->setAxisTitle("Hits with wrong ID",1);
88  meBadZdcIdHit_->setAxisTitle("Counts",2);
90  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
91  meZdcNHitEM_ = dbe_->book1D("Hits in EM","Number of Hits in ZDC EM",100,0.,100.);
92  meZdcNHitEM_->setAxisTitle("EM Hits",1);
93  meZdcNHitEM_->setAxisTitle("Counts",2);
95  meZdcNHitHad_ = dbe_->book1D("Hits in HAD","Number of Hits in ZDC Had",100,0.,100.);
96  meZdcNHitHad_->setAxisTitle("HAD Hits",1);
97  meZdcNHitHad_->setAxisTitle("Counts",2);
99  meZdcNHitLum_ = dbe_->book1D("Hits in LUM","Number of Hits in ZDC Lum",100,0.,100.);
100  meZdcNHitLum_->setAxisTitle("LUM Hits",1);
101  meZdcNHitLum_->setAxisTitle("Counts",2);
103  meZdcDetectHit_= dbe_->book1D("Calo Detector ID","Calo Detector ID",50,0.,50.);
104  meZdcDetectHit_->setAxisTitle("Detector Hits",1);
105  meZdcDetectHit_->setAxisTitle("Counts",2);
107  meZdcSideHit_ = dbe_->book1D("ZDC Side","Side in ZDC",4,-2,2.);
108  meZdcSideHit_->setAxisTitle("ZDC Side",1);
109  meZdcSideHit_->setAxisTitle("Counts",2);
111  meZdcSectionHit_ = dbe_->book1D("ZDC Section","Section in ZDC",4,0.,4.);
112  meZdcSectionHit_->setAxisTitle("ZDC Section",1);
113  meZdcSectionHit_->setAxisTitle("Counts",2);
115  meZdcChannelHit_ = dbe_->book1D("ZDC Channel","Channel in ZDC",10,0.,10.);
116  meZdcChannelHit_->setAxisTitle("ZDC Channel",1);
117  meZdcChannelHit_->setAxisTitle("Counts",2);
119  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/");
120  meZdcEnergyHit_= dbe_->book1D("Hit Energy","Hits Energy",4000,0.,8000.);
121  meZdcEnergyHit_->setAxisTitle("Counts",2);
122  meZdcEnergyHit_->setAxisTitle("Energy (GeV)",1);
124  meZdcHadEnergyHit_= dbe_->book1D("Hit Energy HAD","Hits Energy in Had Section",4000,0.,8000.);
125  meZdcHadEnergyHit_->setAxisTitle("Counts",2);
126  meZdcHadEnergyHit_->setAxisTitle("Energy (GeV)",1);
128  meZdcEMEnergyHit_ = dbe_->book1D("Hit Energy EM","Hits Energy in EM Section",4000,0.,8000.);
129  meZdcEMEnergyHit_->setAxisTitle("Counts",2);
130  meZdcEMEnergyHit_->setAxisTitle("Energy (GeV)",1);
132  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
133  meZdcTimeHit_ = dbe_->book1D("Time in ZDC","Time in ZDC",300,0.,600.);
134  meZdcTimeHit_->setAxisTitle("Time (ns)",1);
135  meZdcTimeHit_->setAxisTitle("Counts",2);
137  meZdcTimeWHit_ = dbe_->book1D("Energy Weighted Time in ZDC","Time in ZDC (E wtd)", 300,0.,600.);
138  meZdcTimeWHit_->setAxisTitle("Time (ns)",1);
139  meZdcTimeWHit_->setAxisTitle("Counts",2);
141  meZdc10Ene_ = dbe_->book1D("ZDC Log(E)","Log10Energy in ZDC", 140, -20., 20. );
142  meZdc10Ene_->setAxisTitle("Log(E) (GeV)",1);
143  meZdc10Ene_->setAxisTitle("Counts",2);
145  meZdcHadL10EneP_ = dbe_->bookProfile("Log(EHAD) vs Contribution","Log10Energy in Had ZDC vs Hit contribution", 140, -1., 20., 100, 0., 1. );
146  meZdcHadL10EneP_->setAxisTitle("Log(EHAD) (GeV)",1);
147  meZdcHadL10EneP_->setAxisTitle("Counts",2);
149  meZdcEML10EneP_ = dbe_->bookProfile("Log(EEM) vs Contribution","Log10Energy in EM ZDC vs Hit contribution", 140, -1., 20., 100, 0., 1. );
150  meZdcEML10EneP_->setAxisTitle("Log(EEM) (GeV)",1);
151  meZdcEML10EneP_->setAxisTitle("Counts",2);
153  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits");
154  meZdcEHadCh_ = dbe_->book2D("ZDC EHAD vs Channel","ZDC Had Section Energy vs Channel", 4000, 0., 8000., 6, 0., 6. );
155  meZdcEHadCh_->setAxisTitle("Hadronic Channel Number",2);
156  meZdcEHadCh_->setAxisTitle("Energy (GeV)",1);
158  meZdcEEMCh_ = dbe_->book2D("ZDC EEM vs Channel","ZDC EM Section Energy vs Channel", 4000, 0., 8000., 6, 0., 6. );
159  meZdcEEMCh_->setAxisTitle("EM Channel Number",2);
160  meZdcEEMCh_->setAxisTitle("Energy (GeV)",1);
162  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
163  meZdcETime_ = dbe_->book2D("E vs T","Hits ZDC Energy vs Time", 4000, 0., 8000., 300, 0., 600. );
164  meZdcETime_->setAxisTitle("Energy (GeV)",1);
165  meZdcETime_->setAxisTitle("Time (ns)",2);
167  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/Individual_Channels/NZDC");
168  meZdcEneEmN1_ = dbe_->book1D("NZDC EM1 Energy","Energy EM module N1",4000,0.,8000.);
169  meZdcEneEmN1_->setAxisTitle("Energy (GeV)",1);
170  meZdcEneEmN1_->setAxisTitle("Counts",2);
172  meZdcEneEmN2_ = dbe_->book1D("NZDC EM2 Energy","Energy EM module N2",4000,0.,8000.);
173  meZdcEneEmN2_->setAxisTitle("Energy (GeV)",1);
174  meZdcEneEmN2_->setAxisTitle("Counts",2);
176  meZdcEneEmN3_ = dbe_->book1D("NZDC EM3 Energy","Energy EM module N3",4000,0.,8000.);
177  meZdcEneEmN3_->setAxisTitle("Energy (GeV)",1);
178  meZdcEneEmN3_->setAxisTitle("Counts",2);
180  meZdcEneEmN4_ = dbe_->book1D("NZDC EM4 Energy","Energy EM module N4",4000,0.,8000.);
181  meZdcEneEmN4_->setAxisTitle("Energy (GeV)",1);
182  meZdcEneEmN4_->setAxisTitle("Counts",2);
184  meZdcEneEmN5_ = dbe_->book1D("NZDC EM5 Energy","Energy EM module N5",4000,0.,8000.);
185  meZdcEneEmN5_->setAxisTitle("Energy (GeV)",1);
186  meZdcEneEmN5_->setAxisTitle("Counts",2);
188  meZdcEneHadN1_ = dbe_->book1D("NZDC HAD1 Energy","Energy HAD module N1",4000,0.,8000.);
189  meZdcEneHadN1_->setAxisTitle("Energy (GeV)",1);
190  meZdcEneHadN1_->setAxisTitle("Counts",2);
192  meZdcEneHadN2_ = dbe_->book1D("NZDC HAD2 Energy","Energy HAD module N2",4000,0.,8000.);
193  meZdcEneHadN2_->setAxisTitle("Energy (GeV)",1);
194  meZdcEneHadN2_->setAxisTitle("Counts",2);
196  meZdcEneHadN3_ = dbe_->book1D("NZDC HAD3 Energy","Energy HAD module N3",4000,0.,8000.);
197  meZdcEneHadN3_->setAxisTitle("Energy (GeV)",1);
198  meZdcEneHadN3_->setAxisTitle("Counts",2);
200  meZdcEneHadN4_ = dbe_->book1D("NZDC HAD4 Energy","Energy HAD module N4",4000,0.,8000.);
201  meZdcEneHadN4_->setAxisTitle("Energy (GeV)",1);
202  meZdcEneHadN4_->setAxisTitle("Counts",2);
204  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Individual_ChannelvsTime/NZDC");
205  meZdcEneTEmN1_ = dbe_->book2D("NZDC EM1 Energy vs Time","Energy EM mod N1 vs Time", 4000, 0., 8000., 300, 0., 600. );
206  meZdcEneTEmN1_->setAxisTitle("Energy (GeV)",1);
207  meZdcEneTEmN1_->setAxisTitle("Time (ns)",2);
209  meZdcEneTEmN2_ = dbe_->book2D("NZDC EM2 Energy vs Time","Energy EM mod N2 vs Time", 4000, 0., 8000., 300, 0., 600. );
210  meZdcEneTEmN2_->setAxisTitle("Energy (GeV)",1);
211  meZdcEneTEmN2_->setAxisTitle("Time (ns)",2);
213  meZdcEneTEmN3_ = dbe_->book2D("NZDC EM3 Energy vs Time","Energy EM mod N3 vs Time", 4000, 0., 8000., 300, 0., 600. );
214  meZdcEneTEmN3_->setAxisTitle("Energy (GeV)",1);
215  meZdcEneTEmN3_->setAxisTitle("Time (ns)",2);
217  meZdcEneTEmN4_ = dbe_->book2D("NZDC EM4 Energy vs Time","Energy EM mod N4 vs Time", 4000, 0., 8000., 300, 0., 600. );
218  meZdcEneTEmN4_->setAxisTitle("Energy (GeV)",1);
219  meZdcEneTEmN4_->setAxisTitle("Time (ns)",2);
221  meZdcEneTEmN5_ = dbe_->book2D("NZDC EM5 Energy vs Time","Energy EM mod N5 vs Time", 4000, 0., 8000., 300, 0., 600. );
222  meZdcEneTEmN5_->setAxisTitle("Energy (GeV)",1);
223  meZdcEneTEmN5_->setAxisTitle("Time (ns)",2);
225  meZdcEneTHadN1_ = dbe_->book2D("NZDC HAD1 Energy vs Time","Energy HAD mod N1 vs Time", 4000, 0., 8000., 300, 0., 600. );
226  meZdcEneTHadN1_->setAxisTitle("Energy (GeV)",1);
227  meZdcEneTHadN1_->setAxisTitle("Time (ns)",2);
229  meZdcEneTHadN2_ = dbe_->book2D("NZDC HAD2 Energy vs Time","Energy HAD mod N2 vs Time", 4000, 0., 8000., 300, 0., 600. );
230  meZdcEneTHadN2_->setAxisTitle("Energy (GeV)",1);
231  meZdcEneTHadN2_->setAxisTitle("Time (ns)",2);
233  meZdcEneTHadN3_ = dbe_->book2D("NZDC HAD3 Energy vs Time","Energy HAD mod N3 vs Time", 4000, 0., 8000., 300, 0., 600. );
234  meZdcEneTHadN3_->setAxisTitle("Energy (GeV)",1);
235  meZdcEneTHadN3_->setAxisTitle("Time (ns)",2);
237  meZdcEneTHadN4_ = dbe_->book2D("NZDC HAD4 Energy vs Time","Energy HAD mod N4 vs Time", 4000, 0., 8000., 300, 0., 600. );
238  meZdcEneTHadN4_->setAxisTitle("Energy (GeV)",1);
239  meZdcEneTHadN4_->setAxisTitle("Time (ns)",2);
241  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/NZDC");
242  meZdcEneHadNTot_ = dbe_->book1D("NZDC EHAD","Total N-ZDC HAD Energy",4000,0.,4000.);
243  meZdcEneHadNTot_->setAxisTitle("Counts",2);
244  meZdcEneHadNTot_->setAxisTitle("Energy (GeV)",1);
246  meZdcEneEmNTot_ = dbe_->book1D("NZDC EEM","Total N-ZDC EM Energy",3000,0.,3000.);
247  meZdcEneEmNTot_->setAxisTitle("Counts",2);
248  meZdcEneEmNTot_->setAxisTitle("Energy (GeV)",1);
250  meZdcEneNTot_ = dbe_->book1D("NZDC ETOT","Total N-ZDC Energy ",7000,0.,7000.);
251  meZdcEneNTot_->setAxisTitle("Counts",2);
252  meZdcEneNTot_->setAxisTitle("Energy (GeV)",1);
254  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/Individual_Channels/PZDC");
255  meZdcEneEmP1_ = dbe_->book1D("PZDC EM1 Energy","Energy EM module P1",3000,0.,3000.);
256  meZdcEneEmP1_->setAxisTitle("Energy (GeV)",1);
257  meZdcEneEmP1_->setAxisTitle("Counts",2);
259  meZdcEneEmP2_ = dbe_->book1D("PZDC EM2 Energy","Energy EM module P2",3000,0.,3000.);
260  meZdcEneEmP2_->setAxisTitle("Energy (GeV)",1);
261  meZdcEneEmP2_->setAxisTitle("Counts",2);
263  meZdcEneEmP3_ = dbe_->book1D("PZDC EM3 Energy","Energy EM module P3",3000,0.,3000.);
264  meZdcEneEmP3_->setAxisTitle("Energy (GeV)",1);
265  meZdcEneEmP3_->setAxisTitle("Counts",2);
267  meZdcEneEmP4_ = dbe_->book1D("PZDC EM4 Energy","Energy EM module P4",3000,0.,3000.);
268  meZdcEneEmP4_->setAxisTitle("Energy (GeV)",1);
269  meZdcEneEmP4_->setAxisTitle("Counts",2);
271  meZdcEneEmP5_ = dbe_->book1D("PZDC EM5 Energy","Energy EM module P5",3000,0.,3000.);
272  meZdcEneEmP5_->setAxisTitle("Energy (GeV)",1);
273  meZdcEneEmP5_->setAxisTitle("Counts",2);
275  meZdcEneHadP1_ = dbe_->book1D("PZDC HAD1 Energy","Energy HAD module P1",3000,0.,3000.);
276  meZdcEneHadP1_->setAxisTitle("Energy (GeV)",1);
277  meZdcEneHadP1_->setAxisTitle("Counts",2);
279  meZdcEneHadP2_ = dbe_->book1D("PZDC HAD2 Energy","Energy HAD module P2",3000,0.,3000.);
280  meZdcEneHadP2_->setAxisTitle("Energy (GeV)",1);
281  meZdcEneHadP2_->setAxisTitle("Counts",2);
283  meZdcEneHadP3_ = dbe_->book1D("PZDC HAD3 Energy","Energy HAD module P3",3000,0.,3000.);
284  meZdcEneHadP3_->setAxisTitle("Energy (GeV)",1);
285  meZdcEneHadP3_->setAxisTitle("Counts",2);
287  meZdcEneHadP4_ = dbe_->book1D("PZDC HAD4 Energy","Energy HAD module P4",3000,0.,3000.);
288  meZdcEneHadP4_->setAxisTitle("Energy (GeV)",1);
289  meZdcEneHadP4_->setAxisTitle("Counts",2);
291  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Individual_ChannelvsTime/PZDC");
292  meZdcEneTEmP1_ = dbe_->book2D("PZDC EM1 Energy vs Time","Energy EM mod P1 vs Time", 4000, 0., 8000., 300, 0., 600. );
293  meZdcEneTEmP1_->setAxisTitle("Energy (GeV)",1);
294  meZdcEneTEmP1_->setAxisTitle("Time (ns)",2);
296  meZdcEneTEmP2_ = dbe_->book2D("PZDC EM2 Energy vs Time","Energy EM mod P2 vs Time", 4000, 0., 8000., 300, 0., 600. );
297  meZdcEneTEmP2_->setAxisTitle("Energy (GeV)",1);
298  meZdcEneTEmP2_->setAxisTitle("Time (ns)",2);
300  meZdcEneTEmP3_ = dbe_->book2D("PZDC EM3 Energy vs Time","Energy EM mod P3 vs Time", 4000, 0., 8000., 300, 0., 600. );
301  meZdcEneTEmP3_->setAxisTitle("Energy (GeV)",1);
302  meZdcEneTEmP3_->setAxisTitle("Time (ns)",2);
304  meZdcEneTEmP4_ = dbe_->book2D("PZDC EM4 Energy vs Time","Energy EM mod P4 vs Time", 4000, 0., 8000., 300, 0., 600. );
305  meZdcEneTEmP4_->setAxisTitle("Energy (GeV)",1);
306  meZdcEneTEmP4_->setAxisTitle("Time (ns)",2);
308  meZdcEneTEmP5_ = dbe_->book2D("PZDC EM5 Energy vs Time","Energy EM mod P5 vs Time", 4000, 0., 8000., 300, 0., 600. );
309  meZdcEneTEmP5_->setAxisTitle("Energy (GeV)",1);
310  meZdcEneTEmP5_->setAxisTitle("Time (ns)",2);
312  meZdcEneTHadP1_ = dbe_->book2D("PZDC HAD1 Energy vs Time","Energy HAD mod P1 vs Time", 4000, 0., 8000., 300, 0., 600. );
313  meZdcEneTHadP1_->setAxisTitle("Energy (GeV)",1);
314  meZdcEneTHadP1_->setAxisTitle("Time (ns)",2);
316  meZdcEneTHadP2_ = dbe_->book2D("PZDC HAD2 Energy vs Time","Energy HAD mod P2 vs Time", 4000, 0., 8000., 300, 0., 600. );
317  meZdcEneTHadP2_->setAxisTitle("Energy (GeV)",1);
318  meZdcEneTHadP2_->setAxisTitle("Time (ns)",2);
320  meZdcEneTHadP3_ = dbe_->book2D("PZDC HAD3 Energy vs Time","Energy HAD mod P3 vs Time", 4000, 0., 8000., 300, 0., 600. );
321  meZdcEneTHadP3_->setAxisTitle("Energy (GeV)",1);
322  meZdcEneTHadP3_->setAxisTitle("Time (ns)",2);
324  meZdcEneTHadP4_ = dbe_->book2D("PZDC HAD4 Energy vs Time","Energy HAD mod P4 vs Time", 4000, 0., 8000., 300, 0., 600. );
325  meZdcEneTHadP4_->setAxisTitle("Energy (GeV)",1);
326  meZdcEneTHadP4_->setAxisTitle("Time (ns)",2);
328  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/PZDC");
329  meZdcEneHadPTot_ = dbe_->book1D("PZDC EHAD","Total P-ZDC HAD Energy",10000,0.,10000.);
330  meZdcEneHadPTot_->setAxisTitle("Energy (GeV)",1);
331  meZdcEneHadPTot_->setAxisTitle("Counts",2);
333  meZdcEneEmPTot_ = dbe_->book1D("PZDC EEM","Total P-ZDC EM Energy",10000,0.,10000.);
334  meZdcEneEmPTot_->setAxisTitle("Energy (GeV)",1);
335  meZdcEneEmPTot_->setAxisTitle("Counts",2);
337  meZdcEnePTot_ = dbe_->book1D("PZDC ETOT","Total P-ZDC Energy",10000,0.,10000.);
338  meZdcEnePTot_->setAxisTitle("Energy (GeV)",1);
339  meZdcEnePTot_->setAxisTitle("Counts",2);
341  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/NZDC");
342  meZdcCorEEmNEHadN_= dbe_->book2D("NZDC EMvHAD","N-ZDC Energy EM vs HAD", 3000, 0., 3000.,3000, 0., 3000.);
343  meZdcCorEEmNEHadN_->setAxisTitle("EM Energy (GeV)",1);
344  meZdcCorEEmNEHadN_->setAxisTitle("HAD Energy (GeV)",2);
346  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/PZDC");
347  meZdcCorEEmPEHadP_= dbe_->book2D("PZDC EMvHAD","P-ZDC Energy EM vs HAD", 3000, 0., 3000.,3000, 0., 3000.);
348  meZdcCorEEmPEHadP_->setAxisTitle("EM Energy (GeV)",1);
349  meZdcCorEEmPEHadP_->setAxisTitle("HAD Energy (GeV)",2);
351  dbe_->setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS");
352  meZdcCorEtotNEtotP_ = dbe_->book2D("PZDC vs NZDC","Energy N-ZDC vs P-ZDC", 3000, 0., 3000.,3000, 0., 3000.);
353  meZdcCorEtotNEtotP_->setAxisTitle("N-ZDC Total Energy (GeV)",1);
354  meZdcCorEtotNEtotP_->setAxisTitle("P-ZDC Total Energy (GeV)",2);
356  meZdcEneTot_ = dbe_->book1D("ETOT ZDCs","Total Energy ZDCs",3000,0.,3000.);
357  meZdcEneTot_->setAxisTitle("Counts",2);
358  meZdcEneTot_->setAxisTitle("Energy (GeV)",1);
360 
361 
362 
363 
365 
367  dbe_->setCurrentFolder("ZDCValidation/GenParticles/Forward");
370  genpart_Pi0F = dbe_->book2D("Pi0_Forward","Forward Generated Pi0s",200,7.5,13,100,-3.15,3.15);
371  // genpart_Pi0F = dbe_->bookProfile2D("blah","balh",200,4.5,7,100,-3.15,3.15,2000,0,3000,"s");
372  genpart_Pi0F->setAxisTitle("Eta",1);
373  genpart_Pi0F->setAxisTitle("Phi (radians)",2);
374  genpart_Pi0F->setAxisTitle("Energy (GeV)",3);
375  genpart_Pi0F->getTH2F()->SetOption("lego2z,prof");
376  genpart_Pi0F->getTH2F()->SetTitleOffset(1.4,"x");
377  genpart_Pi0F->getTH2F()->SetTitleOffset(1.4,"y");
380  genpart_NeutF = dbe_->book2D("Neutron_Forward","Forward Generated Neutrons",200,7.5,13,100,-3.15,3.15);
381  genpart_NeutF->setAxisTitle("Eta",1);
382  genpart_NeutF->setAxisTitle("Phi (radians)",2);
383  genpart_NeutF->setAxisTitle("Energy (GeV)",3);
384  genpart_NeutF->getTH2F()->SetOption("lego2z,prof");
385  genpart_NeutF->getTH2F()->SetTitleOffset(1.4,"x");
386  genpart_NeutF->getTH2F()->SetTitleOffset(1.4,"y");
389  genpart_GammaF = dbe_->book2D("Gamma_Forward","Forward Generated Gammas",200,7.5,13,100,-3.15,3.15);
390  genpart_GammaF->setAxisTitle("Eta",1);
391  genpart_GammaF->setAxisTitle("Phi (radians)",2);
392  genpart_GammaF->setAxisTitle("Energy (GeV)",3);
393  genpart_GammaF->getTH2F()->SetOption("lego2z,prof");
394  genpart_GammaF->getTH2F()->SetTitleOffset(1.4,"x");
395  genpart_GammaF->getTH2F()->SetTitleOffset(1.4,"y");
398 genpart_Pi0F_energydist = dbe_->book1D("Pi0_Forward_EDistribution","Gen-Level Forward Pi0 Energy",1500,0,1500);
399  genpart_Pi0F_energydist->setAxisTitle("Energy (GeV)",1);
403  genpart_NeutF_energydist = dbe_->book1D("N_Forward_EDistribution","Gen-Level Forward Neutron Energy",1500,0,1500);
404  genpart_NeutF_energydist->setAxisTitle("Energy (GeV)",1);
408  genpart_GammaF_energydist = dbe_->book1D("Gamma_Forward_EDistribution","Gen-Level Fowarad Gamma Energy",1500,0,1500);
409  genpart_GammaF_energydist->setAxisTitle("Energy (GeV)",1);
412  dbe_->setCurrentFolder("ZDCValidation/GenParticles/Backward");
415  genpart_Pi0B = dbe_->book2D("Pi0_Backward","Backward Generated Pi0s",1000,-13,-7.5,100,-3.15,3.15);
416  genpart_Pi0B->setAxisTitle("Eta",1);
417  genpart_Pi0B->setAxisTitle("Phi (radians)",2);
418  genpart_Pi0B->setAxisTitle("Energy (GeV)",3);
419  genpart_Pi0B->getTH2F()->SetOption("lego2z,prof");
420  genpart_Pi0B->getTH2F()->SetTitleOffset(1.4,"x");
421  genpart_Pi0B->getTH2F()->SetTitleOffset(1.4,"y");
424  genpart_NeutB = dbe_->book2D("Neutron_Backward","Backward Generated Neutrons",1000,-13,-7.5,100,-3.15,3.15);
425  genpart_NeutB->setAxisTitle("Eta",1);
426  genpart_NeutB->setAxisTitle("Phi (radians)",2);
427  genpart_NeutB->setAxisTitle("Energy (GeV)",3);
428  genpart_NeutB->getTH2F()->SetOption("lego2z,prof");
429  genpart_NeutB->getTH2F()->SetTitleOffset(1.4,"x");
430  genpart_NeutB->getTH2F()->SetTitleOffset(1.4,"y");
433  genpart_GammaB = dbe_->book2D("Gamma_Backward","Backward Generated Gammas",1000,-13,-7.5,100,-3.15,3.15);
434  genpart_GammaB->setAxisTitle("Eta",1);
435  genpart_GammaB->setAxisTitle("Phi (radians)",2);
436  genpart_GammaB->setAxisTitle("Energy (GeV)",3);
437  genpart_GammaB->getTH2F()->SetOption("lego2z,prof");
438  genpart_GammaB->getTH2F()->SetTitleOffset(1.4,"x");
439  genpart_GammaB->getTH2F()->SetTitleOffset(1.4,"y");
443  genpart_Pi0B_energydist = dbe_->book1D("Pi0_Backward_EDistribution","Gen-Level Backward Pi0 Energy",1500,0,1500);
444  genpart_Pi0B_energydist->setAxisTitle("Energy (GeV)",1);
448  genpart_NeutB_energydist = dbe_->book1D("N_Backward_EDistribution","Gen-Level Foward Neutron Energy",1500,0,1500);
449  genpart_NeutB_energydist->setAxisTitle("Energy (GeV)",1);
453  genpart_GammaB_energydist = dbe_->book1D("Gamma_Backward_EDistribution","Gen-Level Backward Gamma Energy",1500,0,1500);
454  genpart_GammaB_energydist->setAxisTitle("Energy (GeV)",1);
457 
458 
459 
460 
461 
462  }
463  }
464 }
465 
467  if (dbe_ && outFile_.size() > 0) dbe_->save(outFile_);
468 }
469 
470 //void ZdcSimHitStudy::analyze(const edm::Event& e, const edm::EventSetup& ) {
473 
474  using namespace edm;
475  bool gotGenParticles=true;
476 
477 
479 
480  if (!(iEvent.getByLabel("genParticles",genhandle)))
481  {
482  gotGenParticles=false; //this is the same kind of boolean except for the genparticles collection
483  }
484  if (!(genhandle.isValid()))
485  {
486  gotGenParticles=false;
487  }
488 
489 
490  //Handle<edm::PCaloHitContainer> zdcsimhandle;
491  //iEvent.getByLabel("g4SimHits_ZDCHITS",zdcsimhandle);
492 
493 
494 
495 
496 
498 
499 
500  if (gotGenParticles==true){ //if the boolean was able to find the leaf "genparticles" then do this
501  for (reco::GenParticleCollection::const_iterator gen = genhandle->begin();
502  gen!=genhandle->end();
503  ++gen) //here we iterate over all generated particles
504  {
505  // double energy=gen->energy();
506  reco::GenParticle thisParticle = (reco::GenParticle)(*gen); //get the particle "gen" points to
507  double energy_2= thisParticle.energy(); //here I grab some of the attributes of the generated particle....like its energy, its phi and its eta and what kind of particle it is
508  double gen_phi = thisParticle.phi();
509  double gen_eta = thisParticle.eta();
510  int gen_id = thisParticle.pdgId();
511 
512  if (gen_id==111){ //here i require a pi0
513  if (gen_eta>8.3){ //eta requirement
514 
516 //# IMPORTANT IMPORTANT IMPORTANT IMPORTANT #
517 //# The real eta of the ZDC is |eta| > 8.3, I have only changed it here to 3 because#
518 //# in the PG simulation the ZDC is at an eta of about 4.5-7, in the real GEANT the #
519 //# ZDC is in its appropriate place at the very foward region...please edit this if #
520 //# looking at MinBias data or the like #
521 //# #
522 //# IMPORTANT IMPORTANT IMPORTANT IMPORTANT #
524 
525 
526 
527  genpart_Pi0F->Fill(gen_eta,gen_phi,energy_2); //fill the lego plot
528  genpart_Pi0F_energydist->Fill(energy_2); //fill the 1D distribution
529  }
530  if (gen_eta<-8.3){ //neg eta requirement
531  genpart_Pi0B->Fill(gen_eta,gen_phi,energy_2);
532  genpart_Pi0B_energydist->Fill(energy_2);
533  }
534  }
535  if (gen_id==2112){ //require neutron
536  if (gen_eta>8.3){
537  genpart_NeutF->Fill(gen_eta,gen_phi,energy_2);
538  genpart_NeutF_energydist->Fill(energy_2);
539  }
540  if (gen_eta<-8.3){
541  genpart_NeutB->Fill(gen_eta,gen_phi,energy_2);
542  genpart_NeutB_energydist->Fill(energy_2);
543  }
544  }
545 
546  if (gen_id==22){ //require gamma
547  if (gen_eta>8.3){
548  genpart_GammaF->Fill(gen_eta,gen_phi,energy_2);
549  genpart_GammaF_energydist->Fill(energy_2);
550  }
551  if (gen_eta<-8.3){
552  genpart_GammaB->Fill(gen_eta,gen_phi,energy_2);
553  genpart_GammaB_energydist->Fill(energy_2);
554  }
555  }
556 
557  } //end of GEN loop
558  }
559 
560 
561 
563 
564 //Below is the old script which I will comment later
565 
566 
567 
568  LogDebug("ZdcSimHitStudy")
569  //std::cout
570  //std::cout
571  << "Run = " << iEvent.id().run() << " Event = "
572  << iEvent.id().event();
573 /* << "Run = " << e.id().run() << " Event = "
574  << e.id().event();*/
575  //std::cout<<std::endl;
576 
577  std::vector<PCaloHit> caloHits;
579 
580  bool getHits = false;
581  if (checkHit_) {
582  iEvent.getByLabel(g4Label,zdcHits,hitsZdc);
583 // e.getByLabel(g4Label,zdcHits,hitsZdc);
584  if (hitsZdc.isValid()) getHits = true;
585  }
586 
587  LogDebug("ZdcSim") << "ZdcValidation: Input flags Hits " << getHits;
588 
589  if (getHits) {
590  caloHits.insert(caloHits.end(),hitsZdc->begin(),hitsZdc->end());
591  LogDebug("ZdcSimHitStudy")
592  //std::cout
593  << "ZdcValidation: Hit buffer "
594  << caloHits.size();
595  //<< std::endl;
596  analyzeHits (caloHits);
597  }
598 }
599 
600 void ZdcSimHitStudy::analyzeHits(std::vector<PCaloHit>& hits){
601  int nHit = hits.size();
602  int nZdcEM = 0, nZdcHad = 0, nZdcLum = 0;
603  int nBad1=0, nBad2=0, nBad=0;
604  std::vector<double> encontZdcEM(140, 0.);
605  std::vector<double> encontZdcHad(140, 0.);
606  double entotZdcEM = 0;
607  double entotZdcHad = 0;
608 
609  enetotEmN = 0;
610  enetotHadN = 0.;
611  enetotN = 0;
612  enetotEmP = 0;
613  enetotHadP = 0;
614  enetotP = 0;
615  enetot = 0;
616 
617  for (int i=0; i<nHit; i++) {
618  double energy = hits[i].energy();
619  double log10en = log10(energy);
620  int log10i = int( (log10en+10.)*10. );
621  double time = hits[i].time();
622  unsigned int id_ = hits[i].id();
623  HcalZDCDetId id = HcalZDCDetId(id_);
624  int det = id.det();
625  int side = id.zside();
626  int section = id.section();
627  int channel = id.channel();
628 
629  FillHitValHist(side,section,channel,energy,time);
630 
631 
632  LogDebug("ZdcSimHitStudy")
633  //std::cout
634  << "Hit[" << i << "] ID " << std::hex << id_
635  << std::dec <<" DetID "<<id
636  << " Det "<< det << " side "<< side
637  << " Section " << section
638  << " channel "<< channel
639  << " E " << energy
640  << " time \n" << time;
641  //<<std::endl;
642 
643  if(det == 5) { // Check DetId.h
644  if(section == HcalZDCDetId::EM)nZdcEM++;
645  else if(section == HcalZDCDetId::HAD)nZdcHad++;
646  else if(section == HcalZDCDetId::LUM)nZdcLum++;
647  else { nBad++; nBad2++;}
648  } else { nBad++; nBad1++;}
649  if (dbe_) {
650  meZdcDetectHit_->Fill(double(det));
651  if (det == 5) {
652  meZdcSideHit_->Fill(double(side));
653  meZdcSectionHit_->Fill(double(section));
654  meZdcChannelHit_->Fill(double(channel));
655  meZdcEnergyHit_->Fill(energy);
656  if(section == HcalZDCDetId::EM){
657  meZdcEMEnergyHit_->Fill(energy);
658  meZdcEEMCh_->Fill(energy,channel);
659  if( log10i >=0 && log10i < 140 )encontZdcEM[log10i] += energy;
660  entotZdcEM += energy;
661  }
662  if(section == HcalZDCDetId::HAD){
663  meZdcHadEnergyHit_->Fill(energy);
664  meZdcEHadCh_->Fill(energy,channel);
665  if( log10i >=0 && log10i < 140 )encontZdcHad[log10i] += energy;
666  entotZdcHad += energy;
667  }
668  meZdcTimeHit_->Fill(time);
669  meZdcTimeWHit_->Fill(double(time),energy);
670  meZdc10Ene_->Fill(log10en);
671  meZdcETime_->Fill(energy, double(time));
672  }
673  }
674  }
675 
676  if( entotZdcEM != 0 ) for( int i=0; i<140; i++ ) meZdcEML10EneP_->Fill( -10.+(float(i)+0.5)/10., encontZdcEM[i]/entotZdcEM);
677  if( entotZdcHad != 0 ) for( int i=0; i<140; i++ ) meZdcHadL10EneP_->Fill( -10.+(float(i)+0.5)/10.,encontZdcHad[i]/entotZdcHad);
678 
679  if (dbe_ && nHit>0) {
680  meAllZdcNHit_->Fill(double(nHit));
681  meBadZdcDetHit_->Fill(double(nBad1));
682  meBadZdcSecHit_->Fill(double(nBad2));
683  meBadZdcIdHit_->Fill(double(nBad));
684  meZdcNHitEM_->Fill(double(nZdcEM));
685  meZdcNHitHad_->Fill(double(nZdcHad));
686  meZdcNHitLum_->Fill(double(nZdcLum));
697  }
698  LogDebug("HcalSimHitStudy")
699  //std::cout
700  <<"HcalSimHitStudy::analyzeHits: Had " << nZdcHad
701  << " EM "<< nZdcEM
702  << " Bad " << nBad << " All " << nHit;
703  //<<std::endl;
704 }
705 
706 int ZdcSimHitStudy::FillHitValHist(int side,int section,int channel,double energy,double time){
707  enetot += enetot;
708  if(side == -1){
709  enetotN += energy;
710  if(section == HcalZDCDetId::EM){
711  enetotEmN += energy;
712  switch(channel){
713  case 1 :
714  meZdcEneEmN1_->Fill(energy);
715  meZdcEneTEmN1_->Fill(energy,time);
716  break;
717  case 2 :
718  meZdcEneEmN2_->Fill(energy);
719  meZdcEneTEmN2_->Fill(energy,time);
720  break;
721  case 3 :
722  meZdcEneEmN3_->Fill(energy);
723  meZdcEneTEmN3_->Fill(energy,time);
724  break;
725  case 4 :
726  meZdcEneEmN4_->Fill(energy);
727  meZdcEneTEmN4_->Fill(energy,time);
728  break;
729  case 5 :
730  meZdcEneEmN4_->Fill(energy);
731  meZdcEneTEmN4_->Fill(energy,time);
732  break;
733  }
734  }
735  if(section == HcalZDCDetId::HAD){
736  enetotHadN += energy;
737  switch(channel){
738  case 1 :
739  meZdcEneHadN1_->Fill(energy);
740  meZdcEneTHadN1_->Fill(energy,time);
741  break;
742  case 2 :
743  meZdcEneHadN2_->Fill(energy);
744  meZdcEneTHadN2_->Fill(energy,time);
745  break;
746  case 3 :
747  meZdcEneHadN3_->Fill(energy);
748  meZdcEneTHadN3_->Fill(energy,time);
749  break;
750  case 4 :
751  meZdcEneHadN4_->Fill(energy);
752  meZdcEneTHadN4_->Fill(energy,time);
753  break;
754  }
755  }
756  }
757  if(side == 1){
758  enetotP += energy;
759  if(section == HcalZDCDetId::EM){
760  enetotEmP += energy;
761  switch(channel){
762  case 1 :
763  meZdcEneEmP1_->Fill(energy);
764  meZdcEneTEmP1_->Fill(energy,time);
765  break;
766  case 2 :
767  meZdcEneEmP2_->Fill(energy);
768  meZdcEneTEmP2_->Fill(energy,time);
769  break;
770  case 3 :
771  meZdcEneEmP3_->Fill(energy);
772  meZdcEneTEmP3_->Fill(energy,time);
773  break;
774  case 4 :
775  meZdcEneEmP4_->Fill(energy);
776  meZdcEneTEmP4_->Fill(energy,time);
777  break;
778  case 5 :
779  meZdcEneEmP4_->Fill(energy);
780  meZdcEneTEmP4_->Fill(energy,time);
781  break;
782  }
783  }
784  if(section == HcalZDCDetId::HAD){
785  enetotHadP += energy;
786  switch(channel){
787  case 1 :
788  meZdcEneHadP1_->Fill(energy);
789  meZdcEneTHadP1_->Fill(energy,time);
790  break;
791  case 2 :
792  meZdcEneHadP2_->Fill(energy);
793  meZdcEneTHadP2_->Fill(energy,time);
794  break;
795  case 3 :
796  meZdcEneHadP3_->Fill(energy);
797  meZdcEneTHadP3_->Fill(energy,time);
798  break;
799  case 4 :
800  meZdcEneHadP4_->Fill(energy);
801  meZdcEneTHadP4_->Fill(energy,time);
802  break;
803  }
804  }
805  }
806  return 0;
807 }
808 
809 
810 
812 {
813 }
814 
815 
816 
817 
818 
819 
820 
821 
822 
823 
824 
825 
#define LogDebug(id)
RunNumber_t run() const
Definition: EventID.h:42
MonitorElement * meZdcEneTHadP3_
MonitorElement * meZdcEnergyHit_
virtual double energy() const GCC11_FINAL
energy
EventNumber_t event() const
Definition: EventID.h:44
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meZdcEneTEmN1_
int i
Definition: DBlmapReader.cc:9
MonitorElement * genpart_NeutB
void analyzeHits(std::vector< PCaloHit > &)
MonitorElement * genpart_Pi0F
MonitorElement * meZdcEneTEmP1_
MonitorElement * meZdcHadL10EneP_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * meZdcEneEmP3_
MonitorElement * meZdcEneEmPTot_
MonitorElement * meZdcEneEmN1_
virtual int pdgId() const GCC11_FINAL
PDG identifier.
MonitorElement * meZdcEneTEmP4_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
MonitorElement * meZdcEneHadN1_
MonitorElement * meZdcCorEEmNEHadN_
MonitorElement * meZdcEneEmN4_
MonitorElement * meZdcEneTHadN4_
MonitorElement * meZdcEneEmN5_
std::string outFile_
MonitorElement * meAllZdcNHit_
MonitorElement * genpart_Pi0F_energydist
MonitorElement * meZdcEneTEmN2_
void sleep(Duration_t)
Definition: Utils.h:163
MonitorElement * meZdcEneHadN4_
MonitorElement * genpart_NeutF
MonitorElement * meZdcEneTHadN2_
MonitorElement * genpart_Pi0B
void Fill(long long x)
MonitorElement * meZdcEneEmNTot_
MonitorElement * meZdcChannelHit_
MonitorElement * meZdcEneEmP2_
MonitorElement * meZdcEneHadP1_
MonitorElement * meZdcEML10EneP_
MonitorElement * meZdcEneTEmN5_
MonitorElement * meZdcEneEmN3_
MonitorElement * meZdcNHitHad_
MonitorElement * meBadZdcDetHit_
ZdcSimHitStudy(const edm::ParameterSet &ps)
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
int iEvent
Definition: GenABIO.cc:243
MonitorElement * genpart_GammaB_energydist
MonitorElement * meZdcEneTEmP5_
MonitorElement * meZdcEnePTot_
MonitorElement * meZdcEneTEmN4_
MonitorElement * meZdcCorEEmPEHadP_
MonitorElement * meZdcEneTHadP2_
MonitorElement * genpart_GammaF_energydist
MonitorElement * meZdcSideHit_
MonitorElement * meZdcEneHadN3_
MonitorElement * meZdcEneEmN2_
MonitorElement * meZdcEneTHadN1_
MonitorElement * meZdcEneTEmP3_
MonitorElement * genpart_NeutF_energydist
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
void setVerbose(unsigned level)
Definition: DQMStore.cc:398
MonitorElement * meZdcDetectHit_
MonitorElement * meZdc10Ene_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
MonitorElement * meZdcEneHadP4_
std::string zdcHits
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
int FillHitValHist(int side, int section, int channel, double energy, double time)
MonitorElement * meZdcEneTot_
MonitorElement * meZdcEneHadP3_
MonitorElement * genpart_GammaF
MonitorElement * meZdcEneTEmN3_
MonitorElement * meBadZdcSecHit_
MonitorElement * meZdcEneTHadP1_
MonitorElement * genpart_GammaB
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * meZdcTimeHit_
MonitorElement * meBadZdcIdHit_
MonitorElement * meZdcEneTHadP4_
std::string g4Label
MonitorElement * meZdcEneHadNTot_
MonitorElement * genpart_NeutB_energydist
MonitorElement * meZdcCorEtotNEtotP_
MonitorElement * meZdcEneHadP2_
MonitorElement * meZdcEneEmP4_
MonitorElement * meZdcHadEnergyHit_
MonitorElement * genpart_Pi0B_energydist
MonitorElement * meZdcEneEmP5_
edm::EventID id() const
Definition: EventBase.h:56
void endRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * meZdcEneTEmP2_
MonitorElement * meZdcSectionHit_
DQMStore * dbe_
MonitorElement * meZdcEneNTot_
MonitorElement * meZdcEneHadN2_
MonitorElement * meZdcEneHadPTot_
MonitorElement * meZdcEEMCh_
void showDirStructure(void) const
Definition: DQMStore.cc:2766
TH2F * getTH2F(void) const
MonitorElement * meZdcEneEmP1_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
MonitorElement * meZdcNHitEM_
MonitorElement * meZdcEneTHadN3_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meZdcTimeWHit_
MonitorElement * meZdcEHadCh_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * meZdcETime_
Definition: Run.h:36
MonitorElement * meZdcEMEnergyHit_
MonitorElement * meZdcNHitLum_