CMS 3D CMS Logo

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
8  found that the ZDC Simulation was unrealistic and needed repair. The aim of
9  this code is to show the user the input and output of a ZDC MinBias
10  simulation.
11 
12  Implementation:
13  First a MinBias simulation should be run, it could be pythia,hijin,or hydjet.
14  This will output a .root file which should have information about
15  recoGenParticles, and g4SimHits_ZDCHits. Use this .root file as the input into
16  the cfg.py which is found in the main directory of this package. This output
17  will be another .root file which is meant to be viewed in a TBrowser.
18 
19 */
20 //
21 // Original Author: Jaime Gomez (U. of Maryland) with SIGNIFICANT assistance of
22 // Dr. Jefferey Temple (U. of Maryland) Adapted from: E. Garcia-Solis' (CSU)
23 // original code
24 //
25 // Created: Summer 2012
27 
30 
32 
34  g4Label = ps.getUntrackedParameter<std::string>("moduleLabel", "g4SimHits");
35  zdcHits = ps.getUntrackedParameter<std::string>("HitCollection", "ZdcHits");
36  outFile_ = ps.getUntrackedParameter<std::string>("outputFile", "zdcHitStudy.root");
37  verbose_ = ps.getUntrackedParameter<bool>("Verbose", false);
38  checkHit_ = true;
39 
40  tok_gen_ = consumes<reco::GenParticleCollection>(edm::InputTag("genParticles"));
41  tok_hits_ = consumes<edm::PCaloHitContainer>(edm::InputTag(g4Label, zdcHits));
42 
43  edm::LogInfo("ZdcSimHitStudy")
44  // std::cout
45  << "Module Label: " << g4Label << " Hits: " << zdcHits << " / " << checkHit_ << " Output: " << outFile_;
46 }
47 
49 
51  ib.setCurrentFolder("ZDCValidation");
52  // Histograms for Hits
54  //# Below we are filling the histograms made in the .h file. The syntax is as
55  // follows: # # plot_code_name =
56  // ib.TypeofPlot[(1,2,3)-D,(F,I,D)]("Name as it will appear","Title",axis
57  // options); # # They will be stored in the TFile
58  // subdirectory set by : ib.setCurrentFolder("FolderIwant") # # axis
59  // options are like (#ofbins,min,max) #
61 
62  if (checkHit_) {
64  ib.setCurrentFolder("ZDCValidation/ZdcSimHits");
65  meAllZdcNHit_ = ib.book1D("ZDC Hits", "Number of All Hits in ZDC", 100, 0., 100.);
66  meAllZdcNHit_->setAxisTitle("Total Hits", 1);
67  meAllZdcNHit_->setAxisTitle("Counts", 2);
69  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Debug_Helper");
70  meBadZdcDetHit_ = ib.book1D("Hiits with the wrong Det", "Hits with wrong Det in ZDC", 100, 0., 100.);
71  meBadZdcDetHit_->setAxisTitle("Wrong Hits", 1);
72  meBadZdcDetHit_->setAxisTitle("Counts", 2);
74  meBadZdcSecHit_ = ib.book1D("Wrong Section Hits", "Hits with wrong Section in ZDC", 100, 0., 100.);
75  meBadZdcSecHit_->setAxisTitle("Hits in wrong section", 1);
76  meBadZdcSecHit_->setAxisTitle("Counts", 2);
78  meBadZdcIdHit_ = ib.book1D("Wrong_ID_Hits", "Hits with wrong ID in ZDC", 100, 0., 100.);
79  meBadZdcIdHit_->setAxisTitle("Hits with wrong ID", 1);
80  meBadZdcIdHit_->setAxisTitle("Counts", 2);
82  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
83  meZdcNHitEM_ = ib.book1D("Hits in EM", "Number of Hits in ZDC EM", 100, 0., 100.);
84  meZdcNHitEM_->setAxisTitle("EM Hits", 1);
85  meZdcNHitEM_->setAxisTitle("Counts", 2);
87  meZdcNHitHad_ = ib.book1D("Hits in HAD", "Number of Hits in ZDC Had", 100, 0., 100.);
88  meZdcNHitHad_->setAxisTitle("HAD Hits", 1);
89  meZdcNHitHad_->setAxisTitle("Counts", 2);
91  meZdcNHitLum_ = ib.book1D("Hits in LUM", "Number of Hits in ZDC Lum", 100, 0., 100.);
92  meZdcNHitLum_->setAxisTitle("LUM Hits", 1);
93  meZdcNHitLum_->setAxisTitle("Counts", 2);
95  meZdcDetectHit_ = ib.book1D("Calo Detector ID", "Calo Detector ID", 50, 0., 50.);
96  meZdcDetectHit_->setAxisTitle("Detector Hits", 1);
97  meZdcDetectHit_->setAxisTitle("Counts", 2);
99  meZdcSideHit_ = ib.book1D("ZDC Side", "Side in ZDC", 4, -2, 2.);
100  meZdcSideHit_->setAxisTitle("ZDC Side", 1);
101  meZdcSideHit_->setAxisTitle("Counts", 2);
103  meZdcSectionHit_ = ib.book1D("ZDC Section", "Section in ZDC", 4, 0., 4.);
104  meZdcSectionHit_->setAxisTitle("ZDC Section", 1);
105  meZdcSectionHit_->setAxisTitle("Counts", 2);
107  meZdcChannelHit_ = ib.book1D("ZDC Channel", "Channel in ZDC", 10, 0., 10.);
108  meZdcChannelHit_->setAxisTitle("ZDC Channel", 1);
109  meZdcChannelHit_->setAxisTitle("Counts", 2);
111  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/");
112  meZdcEnergyHit_ = ib.book1D("Hit Energy", "Hits Energy", 4000, 0., 8000.);
113  meZdcEnergyHit_->setAxisTitle("Counts", 2);
114  meZdcEnergyHit_->setAxisTitle("Energy (GeV)", 1);
116  meZdcHadEnergyHit_ = ib.book1D("Hit Energy HAD", "Hits Energy in Had Section", 4000, 0., 8000.);
117  meZdcHadEnergyHit_->setAxisTitle("Counts", 2);
118  meZdcHadEnergyHit_->setAxisTitle("Energy (GeV)", 1);
120  meZdcEMEnergyHit_ = ib.book1D("Hit Energy EM", "Hits Energy in EM Section", 4000, 0., 8000.);
121  meZdcEMEnergyHit_->setAxisTitle("Counts", 2);
122  meZdcEMEnergyHit_->setAxisTitle("Energy (GeV)", 1);
124  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
125  meZdcTimeHit_ = ib.book1D("Time in ZDC", "Time in ZDC", 300, 0., 600.);
126  meZdcTimeHit_->setAxisTitle("Time (ns)", 1);
127  meZdcTimeHit_->setAxisTitle("Counts", 2);
129  meZdcTimeWHit_ = ib.book1D("Energy Weighted Time in ZDC", "Time in ZDC (E wtd)", 300, 0., 600.);
130  meZdcTimeWHit_->setAxisTitle("Time (ns)", 1);
131  meZdcTimeWHit_->setAxisTitle("Counts", 2);
133  meZdc10Ene_ = ib.book1D("ZDC Log(E)", "Log10Energy in ZDC", 140, -20., 20.);
134  meZdc10Ene_->setAxisTitle("Log(E) (GeV)", 1);
135  meZdc10Ene_->setAxisTitle("Counts", 2);
137  meZdcHadL10EneP_ = ib.bookProfile(
138  "Log(EHAD) vs Contribution", "Log10Energy in Had ZDC vs Hit contribution", 140, -1., 20., 100, 0., 1.);
139  meZdcHadL10EneP_->setAxisTitle("Log(EHAD) (GeV)", 1);
140  meZdcHadL10EneP_->setAxisTitle("Counts", 2);
142  meZdcEML10EneP_ = ib.bookProfile(
143  "Log(EEM) vs Contribution", "Log10Energy in EM ZDC vs Hit contribution", 140, -1., 20., 100, 0., 1.);
144  meZdcEML10EneP_->setAxisTitle("Log(EEM) (GeV)", 1);
145  meZdcEML10EneP_->setAxisTitle("Counts", 2);
147  ib.setCurrentFolder("ZDCValidation/ZdcSimHits");
148  meZdcEHadCh_ = ib.book2D("ZDC EHAD vs Channel", "ZDC Had Section Energy vs Channel", 4000, 0., 8000., 6, 0., 6.);
149  meZdcEHadCh_->setAxisTitle("Hadronic Channel Number", 2);
150  meZdcEHadCh_->setAxisTitle("Energy (GeV)", 1);
152  meZdcEEMCh_ = ib.book2D("ZDC EEM vs Channel", "ZDC EM Section Energy vs Channel", 4000, 0., 8000., 6, 0., 6.);
153  meZdcEEMCh_->setAxisTitle("EM Channel Number", 2);
154  meZdcEEMCh_->setAxisTitle("Energy (GeV)", 1);
156  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/BasicHitInfo");
157  meZdcETime_ = ib.book2D("E vs T", "Hits ZDC Energy vs Time", 4000, 0., 8000., 300, 0., 600.);
158  meZdcETime_->setAxisTitle("Energy (GeV)", 1);
159  meZdcETime_->setAxisTitle("Time (ns)", 2);
161  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/Individual_Channels/NZDC");
162  meZdcEneEmN1_ = ib.book1D("NZDC EM1 Energy", "Energy EM module N1", 4000, 0., 8000.);
163  meZdcEneEmN1_->setAxisTitle("Energy (GeV)", 1);
164  meZdcEneEmN1_->setAxisTitle("Counts", 2);
166  meZdcEneEmN2_ = ib.book1D("NZDC EM2 Energy", "Energy EM module N2", 4000, 0., 8000.);
167  meZdcEneEmN2_->setAxisTitle("Energy (GeV)", 1);
168  meZdcEneEmN2_->setAxisTitle("Counts", 2);
170  meZdcEneEmN3_ = ib.book1D("NZDC EM3 Energy", "Energy EM module N3", 4000, 0., 8000.);
171  meZdcEneEmN3_->setAxisTitle("Energy (GeV)", 1);
172  meZdcEneEmN3_->setAxisTitle("Counts", 2);
174  meZdcEneEmN4_ = ib.book1D("NZDC EM4 Energy", "Energy EM module N4", 4000, 0., 8000.);
175  meZdcEneEmN4_->setAxisTitle("Energy (GeV)", 1);
176  meZdcEneEmN4_->setAxisTitle("Counts", 2);
178  meZdcEneEmN5_ = ib.book1D("NZDC EM5 Energy", "Energy EM module N5", 4000, 0., 8000.);
179  meZdcEneEmN5_->setAxisTitle("Energy (GeV)", 1);
180  meZdcEneEmN5_->setAxisTitle("Counts", 2);
182  meZdcEneHadN1_ = ib.book1D("NZDC HAD1 Energy", "Energy HAD module N1", 4000, 0., 8000.);
183  meZdcEneHadN1_->setAxisTitle("Energy (GeV)", 1);
184  meZdcEneHadN1_->setAxisTitle("Counts", 2);
186  meZdcEneHadN2_ = ib.book1D("NZDC HAD2 Energy", "Energy HAD module N2", 4000, 0., 8000.);
187  meZdcEneHadN2_->setAxisTitle("Energy (GeV)", 1);
188  meZdcEneHadN2_->setAxisTitle("Counts", 2);
190  meZdcEneHadN3_ = ib.book1D("NZDC HAD3 Energy", "Energy HAD module N3", 4000, 0., 8000.);
191  meZdcEneHadN3_->setAxisTitle("Energy (GeV)", 1);
192  meZdcEneHadN3_->setAxisTitle("Counts", 2);
194  meZdcEneHadN4_ = ib.book1D("NZDC HAD4 Energy", "Energy HAD module N4", 4000, 0., 8000.);
195  meZdcEneHadN4_->setAxisTitle("Energy (GeV)", 1);
196  meZdcEneHadN4_->setAxisTitle("Counts", 2);
198  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Individual_ChannelvsTime/NZDC");
199  meZdcEneTEmN1_ = ib.book2D("NZDC EM1 Energy vs Time", "Energy EM mod N1 vs Time", 4000, 0., 8000., 300, 0., 600.);
200  meZdcEneTEmN1_->setAxisTitle("Energy (GeV)", 1);
201  meZdcEneTEmN1_->setAxisTitle("Time (ns)", 2);
203  meZdcEneTEmN2_ = ib.book2D("NZDC EM2 Energy vs Time", "Energy EM mod N2 vs Time", 4000, 0., 8000., 300, 0., 600.);
204  meZdcEneTEmN2_->setAxisTitle("Energy (GeV)", 1);
205  meZdcEneTEmN2_->setAxisTitle("Time (ns)", 2);
207  meZdcEneTEmN3_ = ib.book2D("NZDC EM3 Energy vs Time", "Energy EM mod N3 vs Time", 4000, 0., 8000., 300, 0., 600.);
208  meZdcEneTEmN3_->setAxisTitle("Energy (GeV)", 1);
209  meZdcEneTEmN3_->setAxisTitle("Time (ns)", 2);
211  meZdcEneTEmN4_ = ib.book2D("NZDC EM4 Energy vs Time", "Energy EM mod N4 vs Time", 4000, 0., 8000., 300, 0., 600.);
212  meZdcEneTEmN4_->setAxisTitle("Energy (GeV)", 1);
213  meZdcEneTEmN4_->setAxisTitle("Time (ns)", 2);
215  meZdcEneTEmN5_ = ib.book2D("NZDC EM5 Energy vs Time", "Energy EM mod N5 vs Time", 4000, 0., 8000., 300, 0., 600.);
216  meZdcEneTEmN5_->setAxisTitle("Energy (GeV)", 1);
217  meZdcEneTEmN5_->setAxisTitle("Time (ns)", 2);
220  ib.book2D("NZDC HAD1 Energy vs Time", "Energy HAD mod N1 vs Time", 4000, 0., 8000., 300, 0., 600.);
221  meZdcEneTHadN1_->setAxisTitle("Energy (GeV)", 1);
222  meZdcEneTHadN1_->setAxisTitle("Time (ns)", 2);
225  ib.book2D("NZDC HAD2 Energy vs Time", "Energy HAD mod N2 vs Time", 4000, 0., 8000., 300, 0., 600.);
226  meZdcEneTHadN2_->setAxisTitle("Energy (GeV)", 1);
227  meZdcEneTHadN2_->setAxisTitle("Time (ns)", 2);
230  ib.book2D("NZDC HAD3 Energy vs Time", "Energy HAD mod N3 vs Time", 4000, 0., 8000., 300, 0., 600.);
231  meZdcEneTHadN3_->setAxisTitle("Energy (GeV)", 1);
232  meZdcEneTHadN3_->setAxisTitle("Time (ns)", 2);
235  ib.book2D("NZDC HAD4 Energy vs Time", "Energy HAD mod N4 vs Time", 4000, 0., 8000., 300, 0., 600.);
236  meZdcEneTHadN4_->setAxisTitle("Energy (GeV)", 1);
237  meZdcEneTHadN4_->setAxisTitle("Time (ns)", 2);
239  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/NZDC");
240  meZdcEneHadNTot_ = ib.book1D("NZDC EHAD", "Total N-ZDC HAD Energy", 4000, 0., 4000.);
241  meZdcEneHadNTot_->setAxisTitle("Counts", 2);
242  meZdcEneHadNTot_->setAxisTitle("Energy (GeV)", 1);
244  meZdcEneEmNTot_ = ib.book1D("NZDC EEM", "Total N-ZDC EM Energy", 3000, 0., 3000.);
245  meZdcEneEmNTot_->setAxisTitle("Counts", 2);
246  meZdcEneEmNTot_->setAxisTitle("Energy (GeV)", 1);
248  meZdcEneNTot_ = ib.book1D("NZDC ETOT", "Total N-ZDC Energy ", 7000, 0., 7000.);
249  meZdcEneNTot_->setAxisTitle("Counts", 2);
250  meZdcEneNTot_->setAxisTitle("Energy (GeV)", 1);
252  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/Individual_Channels/PZDC");
253  meZdcEneEmP1_ = ib.book1D("PZDC EM1 Energy", "Energy EM module P1", 3000, 0., 3000.);
254  meZdcEneEmP1_->setAxisTitle("Energy (GeV)", 1);
255  meZdcEneEmP1_->setAxisTitle("Counts", 2);
257  meZdcEneEmP2_ = ib.book1D("PZDC EM2 Energy", "Energy EM module P2", 3000, 0., 3000.);
258  meZdcEneEmP2_->setAxisTitle("Energy (GeV)", 1);
259  meZdcEneEmP2_->setAxisTitle("Counts", 2);
261  meZdcEneEmP3_ = ib.book1D("PZDC EM3 Energy", "Energy EM module P3", 3000, 0., 3000.);
262  meZdcEneEmP3_->setAxisTitle("Energy (GeV)", 1);
263  meZdcEneEmP3_->setAxisTitle("Counts", 2);
265  meZdcEneEmP4_ = ib.book1D("PZDC EM4 Energy", "Energy EM module P4", 3000, 0., 3000.);
266  meZdcEneEmP4_->setAxisTitle("Energy (GeV)", 1);
267  meZdcEneEmP4_->setAxisTitle("Counts", 2);
269  meZdcEneEmP5_ = ib.book1D("PZDC EM5 Energy", "Energy EM module P5", 3000, 0., 3000.);
270  meZdcEneEmP5_->setAxisTitle("Energy (GeV)", 1);
271  meZdcEneEmP5_->setAxisTitle("Counts", 2);
273  meZdcEneHadP1_ = ib.book1D("PZDC HAD1 Energy", "Energy HAD module P1", 3000, 0., 3000.);
274  meZdcEneHadP1_->setAxisTitle("Energy (GeV)", 1);
275  meZdcEneHadP1_->setAxisTitle("Counts", 2);
277  meZdcEneHadP2_ = ib.book1D("PZDC HAD2 Energy", "Energy HAD module P2", 3000, 0., 3000.);
278  meZdcEneHadP2_->setAxisTitle("Energy (GeV)", 1);
279  meZdcEneHadP2_->setAxisTitle("Counts", 2);
281  meZdcEneHadP3_ = ib.book1D("PZDC HAD3 Energy", "Energy HAD module P3", 3000, 0., 3000.);
282  meZdcEneHadP3_->setAxisTitle("Energy (GeV)", 1);
283  meZdcEneHadP3_->setAxisTitle("Counts", 2);
285  meZdcEneHadP4_ = ib.book1D("PZDC HAD4 Energy", "Energy HAD module P4", 3000, 0., 3000.);
286  meZdcEneHadP4_->setAxisTitle("Energy (GeV)", 1);
287  meZdcEneHadP4_->setAxisTitle("Counts", 2);
289  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/Excess_Info/Individual_ChannelvsTime/PZDC");
290  meZdcEneTEmP1_ = ib.book2D("PZDC EM1 Energy vs Time", "Energy EM mod P1 vs Time", 4000, 0., 8000., 300, 0., 600.);
291  meZdcEneTEmP1_->setAxisTitle("Energy (GeV)", 1);
292  meZdcEneTEmP1_->setAxisTitle("Time (ns)", 2);
294  meZdcEneTEmP2_ = ib.book2D("PZDC EM2 Energy vs Time", "Energy EM mod P2 vs Time", 4000, 0., 8000., 300, 0., 600.);
295  meZdcEneTEmP2_->setAxisTitle("Energy (GeV)", 1);
296  meZdcEneTEmP2_->setAxisTitle("Time (ns)", 2);
298  meZdcEneTEmP3_ = ib.book2D("PZDC EM3 Energy vs Time", "Energy EM mod P3 vs Time", 4000, 0., 8000., 300, 0., 600.);
299  meZdcEneTEmP3_->setAxisTitle("Energy (GeV)", 1);
300  meZdcEneTEmP3_->setAxisTitle("Time (ns)", 2);
302  meZdcEneTEmP4_ = ib.book2D("PZDC EM4 Energy vs Time", "Energy EM mod P4 vs Time", 4000, 0., 8000., 300, 0., 600.);
303  meZdcEneTEmP4_->setAxisTitle("Energy (GeV)", 1);
304  meZdcEneTEmP4_->setAxisTitle("Time (ns)", 2);
306  meZdcEneTEmP5_ = ib.book2D("PZDC EM5 Energy vs Time", "Energy EM mod P5 vs Time", 4000, 0., 8000., 300, 0., 600.);
307  meZdcEneTEmP5_->setAxisTitle("Energy (GeV)", 1);
308  meZdcEneTEmP5_->setAxisTitle("Time (ns)", 2);
311  ib.book2D("PZDC HAD1 Energy vs Time", "Energy HAD mod P1 vs Time", 4000, 0., 8000., 300, 0., 600.);
312  meZdcEneTHadP1_->setAxisTitle("Energy (GeV)", 1);
313  meZdcEneTHadP1_->setAxisTitle("Time (ns)", 2);
316  ib.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);
321  ib.book2D("PZDC HAD3 Energy vs Time", "Energy HAD mod P3 vs Time", 4000, 0., 8000., 300, 0., 600.);
322  meZdcEneTHadP3_->setAxisTitle("Energy (GeV)", 1);
323  meZdcEneTHadP3_->setAxisTitle("Time (ns)", 2);
326  ib.book2D("PZDC HAD4 Energy vs Time", "Energy HAD mod P4 vs Time", 4000, 0., 8000., 300, 0., 600.);
327  meZdcEneTHadP4_->setAxisTitle("Energy (GeV)", 1);
328  meZdcEneTHadP4_->setAxisTitle("Time (ns)", 2);
330  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/PZDC");
331  meZdcEneHadPTot_ = ib.book1D("PZDC EHAD", "Total P-ZDC HAD Energy", 10000, 0., 10000.);
332  meZdcEneHadPTot_->setAxisTitle("Energy (GeV)", 1);
333  meZdcEneHadPTot_->setAxisTitle("Counts", 2);
335  meZdcEneEmPTot_ = ib.book1D("PZDC EEM", "Total P-ZDC EM Energy", 10000, 0., 10000.);
336  meZdcEneEmPTot_->setAxisTitle("Energy (GeV)", 1);
337  meZdcEneEmPTot_->setAxisTitle("Counts", 2);
339  meZdcEnePTot_ = ib.book1D("PZDC ETOT", "Total P-ZDC Energy", 10000, 0., 10000.);
340  meZdcEnePTot_->setAxisTitle("Energy (GeV)", 1);
341  meZdcEnePTot_->setAxisTitle("Counts", 2);
343  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/NZDC");
344  meZdcCorEEmNEHadN_ = ib.book2D("NZDC EMvHAD", "N-ZDC Energy EM vs HAD", 3000, 0., 3000., 3000, 0., 3000.);
345  meZdcCorEEmNEHadN_->setAxisTitle("EM Energy (GeV)", 1);
346  meZdcCorEEmNEHadN_->setAxisTitle("HAD Energy (GeV)", 2);
348  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS/PZDC");
349  meZdcCorEEmPEHadP_ = ib.book2D("PZDC EMvHAD", "P-ZDC Energy EM vs HAD", 3000, 0., 3000., 3000, 0., 3000.);
350  meZdcCorEEmPEHadP_->setAxisTitle("EM Energy (GeV)", 1);
351  meZdcCorEEmPEHadP_->setAxisTitle("HAD Energy (GeV)", 2);
353  ib.setCurrentFolder("ZDCValidation/ZdcSimHits/ENERGY_SUMS");
354  meZdcCorEtotNEtotP_ = ib.book2D("PZDC vs NZDC", "Energy N-ZDC vs P-ZDC", 3000, 0., 3000., 3000, 0., 3000.);
355  meZdcCorEtotNEtotP_->setAxisTitle("N-ZDC Total Energy (GeV)", 1);
356  meZdcCorEtotNEtotP_->setAxisTitle("P-ZDC Total Energy (GeV)", 2);
358  meZdcEneTot_ = ib.book1D("ETOT ZDCs", "Total Energy ZDCs", 3000, 0., 3000.);
359  meZdcEneTot_->setAxisTitle("Counts", 2);
360  meZdcEneTot_->setAxisTitle("Energy (GeV)", 1);
362 
364 
367  ib.setCurrentFolder("ZDCValidation/GenParticles/Forward");
370  genpart_Pi0F = ib.book2D("Pi0_Forward", "Forward Generated Pi0s", 200, 7.5, 13, 100, -3.15, 3.15);
371  genpart_Pi0F->setAxisTitle("Eta", 1);
372  genpart_Pi0F->setAxisTitle("Phi (radians)", 2);
373  genpart_Pi0F->setAxisTitle("Energy (GeV)", 3);
374  genpart_Pi0F->setOption("lego2z,prof");
375  genpart_Pi0F->getTH2F()->SetTitleOffset(1.4, "x");
376  genpart_Pi0F->getTH2F()->SetTitleOffset(1.4, "y");
377 
379  ib.book2D("Pi0_Forward_Counts", "Number of Forward Generated Pi0s", 200, 7.5, 13, 100, -3.15, 3.15);
380  genpart_Pi0F_counts->setAxisTitle("#eta", 1);
381  genpart_Pi0F_counts->setAxisTitle("#phi (radians)", 2);
382  genpart_Pi0F_counts->setAxisTitle("Energy (GeV)", 3);
383  genpart_Pi0F_counts->setOption("lego2z,prof");
384  genpart_Pi0F_counts->getTH2F()->SetTitleOffset(1.4, "x");
385  genpart_Pi0F_counts->getTH2F()->SetTitleOffset(1.4, "y");
386 
389  genpart_NeutF = ib.book2D("Neutron_Forward", "Forward Generated Neutrons", 200, 7.5, 13, 100, -3.15, 3.15);
390  genpart_NeutF->setAxisTitle("Eta", 1);
391  genpart_NeutF->setAxisTitle("Phi (radians)", 2);
392  genpart_NeutF->setAxisTitle("Energy (GeV)", 3);
393  genpart_NeutF->setOption("lego2z,prof");
394  genpart_NeutF->getTH2F()->SetTitleOffset(1.4, "x");
395  genpart_NeutF->getTH2F()->SetTitleOffset(1.4, "y");
396 
398  ib.book2D("Neutron_Forward_Counts", "Number of Forward Generated Neutrons", 200, 7.5, 13, 100, -3.15, 3.15);
400  genpart_NeutF_counts->setAxisTitle("#phi (radians)", 2);
401  genpart_NeutF_counts->setAxisTitle("Energy (GeV)", 3);
402  genpart_NeutF_counts->setOption("lego2z,prof");
403  genpart_NeutF_counts->getTH2F()->SetTitleOffset(1.4, "x");
404  genpart_NeutF_counts->getTH2F()->SetTitleOffset(1.4, "y");
405 
408  genpart_GammaF = ib.book2D("Gamma_Forward", "Forward Generated Gammas", 200, 7.5, 13, 100, -3.15, 3.15);
409  genpart_GammaF->setAxisTitle("Eta", 1);
410  genpart_GammaF->setAxisTitle("Phi (radians)", 2);
411  genpart_GammaF->setAxisTitle("Energy (GeV)", 3);
412  genpart_GammaF->setOption("lego2z,prof");
413  genpart_GammaF->getTH2F()->SetTitleOffset(1.4, "x");
414  genpart_GammaF->getTH2F()->SetTitleOffset(1.4, "y");
415 
417  ib.book2D("Gamma_Forward_Counts", "Number of Forward Generated Gammas", 200, 7.5, 13, 100, -3.15, 3.15);
419  genpart_GammaF_counts->setAxisTitle("#phi (radians)", 2);
420  genpart_GammaF_counts->setAxisTitle("Energy (GeV)", 3);
421  genpart_GammaF_counts->setOption("lego2z,prof");
422  genpart_GammaF_counts->getTH2F()->SetTitleOffset(1.4, "x");
423  genpart_GammaF_counts->getTH2F()->SetTitleOffset(1.4, "y");
424 
427  genpart_Pi0F_energydist = ib.book1D("Pi0_Forward_EDistribution", "Gen-Level Forward Pi0 Energy", 1500, 0, 1500);
428  genpart_Pi0F_energydist->setAxisTitle("Energy (GeV)", 1);
432  genpart_NeutF_energydist = ib.book1D("N_Forward_EDistribution", "Gen-Level Forward Neutron Energy", 1500, 0, 1500);
433  genpart_NeutF_energydist->setAxisTitle("Energy (GeV)", 1);
438  ib.book1D("Gamma_Forward_EDistribution", "Gen-Level Fowarad Gamma Energy", 1500, 0, 1500);
439  genpart_GammaF_energydist->setAxisTitle("Energy (GeV)", 1);
442  ib.setCurrentFolder("ZDCValidation/GenParticles/Backward");
445  genpart_Pi0B = ib.book2D("Pi0_Backward", "Backward Generated Pi0s", 1000, -13, -7.5, 100, -3.15, 3.15);
446  genpart_Pi0B->setAxisTitle("Eta", 1);
447  genpart_Pi0B->setAxisTitle("Phi (radians)", 2);
448  genpart_Pi0B->setAxisTitle("Energy (GeV)", 3);
449  genpart_Pi0B->setOption("lego2z,prof");
450  genpart_Pi0B->getTH2F()->SetTitleOffset(1.4, "x");
451  genpart_Pi0B->getTH2F()->SetTitleOffset(1.4, "y");
452 
454  ib.book2D("Pi0_Backwards_Counts", "Number of Backward Generated Pi0s", 200, -13, -7.5, 100, -3.15, 3.15);
455  genpart_Pi0B_counts->setAxisTitle("#eta", 1);
456  genpart_Pi0B_counts->setAxisTitle("#phi (radians)", 2);
457  genpart_Pi0B_counts->setAxisTitle("Energy (GeV)", 3);
458  genpart_Pi0B_counts->setOption("lego2z,prof");
459  genpart_Pi0B_counts->getTH2F()->SetTitleOffset(1.4, "x");
460  genpart_Pi0B_counts->getTH2F()->SetTitleOffset(1.4, "y");
461 
464  genpart_NeutB = ib.book2D("Neutron_Backward", "Backward Generated Neutrons", 1000, -13, -7.5, 100, -3.15, 3.15);
465  genpart_NeutB->setAxisTitle("Eta", 1);
466  genpart_NeutB->setAxisTitle("Phi (radians)", 2);
467  genpart_NeutB->setAxisTitle("Energy (GeV)", 3);
468  genpart_NeutB->setOption("lego2z,prof");
469  genpart_NeutB->getTH2F()->SetTitleOffset(1.4, "x");
470  genpart_NeutB->getTH2F()->SetTitleOffset(1.4, "y");
471 
472  genpart_NeutB_counts = ib.book2D(
473  "Neutron_Backwards_Counts", "Number of Backward Generated Neutrons", 200, -13, -7.5, 100, -3.15, 3.15);
475  genpart_NeutB_counts->setAxisTitle("#phi (radians)", 2);
476  genpart_NeutB_counts->setAxisTitle("Energy (GeV)", 3);
477  genpart_NeutB_counts->setOption("lego2z,prof");
478  genpart_NeutB_counts->getTH2F()->SetTitleOffset(1.4, "x");
479  genpart_NeutB_counts->getTH2F()->SetTitleOffset(1.4, "y");
480 
482  genpart_GammaB = ib.book2D("Gamma_Backward", "Backward Generated Gammas", 1000, -13, -7.5, 100, -3.15, 3.15);
483  genpart_GammaB->setAxisTitle("Eta", 1);
484  genpart_GammaB->setAxisTitle("Phi (radians)", 2);
485  genpart_GammaB->setAxisTitle("Energy (GeV)", 3);
486  genpart_GammaB->setOption("lego2z,prof");
487  genpart_GammaB->getTH2F()->SetTitleOffset(1.4, "x");
488  genpart_GammaB->getTH2F()->SetTitleOffset(1.4, "y");
489 
491  ib.book2D("Gamma_Backwards_Counts", "Number of Backward Generated Gammas", 200, -13, -7.5, 100, -3.15, 3.15);
493  genpart_GammaB_counts->setAxisTitle("#phi (radians)", 2);
494  genpart_GammaB_counts->setAxisTitle("Energy (GeV)", 3);
495  genpart_GammaB_counts->setOption("lego2z,prof");
496  genpart_GammaB_counts->getTH2F()->SetTitleOffset(1.4, "x");
497  genpart_GammaB_counts->getTH2F()->SetTitleOffset(1.4, "y");
498 
503  genpart_Pi0B_energydist = ib.book1D("Pi0_Backward_EDistribution", "Gen-Level Backward Pi0 Energy", 1500, 0, 1500);
504  genpart_Pi0B_energydist->setAxisTitle("Energy (GeV)", 1);
508  genpart_NeutB_energydist = ib.book1D("N_Backward_EDistribution", "Gen-Level Foward Neutron Energy", 1500, 0, 1500);
509  genpart_NeutB_energydist->setAxisTitle("Energy (GeV)", 1);
514  ib.book1D("Gamma_Backward_EDistribution", "Gen-Level Backward Gamma Energy", 1500, 0, 1500);
515  genpart_GammaB_energydist->setAxisTitle("Energy (GeV)", 1);
518  }
519 }
520 
521 // let's see if this breaks anything
522 /*void ZdcSimHitStudy::endJob() {
523  if (dbe_ && outFile_.size() > 0) dbe_->save(outFile_);
524  }*/
525 
526 // void ZdcSimHitStudy::analyze(const edm::Event& e, const edm::EventSetup& ) {
529 
530  using namespace edm;
531  bool gotGenParticles = true;
532 
534 
535  if (!(iEvent.getByToken(tok_gen_, genhandle))) {
536  gotGenParticles = false; // this is the same kind of boolean except for the
537  // genparticles collection
538  }
539  if (!(genhandle.isValid())) {
540  gotGenParticles = false;
541  }
542 
543  // Handle<edm::PCaloHitContainer> zdcsimhandle;
544 
547 
548  if (gotGenParticles == true) { // if the boolean was able to find the leaf
549  // "genparticles" then do this
550  for (reco::GenParticleCollection::const_iterator gen = genhandle->begin(); gen != genhandle->end();
551  ++gen) // here we iterate over all generated particles
552  {
553  // double energy=gen->energy();
554  reco::GenParticle thisParticle = (reco::GenParticle)(*gen); // get the particle "gen" points to
555  double energy_2 = thisParticle.energy(); // here I grab some of the attributes of the generated
556  // particle....like its energy, its phi and its eta and
557  // what kind of particle it is
558  double gen_phi = thisParticle.phi();
559  double gen_eta = thisParticle.eta();
560  int gen_id = thisParticle.pdgId();
561 
562  if (gen_id == 111) { // here i require a pi0
563  if (gen_eta > 8.3) { // eta requirement
564 
566  //# IMPORTANT IMPORTANT IMPORTANT IMPORTANT #
567  //# The real eta of the ZDC is |eta| > 8.3, I have only changed it
568  // here to 3 because# # in the PG simulation the ZDC is at an eta of
569  // about 4.5-7, in the real GEANT the # # ZDC is in its appropriate
570  // place at the very foward region...please edit this if # # looking
571  // at MinBias data or the like # # # # IMPORTANT IMPORTANT
572  // IMPORTANT IMPORTANT #
574 
575  genpart_Pi0F->Fill(gen_eta, gen_phi, energy_2); // fill the lego plot
576  genpart_Pi0F_counts->Fill(gen_eta, gen_phi, 1);
577  // genpart_Pi0F_profile->Fill(gen_eta,gen_phi,energy_2);
578  genpart_Pi0F_energydist->Fill(energy_2); // fill the 1D distribution
579  }
580  if (gen_eta < -8.3) { // neg eta requirement
581  genpart_Pi0B->Fill(gen_eta, gen_phi, energy_2);
582  // genpart_Pi0B_profile->Fill(gen_eta,gen_phi,energy_2);
583  genpart_Pi0B_counts->Fill(gen_eta, gen_phi, 1);
584  genpart_Pi0B_energydist->Fill(energy_2);
585  }
586  }
587  if (gen_id == 2112) { // require neutron
588  if (gen_eta > 8.3) {
589  genpart_NeutF->Fill(gen_eta, gen_phi, energy_2);
590  // genpart_NeutF_profile->Fill(gen_eta,gen_phi,energy_2);
591  genpart_NeutF_counts->Fill(gen_eta, gen_phi, 1);
592  genpart_NeutF_energydist->Fill(energy_2);
593  }
594  if (gen_eta < -8.3) {
595  genpart_NeutB->Fill(gen_eta, gen_phi, energy_2);
596  // genpart_NeutB_profile->Fill(gen_eta,gen_phi,energy_2);
597  genpart_NeutB_counts->Fill(gen_eta, gen_phi, 1);
598  genpart_NeutB_energydist->Fill(energy_2);
599  }
600  }
601 
602  if (gen_id == 22) { // require gamma
603  if (gen_eta > 8.3) {
604  genpart_GammaF->Fill(gen_eta, gen_phi, energy_2);
605  // genpart_GammaF_profile->Fill(gen_eta,gen_phi,energy_2);
606  genpart_GammaF_counts->Fill(gen_eta, gen_phi, 1);
607  genpart_GammaF_energydist->Fill(energy_2);
608  }
609  if (gen_eta < -8.3) {
610  genpart_GammaB->Fill(gen_eta, gen_phi, energy_2);
611  // genpart_GammaB_profile->Fill(gen_eta,gen_phi,energy_2);
612  genpart_GammaB_counts->Fill(gen_eta, gen_phi, 1);
613  genpart_GammaB_energydist->Fill(energy_2);
614  }
615  }
616 
617  } // end of GEN loop
618  }
619 
621 
622  // Below is the old script which I will comment later
623 
624  edm::LogVerbatim("ZdcSimHitStudy") << "Run = " << iEvent.id().run() << " Event = " << iEvent.id().event();
625 
626  std::vector<PCaloHit> caloHits;
628 
629  bool getHits = false;
630  if (checkHit_) {
631  iEvent.getByToken(tok_hits_, hitsZdc);
632  if (hitsZdc.isValid())
633  getHits = true;
634  }
635 
636  edm::LogVerbatim("ZdcSim") << "ZdcValidation: Input flags Hits " << getHits;
637 
638  if (getHits) {
639  caloHits.insert(caloHits.end(), hitsZdc->begin(), hitsZdc->end());
640  edm::LogVerbatim("ZdcSimHitStudy") << "ZdcValidation: Hit buffer " << caloHits.size();
641  analyzeHits(caloHits);
642  }
643 }
644 
645 void ZdcSimHitStudy::analyzeHits(std::vector<PCaloHit> &hits) {
646  int nHit = hits.size();
647  int nZdcEM = 0, nZdcHad = 0, nZdcLum = 0;
648  int nBad1 = 0, nBad2 = 0, nBad = 0;
649  std::vector<double> encontZdcEM(140, 0.);
650  std::vector<double> encontZdcHad(140, 0.);
651  double entotZdcEM = 0;
652  double entotZdcHad = 0;
653 
654  enetotEmN = 0;
655  enetotHadN = 0.;
656  enetotN = 0;
657  enetotEmP = 0;
658  enetotHadP = 0;
659  enetotP = 0;
660  enetot = 0;
661 
662  for (int i = 0; i < nHit; i++) {
663  double energy = hits[i].energy();
664  double log10en = log10(energy);
665  int log10i = int((log10en + 10.) * 10.);
666  double time = hits[i].time();
667  unsigned int id_ = hits[i].id();
668  HcalZDCDetId id = HcalZDCDetId(id_);
669  int det = id.det();
670  int side = id.zside();
671  int section = id.section();
672  int channel = id.channel();
673 
674  FillHitValHist(side, section, channel, energy, time);
675 
676  edm::LogVerbatim("ZdcSimHitStudy") << "Hit[" << i << "] ID " << std::hex << id_ << std::dec << " DetID " << id
677  << " Det " << det << " side " << side << " Section " << section << " channel "
678  << channel << " E " << energy << " time \n"
679  << time;
680 
681  if (det == 5) { // Check DetId.h
682  if (section == HcalZDCDetId::EM)
683  nZdcEM++;
684  else if (section == HcalZDCDetId::HAD)
685  nZdcHad++;
686  else if (section == HcalZDCDetId::LUM)
687  nZdcLum++;
688  else {
689  nBad++;
690  nBad2++;
691  }
692  } else {
693  nBad++;
694  nBad1++;
695  }
696 
697  meZdcDetectHit_->Fill(double(det));
698  if (det == 5) {
699  meZdcSideHit_->Fill(double(side));
700  meZdcSectionHit_->Fill(double(section));
701  meZdcChannelHit_->Fill(double(channel));
703  if (section == HcalZDCDetId::EM) {
705  meZdcEEMCh_->Fill(energy, channel);
706  if (log10i >= 0 && log10i < 140)
707  encontZdcEM[log10i] += energy;
708  entotZdcEM += energy;
709  }
710  if (section == HcalZDCDetId::HAD) {
712  meZdcEHadCh_->Fill(energy, channel);
713  if (log10i >= 0 && log10i < 140)
714  encontZdcHad[log10i] += energy;
715  entotZdcHad += energy;
716  }
718  meZdcTimeWHit_->Fill(double(time), energy);
719  meZdc10Ene_->Fill(log10en);
720  meZdcETime_->Fill(energy, double(time));
721  }
722  }
723 
724  if (entotZdcEM != 0)
725  for (int i = 0; i < 140; i++)
726  meZdcEML10EneP_->Fill(-10. + (float(i) + 0.5) / 10., encontZdcEM[i] / entotZdcEM);
727  if (entotZdcHad != 0)
728  for (int i = 0; i < 140; i++)
729  meZdcHadL10EneP_->Fill(-10. + (float(i) + 0.5) / 10., encontZdcHad[i] / entotZdcHad);
730 
731  if (nHit > 0) {
732  meAllZdcNHit_->Fill(double(nHit));
733  meBadZdcDetHit_->Fill(double(nBad1));
734  meBadZdcSecHit_->Fill(double(nBad2));
735  meBadZdcIdHit_->Fill(double(nBad));
736  meZdcNHitEM_->Fill(double(nZdcEM));
737  meZdcNHitHad_->Fill(double(nZdcHad));
738  meZdcNHitLum_->Fill(double(nZdcLum));
749  }
750  edm::LogVerbatim("HcalSimHitStudy") << "HcalSimHitStudy::analyzeHits: Had " << nZdcHad << " EM " << nZdcEM << " Bad "
751  << nBad << " All " << nHit;
752 }
753 
754 int ZdcSimHitStudy::FillHitValHist(int side, int section, int channel, double energy, double time) {
755  enetot += enetot;
756  if (side == -1) {
757  enetotN += energy;
758  if (section == HcalZDCDetId::EM) {
759  enetotEmN += energy;
760  switch (channel) {
761  case 1:
764  break;
765  case 2:
768  break;
769  case 3:
772  break;
773  case 4:
776  break;
777  case 5:
780  break;
781  }
782  }
783  if (section == HcalZDCDetId::HAD) {
784  enetotHadN += energy;
785  switch (channel) {
786  case 1:
789  break;
790  case 2:
793  break;
794  case 3:
797  break;
798  case 4:
801  break;
802  }
803  }
804  }
805  if (side == 1) {
806  enetotP += energy;
807  if (section == HcalZDCDetId::EM) {
808  enetotEmP += energy;
809  switch (channel) {
810  case 1:
813  break;
814  case 2:
817  break;
818  case 3:
821  break;
822  case 4:
825  break;
826  case 5:
829  break;
830  }
831  }
832  if (section == HcalZDCDetId::HAD) {
833  enetotHadP += energy;
834  switch (channel) {
835  case 1:
838  break;
839  case 2:
842  break;
843  case 3:
846  break;
847  case 4:
850  break;
851  }
852  }
853  }
854  return 0;
855 }
ZdcSimHitStudy::meZdc10Ene_
MonitorElement * meZdc10Ene_
Definition: ZdcSimHitStudy.h:87
ZdcSimHitStudy::meZdcEML10EneP_
MonitorElement * meZdcEML10EneP_
Definition: ZdcSimHitStudy.h:90
ZdcSimHitStudy::meZdcEEMCh_
MonitorElement * meZdcEEMCh_
Definition: ZdcSimHitStudy.h:90
ZdcSimHitStudy::meZdcEneEmN3_
MonitorElement * meZdcEneEmN3_
Definition: ZdcSimHitStudy.h:91
ZdcSimHitStudy::meZdcEneTEmP1_
MonitorElement * meZdcEneTEmP1_
Definition: ZdcSimHitStudy.h:99
ZdcSimHitStudy::enetotHadN
double enetotHadN
Definition: ZdcSimHitStudy.h:70
ZdcSimHitStudy::meZdcEneHadPTot_
MonitorElement * meZdcEneHadPTot_
Definition: ZdcSimHitStudy.h:101
mps_fire.i
i
Definition: mps_fire.py:428
ZdcSimHitStudy::meZdcHadL10EneP_
MonitorElement * meZdcHadL10EneP_
Definition: ZdcSimHitStudy.h:89
ZdcSimHitStudy::meZdcEneTEmN1_
MonitorElement * meZdcEneTEmN1_
Definition: ZdcSimHitStudy.h:93
ZdcSimHitStudy::enetotP
double enetotP
Definition: ZdcSimHitStudy.h:71
ZdcSimHitStudy::ZdcSimHitStudy
ZdcSimHitStudy(const edm::ParameterSet &ps)
Definition: ZdcSimHitStudy.cc:33
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
HcalZDCDetId::HAD
Definition: HcalZDCDetId.h:23
ZdcSimHitStudy::meZdcEneEmP4_
MonitorElement * meZdcEneEmP4_
Definition: ZdcSimHitStudy.h:97
dqm::impl::MonitorElement::setOption
virtual void setOption(const char *option)
Definition: MonitorElement.cc:887
ZdcSimHitStudy::enetot
double enetot
Definition: ZdcSimHitStudy.h:72
reco::GenParticle
Definition: GenParticle.h:21
ZdcSimHitStudy::genpart_GammaF_energydist
MonitorElement * genpart_GammaF_energydist
Definition: ZdcSimHitStudy.h:116
ZdcSimHitStudy::meZdcEneTEmN4_
MonitorElement * meZdcEneTEmN4_
Definition: ZdcSimHitStudy.h:93
edm::Run
Definition: Run.h:45
ZdcSimHitStudy::meZdcNHitEM_
MonitorElement * meZdcNHitEM_
Definition: ZdcSimHitStudy.h:87
ZdcSimHitStudy::meZdcEneHadN4_
MonitorElement * meZdcEneHadN4_
Definition: ZdcSimHitStudy.h:92
edm
HLT enums.
Definition: AlignableModifier.h:19
ZdcSimHitStudy::genpart_GammaB
MonitorElement * genpart_GammaB
Definition: ZdcSimHitStudy.h:117
protons_cff.time
time
Definition: protons_cff.py:39
ZdcSimHitStudy::meZdcEneEmN4_
MonitorElement * meZdcEneEmN4_
Definition: ZdcSimHitStudy.h:91
ZdcSimHitStudy::meAllZdcNHit_
MonitorElement * meAllZdcNHit_
Definition: ZdcSimHitStudy.h:85
ZdcSimHitStudy::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: ZdcSimHitStudy.cc:50
ZdcSimHitStudy::meZdcTimeHit_
MonitorElement * meZdcTimeHit_
Definition: ZdcSimHitStudy.h:89
ZdcSimHitStudy::meZdcEneTHadN4_
MonitorElement * meZdcEneTHadN4_
Definition: ZdcSimHitStudy.h:94
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
ZdcSimHitStudy::meZdcDetectHit_
MonitorElement * meZdcDetectHit_
Definition: ZdcSimHitStudy.h:86
ZdcSimHitStudy::genpart_NeutB
MonitorElement * genpart_NeutB
Definition: ZdcSimHitStudy.h:113
ZdcSimHitStudy::genpart_GammaF_counts
MonitorElement * genpart_GammaF_counts
Definition: ZdcSimHitStudy.h:126
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
HcalZDCDetId.h
ZdcSimHitStudy::genpart_Pi0F
MonitorElement * genpart_Pi0F
Definition: ZdcSimHitStudy.h:107
edm::Handle< reco::GenParticleCollection >
ZdcSimHitStudy::analyzeHits
void analyzeHits(std::vector< PCaloHit > &)
Definition: ZdcSimHitStudy.cc:645
ZdcSimHitStudy::meZdcChannelHit_
MonitorElement * meZdcChannelHit_
Definition: ZdcSimHitStudy.h:88
ZdcSimHitStudy::meZdcEneHadP3_
MonitorElement * meZdcEneHadP3_
Definition: ZdcSimHitStudy.h:98
ZdcSimHitStudy::meZdcEneEmP3_
MonitorElement * meZdcEneEmP3_
Definition: ZdcSimHitStudy.h:97
ZdcSimHitStudy::meBadZdcSecHit_
MonitorElement * meBadZdcSecHit_
Definition: ZdcSimHitStudy.h:85
ZdcSimHitStudy::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: ZdcSimHitStudy.cc:527
HcalZDCDetId
Definition: HcalZDCDetId.h:16
dqm::impl::MonitorElement::getTH2F
virtual TH2F * getTH2F()
Definition: MonitorElement.cc:1004
ZdcSimHitStudy::genpart_Pi0F_energydist
MonitorElement * genpart_Pi0F_energydist
Definition: ZdcSimHitStudy.h:108
ZdcSimHitStudy::meZdcEneTEmN2_
MonitorElement * meZdcEneTEmN2_
Definition: ZdcSimHitStudy.h:93
ZdcSimHitStudy::genpart_Pi0B_counts
MonitorElement * genpart_Pi0B_counts
Definition: ZdcSimHitStudy.h:123
ZdcSimHitStudy::meBadZdcDetHit_
MonitorElement * meBadZdcDetHit_
Definition: ZdcSimHitStudy.h:85
ZdcSimHitStudy::genpart_NeutF
MonitorElement * genpart_NeutF
Definition: ZdcSimHitStudy.h:111
ZdcSimHitStudy::meZdcEneEmN1_
MonitorElement * meZdcEneEmN1_
Definition: ZdcSimHitStudy.h:91
ZdcSimHitStudy::genpart_GammaB_energydist
MonitorElement * genpart_GammaB_energydist
Definition: ZdcSimHitStudy.h:118
ZdcSimHitStudy::genpart_Pi0F_counts
MonitorElement * genpart_Pi0F_counts
Definition: ZdcSimHitStudy.h:122
ZdcSimHitStudy::meZdcEneHadN2_
MonitorElement * meZdcEneHadN2_
Definition: ZdcSimHitStudy.h:92
ZdcSimHitStudy::meZdcEneTHadN2_
MonitorElement * meZdcEneTHadN2_
Definition: ZdcSimHitStudy.h:94
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
ZdcSimHitStudy::meZdcETime_
MonitorElement * meZdcETime_
Definition: ZdcSimHitStudy.h:86
ZdcSimHitStudy::genpart_Pi0B
MonitorElement * genpart_Pi0B
Definition: ZdcSimHitStudy.h:109
ZdcSimHitStudy::meZdcEneEmP2_
MonitorElement * meZdcEneEmP2_
Definition: ZdcSimHitStudy.h:97
ZdcSimHitStudy::meZdcEneTHadP1_
MonitorElement * meZdcEneTHadP1_
Definition: ZdcSimHitStudy.h:100
ZdcSimHitStudy::meZdcEneHadP1_
MonitorElement * meZdcEneHadP1_
Definition: ZdcSimHitStudy.h:98
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
ZdcSimHitStudy::outFile_
std::string outFile_
Definition: ZdcSimHitStudy.h:80
ZdcSimHitStudy::meZdcEneTHadN3_
MonitorElement * meZdcEneTHadN3_
Definition: ZdcSimHitStudy.h:94
ZdcSimHitStudy::meZdcEneTEmP5_
MonitorElement * meZdcEneTEmP5_
Definition: ZdcSimHitStudy.h:99
gen
Definition: PythiaDecays.h:13
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ZdcSimHitStudy::meZdcCorEtotNEtotP_
MonitorElement * meZdcCorEtotNEtotP_
Definition: ZdcSimHitStudy.h:102
ZdcSimHitStudy::tok_gen_
edm::EDGetTokenT< reco::GenParticleCollection > tok_gen_
Definition: ZdcSimHitStudy.h:81
ZdcSimHitStudy::verbose_
bool verbose_
Definition: ZdcSimHitStudy.h:83
ZdcSimHitStudy::meZdcCorEEmPEHadP_
MonitorElement * meZdcCorEEmPEHadP_
Definition: ZdcSimHitStudy.h:102
ZdcSimHitStudy::meZdcHadEnergyHit_
MonitorElement * meZdcHadEnergyHit_
Definition: ZdcSimHitStudy.h:89
edm::ParameterSet
Definition: ParameterSet.h:47
ZdcSimHitStudy::genpart_NeutB_counts
MonitorElement * genpart_NeutB_counts
Definition: ZdcSimHitStudy.h:125
ZdcSimHitStudy::zdcHits
std::string zdcHits
Definition: ZdcSimHitStudy.h:80
ZdcSimHitStudy::genpart_GammaF
MonitorElement * genpart_GammaF
Definition: ZdcSimHitStudy.h:115
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
ZdcSimHitStudy::meZdcEneTHadP3_
MonitorElement * meZdcEneTHadP3_
Definition: ZdcSimHitStudy.h:100
ZdcSimHitStudy::meZdcEneEmP5_
MonitorElement * meZdcEneEmP5_
Definition: ZdcSimHitStudy.h:97
ZdcSimHitStudy::enetotN
double enetotN
Definition: ZdcSimHitStudy.h:70
ZdcSimHitStudy::checkHit_
bool checkHit_
Definition: ZdcSimHitStudy.h:83
ZdcSimHitStudy::FillHitValHist
int FillHitValHist(int side, int section, int channel, double energy, double time)
Definition: ZdcSimHitStudy.cc:754
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
ZdcSimHitStudy::meZdcEHadCh_
MonitorElement * meZdcEHadCh_
Definition: ZdcSimHitStudy.h:90
ZdcSimHitStudy::meZdcNHitHad_
MonitorElement * meZdcNHitHad_
Definition: ZdcSimHitStudy.h:87
createfilelist.int
int
Definition: createfilelist.py:10
ZdcSimHitStudy::meZdcEnePTot_
MonitorElement * meZdcEnePTot_
Definition: ZdcSimHitStudy.h:101
iEvent
int iEvent
Definition: GenABIO.cc:224
ZdcSimHitStudy::g4Label
std::string g4Label
Definition: ZdcSimHitStudy.h:80
ZdcSimHitStudy.h
ZdcSimHitStudy::meZdcEMEnergyHit_
MonitorElement * meZdcEMEnergyHit_
Definition: ZdcSimHitStudy.h:89
ZdcSimHitStudy::meZdcEneEmN5_
MonitorElement * meZdcEneEmN5_
Definition: ZdcSimHitStudy.h:91
ZdcSimHitStudy::meZdcEneTHadP2_
MonitorElement * meZdcEneTHadP2_
Definition: ZdcSimHitStudy.h:100
ZdcSimHitStudy::enetotHadP
double enetotHadP
Definition: ZdcSimHitStudy.h:71
cuy.ib
ib
Definition: cuy.py:662
ZdcSimHitStudy::meZdcEneHadN1_
MonitorElement * meZdcEneHadN1_
Definition: ZdcSimHitStudy.h:92
edm::EventSetup
Definition: EventSetup.h:58
ZdcSimHitStudy::meZdcEneHadN3_
MonitorElement * meZdcEneHadN3_
Definition: ZdcSimHitStudy.h:92
ZdcSimHitStudy::genpart_NeutF_counts
MonitorElement * genpart_NeutF_counts
Definition: ZdcSimHitStudy.h:124
ZdcSimHitStudy::meZdcEneTHadP4_
MonitorElement * meZdcEneTHadP4_
Definition: ZdcSimHitStudy.h:100
ZdcSimHitStudy::meZdcCorEEmNEHadN_
MonitorElement * meZdcCorEEmNEHadN_
Definition: ZdcSimHitStudy.h:96
ZdcSimHitStudy::meZdcEneEmNTot_
MonitorElement * meZdcEneEmNTot_
Definition: ZdcSimHitStudy.h:95
ZdcSimHitStudy::genpart_NeutB_energydist
MonitorElement * genpart_NeutB_energydist
Definition: ZdcSimHitStudy.h:114
ZdcSimHitStudy::meZdcEneEmN2_
MonitorElement * meZdcEneEmN2_
Definition: ZdcSimHitStudy.h:91
ZdcSimHitStudy::meZdcEneEmPTot_
MonitorElement * meZdcEneEmPTot_
Definition: ZdcSimHitStudy.h:101
ZdcSimHitStudy::meZdcEneTEmN3_
MonitorElement * meZdcEneTEmN3_
Definition: ZdcSimHitStudy.h:93
ZdcSimHitStudy::meZdcEneTEmP3_
MonitorElement * meZdcEneTEmP3_
Definition: ZdcSimHitStudy.h:99
ZdcSimHitStudy::meZdcEneEmP1_
MonitorElement * meZdcEneEmP1_
Definition: ZdcSimHitStudy.h:97
ZdcSimHitStudy::meZdcSectionHit_
MonitorElement * meZdcSectionHit_
Definition: ZdcSimHitStudy.h:88
ZdcSimHitStudy::meZdcEneTHadN1_
MonitorElement * meZdcEneTHadN1_
Definition: ZdcSimHitStudy.h:94
ZdcSimHitStudy::meZdcEneTEmP2_
MonitorElement * meZdcEneTEmP2_
Definition: ZdcSimHitStudy.h:99
ZdcSimHitStudy::tok_hits_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hits_
Definition: ZdcSimHitStudy.h:82
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
writedatasetfile.run
run
Definition: writedatasetfile.py:27
ZdcSimHitStudy::meZdcEneHadNTot_
MonitorElement * meZdcEneHadNTot_
Definition: ZdcSimHitStudy.h:95
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
ZdcSimHitStudy::meZdcNHitLum_
MonitorElement * meZdcNHitLum_
Definition: ZdcSimHitStudy.h:87
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
ZdcSimHitStudy::genpart_Pi0B_energydist
MonitorElement * genpart_Pi0B_energydist
Definition: ZdcSimHitStudy.h:110
ZdcSimHitStudy::meZdcEnergyHit_
MonitorElement * meZdcEnergyHit_
Definition: ZdcSimHitStudy.h:88
hgcalPlots.section
section
Definition: hgcalPlots.py:2670
ZdcSimHitStudy::meZdcEneHadP2_
MonitorElement * meZdcEneHadP2_
Definition: ZdcSimHitStudy.h:98
ZdcSimHitStudy::meZdcEneHadP4_
MonitorElement * meZdcEneHadP4_
Definition: ZdcSimHitStudy.h:98
ZdcSimHitStudy::enetotEmN
double enetotEmN
Definition: ZdcSimHitStudy.h:70
ZdcSimHitStudy::enetotEmP
double enetotEmP
Definition: ZdcSimHitStudy.h:71
ZdcSimHitStudy::meZdcSideHit_
MonitorElement * meZdcSideHit_
Definition: ZdcSimHitStudy.h:86
ZdcSimHitStudy::meZdcEneTEmN5_
MonitorElement * meZdcEneTEmN5_
Definition: ZdcSimHitStudy.h:93
ZdcSimHitStudy::meZdcEneTot_
MonitorElement * meZdcEneTot_
Definition: ZdcSimHitStudy.h:102
Exception.h
relval_steps.gen
def gen(fragment, howMuch)
Production test section ####.
Definition: relval_steps.py:504
ZdcSimHitStudy::genpart_GammaB_counts
MonitorElement * genpart_GammaB_counts
Definition: ZdcSimHitStudy.h:127
dqm::implementation::IBooker
Definition: DQMStore.h:43
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
HcalZDCDetId::LUM
Definition: HcalZDCDetId.h:23
ZdcSimHitStudy::meZdcTimeWHit_
MonitorElement * meZdcTimeWHit_
Definition: ZdcSimHitStudy.h:88
ZdcSimHitStudy::meZdcEneNTot_
MonitorElement * meZdcEneNTot_
Definition: ZdcSimHitStudy.h:95
ZdcSimHitStudy::genpart_NeutF_energydist
MonitorElement * genpart_NeutF_energydist
Definition: ZdcSimHitStudy.h:112
ZdcSimHitStudy::meBadZdcIdHit_
MonitorElement * meBadZdcIdHit_
Definition: ZdcSimHitStudy.h:85
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
ZdcSimHitStudy::~ZdcSimHitStudy
~ZdcSimHitStudy() override
Definition: ZdcSimHitStudy.cc:48
edm::Event
Definition: Event.h:73
HcalZDCDetId::EM
Definition: HcalZDCDetId.h:23
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
ZdcSimHitStudy::meZdcEneTEmP4_
MonitorElement * meZdcEneTEmP4_
Definition: ZdcSimHitStudy.h:99