Belle II Software  release-05-01-25
SVDLocalCalibrationsMonitorModule.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Laura Zani, Giulia Casarosa *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <svd/modules/svdCalibration/SVDLocalCalibrationsMonitorModule.h>
12 #include <vxd/geometry/GeoCache.h>
13 #include <svd/geometry/SensorInfo.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 #include <framework/dataobjects/EventMetaData.h>
16 
17 using namespace Belle2;
18 
19 //-----------------------------------------------------------------
20 // Register the Module
21 //-----------------------------------------------------------------
22 REG_MODULE(SVDLocalCalibrationsMonitor)
23 
24 //-----------------------------------------------------------------
25 // Implementation
26 //-----------------------------------------------------------------
27 
29 {
30  // Set module properties
31  setDescription("Module to produce a list of histograms showing the uploaded calibration constants");
32 
33  // Parameter definitions
34  addParam("outputFileName", m_rootFileName, "Name of output root file.", std::string("SVDLocalCalibrationMonitor_output.root"));
35 }
36 
38 {
39 
40  // create new root file
41  m_rootFilePtr = new TFile(m_rootFileName.c_str(), "RECREATE");
42 
43  //tree initialization
44  m_tree = new TTree("calibLocal", "RECREATE");
45  b_exp = m_tree->Branch("exp", &m_exp, "exp/i");
46  b_run = m_tree->Branch("run", &m_run, "run/i");
47  b_hv = m_tree->Branch("hv", &m_hv, "hv/F");
48  b_layer = m_tree->Branch("layer", &m_layer, "layer/i");
49  b_ladder = m_tree->Branch("ladder", &m_ladder, "ladder/i");
50  b_sensor = m_tree->Branch("sensor", &m_sensor, "sensor/i");
51  b_side = m_tree->Branch("side", &m_side, "side/i");
52  b_maskAVE = m_tree->Branch("maskAVE", &m_maskAVE, "maskAVE/F");
53  b_hotstripsAVE = m_tree->Branch("hotstripsAVE", &m_hotstripsAVE, "hotstripsAVE/F");
54  b_pedestalAVE = m_tree->Branch("pedestalAVE", &m_pedestalAVE, "pedestalAVE/F");
55  b_pedestalRMS = m_tree->Branch("pedestalRMS", &m_pedestalRMS, "pedestalRMS/F");
56  b_noiseAVE = m_tree->Branch("noiseAVE", &m_noiseAVE, "noiseAVE/F");
57  b_noiseRMS = m_tree->Branch("noiseRMS", &m_noiseRMS, "noiseRMS/F");
58  b_occupancyAVE = m_tree->Branch("occupancyAVE", &m_occupancyAVE, "occupancyAVE/F");
59  b_occupancyRMS = m_tree->Branch("occupancyRMS", &m_occupancyRMS, "occupancyRMS/F");
60  b_gainAVE = m_tree->Branch("gainAVE", &m_gainAVE, "gainAVE/F");
61  b_gainRMS = m_tree->Branch("gainRMS", &m_gainRMS, "gainRMS/F");
62  b_calPeakADCAVE = m_tree->Branch("calPeakADCAVE", &m_calPeakADCAVE, "calPeakADCAVE/F");
63  b_calPeakADCRMS = m_tree->Branch("calPeakADCRMS", &m_calPeakADCRMS, "calPeakADCRMS/F");
64  b_calPeakTimeAVE = m_tree->Branch("calPeakTimeAVE", &m_calPeakTimeAVE, "calPeakTimeAVE/F");
65  b_calPeakTimeRMS = m_tree->Branch("calPeakTimeRMS", &m_calPeakTimeRMS, "calPeakTimeRMS/F");
66  b_pulseWidthAVE = m_tree->Branch("pulseWidthAVE", &m_pulseWidthAVE, "pulseWidthAVE/F");
67  b_pulseWidthRMS = m_tree->Branch("pulseWidthRMS", &m_pulseWidthRMS, "pulseWidthRMS/F");
68 
69  m_treeDetailed = new TTree("calibLocalDetailed", "RECREATE");
70  b_exp = m_treeDetailed->Branch("exp", &m_exp, "exp/i");
71  b_run = m_treeDetailed->Branch("run", &m_run, "run/i");
72  b_hv = m_treeDetailed->Branch("hv", &m_hv, "hv/F");
73  b_layer = m_treeDetailed->Branch("layer", &m_layer, "layer/i");
74  b_ladder = m_treeDetailed->Branch("ladder", &m_ladder, "ladder/i");
75  b_sensor = m_treeDetailed->Branch("sensor", &m_sensor, "sensor/i");
76  b_side = m_treeDetailed->Branch("side", &m_side, "side/i");
77  b_strip = m_treeDetailed->Branch("strip", &m_strip, "strip/i");
78  b_mask = m_treeDetailed->Branch("mask", &m_mask, "mask/F");
79  b_hotstrips = m_treeDetailed->Branch("hotstrips", &m_hotstrips, "hotstrips/F");
80  b_noise = m_treeDetailed->Branch("noise", &m_noise, "noise/F");
81  b_occupancy = m_treeDetailed->Branch("occupancy", &m_occupancy, "occupancy/F");
82  b_noiseEl = m_treeDetailed->Branch("noiseEl", &m_noiseEl, "noiseEl/F");
83  b_gain = m_treeDetailed->Branch("gain", &m_gain, "gain/F");
84  b_pedestal = m_treeDetailed->Branch("pedestal", &m_pedestal, "pedestal/F");
85  b_calPeakTime = m_treeDetailed->Branch("calPeakTime", &m_calPeakTime, "calPeakTime/F");
86  b_calPeakADC = m_treeDetailed->Branch("calPeakADC", &m_calPeakADC, "calPeakADC/F");
87  b_pulseWidth = m_treeDetailed->Branch("pulseWidth", &m_pulseWidth, "pulseWidth/F");
88 
89 
90  if (!m_MaskedStr.isValid())
91  B2WARNING("No valid SVDFADCMaskedStrip for the requested IoV");
92  if (!m_NoiseCal.isValid())
93  B2WARNING("No valid SVDNoiseCalibration for the requested IoV");
94  if (!m_PedestalCal.isValid())
95  B2WARNING("No valid SVDPedestalCalibration for the requested IoV");
96  if (! m_PulseShapeCal.isValid())
97  B2WARNING("No valid SVDPulseShapeCalibrations for the requested IoV");
98  /* if (!m_OccupancyCal.isValid())
99  B2WARNING("No valid SVDOccupancyCalibrations for the requested IoV");
100  if (!m_HotStripsCal.isValid())
101  B2WARNING("No valid SVDHotStripsCalibrations for the requested IoV");
102  */
103 
105  TH1F hOccupancy("occupancy_L@layerL@ladderS@sensor@view",
106  "occupancy in hits/evt in @layer.@ladder.@sensor @view/@side",
107  1500, 0.0, 0.006);
108  hOccupancy.GetXaxis()->SetTitle("strip occupancy ()");
109  m_hOccupancy = new SVDHistograms<TH1F>(hOccupancy);
110 
111  TH2F h2Occupancy_512("occupancy2D_512_L@layerL@ladderS@sensor@view",
112  "occupancy in HITS/EVT in @layer.@ladder.@sensor @view/@side VS cellID",
113  128 * 4, -0.5, 128 * 4 - 0.5, 1500, 0.0, 0.006);
114  h2Occupancy_512.GetYaxis()->SetTitle("strip occupancy (HITS/EVT)");
115  h2Occupancy_512.GetXaxis()->SetTitle("cellID");
116 
117  TH2F h2Occupancy_768("occupancy2D_768_L@layerL@ladderS@sensor@view",
118  "occupancy in HITS/EVT in @layer.@ladder.@sensor @view/@side VS cellID",
119  128 * 6, -0.5, 128 * 6 - 0.5, 1500, 0.0, 0.006);
120  h2Occupancy_768.GetYaxis()->SetTitle("strip occupancy (HITS/EVT)");
121  h2Occupancy_768.GetXaxis()->SetTitle("cellID");
122 
123  m_h2Occupancy = new SVDHistograms<TH2F>(h2Occupancy_768, h2Occupancy_768, h2Occupancy_768, h2Occupancy_512);
124 
126  TH1F hHotstrips("hotstrips_L@layerL@ladderS@sensor@view",
127  "hot strips in @layer.@ladder.@sensor @view/@side",
128  2, -0.5, 1.5);
129  hHotstrips.GetXaxis()->SetTitle("isHotStrips");
130  m_hHotstrips = new SVDHistograms<TH1F>(hHotstrips);
131 
132  //imported from SVDHSfinder module
133  TH1F hHotStrips768("HotStrips768_L@layerL@ladderS@sensor@view", "Hot Strips of @layer.@ladder.@sensor @view/@side side", 768, 0,
134  768);
135  hHotStrips768.GetXaxis()->SetTitle("cellID");
136  TH1F hHotStrips512("HotStrips512_L@layerL@ladderS@sensor@view", "Hot Strips of @layer.@ladder.@sensor @view/@side side", 512, 0,
137  512);
138  hHotStrips512.GetXaxis()->SetTitle("cellID");
139  hm_hot_strips = new SVDHistograms<TH1F>(hHotStrips768, hHotStrips768, hHotStrips768, hHotStrips512);
140 
141  TH2F h2Hotstrips_512("hotstrips2D_512_L@layerL@ladderS@sensor@view",
142  "hot strips in @layer.@ladder.@sensor @view/@side VS cellID",
143  128 * 4, -0.5, 128 * 4 - 0.5, 2, -0.5, 1.5);
144  h2Hotstrips_512.GetYaxis()->SetTitle("isHotStrips");
145  h2Hotstrips_512.GetXaxis()->SetTitle("cellID");
146 
147  TH2F h2Hotstrips_768("hotstrips2D_768_L@layerL@ladderS@sensor@view",
148  "hot strips in @layer.@ladder.@sensor @view/@side VS cellID",
149  128 * 6, -0.5, 128 * 6 - 0.5, 2, -0.5, 1.5);
150  h2Hotstrips_768.GetYaxis()->SetTitle("isHotStrips");
151  h2Hotstrips_768.GetXaxis()->SetTitle("cellID");
152 
153  m_h2Hotstrips = new SVDHistograms<TH2F>(h2Hotstrips_768, h2Hotstrips_768, h2Hotstrips_768, h2Hotstrips_512);
154 
155 
156  //summary plot of the hot strips per sensor
157  m_hHotStripsSummary = new SVDSummaryPlots("hotStripsSummary@view", "Number of HotStrips on @view/@side Side");
158 
160  TH1F hMask("masked_L@layerL@ladderS@sensor@view",
161  "masked strip in @layer.@ladder.@sensor @view/@side",
162  2, -0.5, 1.5);
163  hMask.GetXaxis()->SetTitle("isMasked");
164  m_hMask = new SVDHistograms<TH1F>(hMask);
165 
166  TH2F h2Mask_512("masked2D_512_L@layerL@ladderS@sensor@view",
167  "masked strip in @layer.@ladder.@sensor @view/@side VS cellID",
168  128 * 4, -0.5, 128 * 4 - 0.5, 2, -0.5, 1.5);
169  h2Mask_512.GetYaxis()->SetTitle("isMasked");
170  h2Mask_512.GetXaxis()->SetTitle("cellID");
171 
172  TH2F h2Mask_768("masked2D_768_L@layerL@ladderS@sensor@view",
173  "masked strip in @layer.@ladder.@sensor @view/@side VS cellID",
174  128 * 6, -0.5, 128 * 6 - 0.5, 2, -0.5, 1.5);
175  h2Mask_768.GetYaxis()->SetTitle("isMasked");
176  h2Mask_768.GetXaxis()->SetTitle("cellID");
177 
178  m_h2Mask = new SVDHistograms<TH2F>(h2Mask_768, h2Mask_768, h2Mask_768, h2Mask_512);
179 
181  TH1F hNoise("noiseADC_L@layerL@ladderS@sensor@view",
182  "noise in ADC in @layer.@ladder.@sensor @view/@side",
183  160, -0.5, 19.5);
184  hNoise.GetXaxis()->SetTitle("strip noise (ADC)");
185  m_hNoise = new SVDHistograms<TH1F>(hNoise);
186 
187  TH2F h2Noise_512("noise2D_512_L@layerL@ladderS@sensor@view",
188  "noise in ADC in @layer.@ladder.@sensor @view/@side VS cellID",
189  128 * 4, -0.5, 128 * 4 - 0.5, 80, -0.5, 9.5);
190  h2Noise_512.GetYaxis()->SetTitle("strip noise (ADC)");
191  h2Noise_512.GetXaxis()->SetTitle("cellID");
192 
193  TH2F h2Noise_768("noise2D_768_L@layerL@ladderS@sensor@view",
194  "noise in ADC in @layer.@ladder.@sensor @view/@side VS cellID",
195  128 * 6, -0.5, 128 * 6 - 0.5, 80, -0.5, 9.5);
196  h2Noise_768.GetYaxis()->SetTitle("strip noise (ADC)");
197  h2Noise_768.GetXaxis()->SetTitle("cellID");
198 
199  m_h2Noise = new SVDHistograms<TH2F>(h2Noise_768, h2Noise_768, h2Noise_768, h2Noise_512);
200 
201 
203  TH1F hNoiseEl("noiseEl_L@layerL@ladderS@sensor@view",
204  "noise in e- in @layer.@ladder.@sensor @view/@side",
205  600, -199.5, 1499.5);
206  hNoiseEl.GetXaxis()->SetTitle("strip noise (e-)");
207  m_hNoiseEl = new SVDHistograms<TH1F>(hNoiseEl);
208 
209  TH2F h2NoiseEl_512("noiseEl2D_512_L@layerL@ladderS@sensor@view",
210  "noise in e- in @layer.@ladder.@sensor @view/@side VS cellID",
211  128 * 4, -0.5, 128 * 4 - 0.5, 600, -199.5, 1499.5);
212  h2NoiseEl_512.GetYaxis()->SetTitle("strip noise (e-)");
213  h2NoiseEl_512.GetXaxis()->SetTitle("cellID");
214 
215  TH2F h2NoiseEl_768("noiseEl2D_768_L@layerL@ladderS@sensor@view",
216  "noise in e- in @layer.@ladder.@sensor @view/@side VS cellID",
217  128 * 6, -0.5, 128 * 6 - 0.5, 600, -199.5, 1499.5);
218  h2NoiseEl_768.GetYaxis()->SetTitle("strip noise (e-)");
219  h2NoiseEl_768.GetXaxis()->SetTitle("cellID");
220 
221  m_h2NoiseEl = new SVDHistograms<TH2F>(h2NoiseEl_768, h2NoiseEl_768, h2NoiseEl_768, h2NoiseEl_512);
222 
223 
225  TH1F hPedestal("pedestalADC_L@layerL@ladderS@sensor@view",
226  "pedestal in ADC in @layer.@ladder.@sensor @view/@side",
227  200, -199.5, 599.5);
228  hPedestal.GetXaxis()->SetTitle("strip pedestal (ADC)");
229  m_hPedestal = new SVDHistograms<TH1F>(hPedestal);
230 
231  TH2F h2Pedestal_512("pedestal2D_512_L@layerL@ladderS@sensor@view",
232  "pedestal in ADC in @layer.@ladder.@sensor @view/@side VS cellID",
233  128 * 4, -0.5, 128 * 4 - 0.5, 200, -199.5, 599.5);
234  h2Pedestal_512.GetYaxis()->SetTitle("strip pedestal (ADC)");
235  h2Pedestal_512.GetXaxis()->SetTitle("cellID");
236 
237  TH2F h2Pedestal_768("pedestal2D_768_L@layerL@ladderS@sensor@view",
238  "pedestal in ADC in @layer.@ladder.@sensor @view/@side VS cellID",
239  128 * 6, -0.5, 128 * 6 - 0.5, 200, -199.5, 599.5);
240  h2Pedestal_768.GetYaxis()->SetTitle("strip pedestal (ADC)");
241  h2Pedestal_768.GetXaxis()->SetTitle("cellID");
242 
243  m_h2Pedestal = new SVDHistograms<TH2F>(h2Pedestal_768, h2Pedestal_768, h2Pedestal_768, h2Pedestal_512);
244 
246  TH1F hGain("gainADC_L@layerL@ladderS@sensor@view",
247  "1/gain in @layer.@ladder.@sensor @view/@side",
248  300, -0.5, 499.5);
249  hGain.GetXaxis()->SetTitle("strip 1/gain (e-/ADC)");
250  m_hGain = new SVDHistograms<TH1F>(hGain);
251 
252  TH2F h2Gain_512("gain2D_512_L@layerL@ladderS@sensor@view",
253  "1/gain in @layer.@ladder.@sensor @view/@side VS cellID",
254  128 * 4, -0.5, 128 * 4 - 0.5, 300, -0.5, 499.5);
255  h2Gain_512.GetYaxis()->SetTitle("strip 1/gain (e-/ADC)");
256  h2Gain_512.GetXaxis()->SetTitle("cellID");
257 
258  TH2F h2Gain_768("gain2D_768_L@layerL@ladderS@sensor@view",
259  "1/gain in @layer.@ladder.@sensor @view/@side VS cellID",
260  128 * 6, -0.5, 128 * 6 - 0.5, 300, -0.5, 499.5);
261  h2Gain_768.GetYaxis()->SetTitle("strip 1/gain (e-/ADC)");
262  h2Gain_768.GetXaxis()->SetTitle("cellID");
263 
264  m_h2Gain = new SVDHistograms<TH2F>(h2Gain_768, h2Gain_768, h2Gain_768, h2Gain_512);
265 
266  // PEAKTIME (ns)
267  TH1F hCalPeakTime("calPeakTime_L@layerL@ladderS@sensor@view",
268  "calPeakTime in @layer.@ladder.@sensor @view/@side",
269  255, -0.5, 254.5);
270  hCalPeakTime.GetXaxis()->SetTitle("strip calPeakTime (ns)");
271  m_hCalPeakTime = new SVDHistograms<TH1F>(hCalPeakTime);
272 
273  TH2F h2CalPeakTime_512("calPeakTime2D_512_L@layerL@ladderS@sensor@view",
274  "calPeakTime in @layer.@ladder.@sensor @view/@side VS cellID",
275  128 * 4, -0.5, 128 * 4 - 0.5, 255, -0.5, 254.5);
276  h2CalPeakTime_512.GetYaxis()->SetTitle("strip calPeakTime (ns)");
277  h2CalPeakTime_512.GetXaxis()->SetTitle("cellID");
278 
279  TH2F h2CalPeakTime_768("calPeakTime2D_768_L@layerL@ladderS@sensor@view",
280  "calPeakTime in @layer.@ladder.@sensor @view/@side VS cellID",
281  128 * 6, -0.5, 128 * 6 - 0.5, 255, -0.5, 254.5);
282  h2CalPeakTime_768.GetYaxis()->SetTitle("strip calPeakTime (ns)");
283  h2CalPeakTime_768.GetXaxis()->SetTitle("cellID");
284 
285  m_h2CalPeakTime = new SVDHistograms<TH2F>(h2CalPeakTime_768, h2CalPeakTime_768, h2CalPeakTime_768, h2CalPeakTime_512);
286 
287  //CALPEAK ADC
288  TH1F hCalPeakADC("calPeakADC_L@layerL@ladderS@sensor@view",
289  "calPeakADC in @layer.@ladder.@sensor @view/@side",
290  80, 44.5, 124.5);
291  hCalPeakADC.GetXaxis()->SetTitle("strip calPeakADC (ADC)");
292  m_hCalPeakADC = new SVDHistograms<TH1F>(hCalPeakADC);
293 
294  TH2F h2CalPeakADC_512("calPeakADC2D_512_L@layerL@ladderS@sensor@view",
295  "calPeakADC in @layer.@ladder.@sensor @view/@side VS cellID",
296  128 * 4, -0.5, 128 * 4 - 0.5, 80, 44.5, 124.5);
297  h2CalPeakADC_512.GetYaxis()->SetTitle("strip calPeakADC (ADC)");
298  h2CalPeakADC_512.GetXaxis()->SetTitle("cellID");
299 
300  TH2F h2CalPeakADC_768("calPeakADC2D_768_L@layerL@ladderS@sensor@view",
301  "calPeakADC in @layer.@ladder.@sensor @view/@side VS cellID",
302  128 * 6, -0.5, 128 * 6 - 0.5, 80, 44.5, 124.5);
303  h2CalPeakADC_768.GetYaxis()->SetTitle("strip calPeakADC (ADC)");
304  h2CalPeakADC_768.GetXaxis()->SetTitle("cellID");
305 
306  m_h2CalPeakADC = new SVDHistograms<TH2F>(h2CalPeakADC_768, h2CalPeakADC_768, h2CalPeakADC_768, h2CalPeakADC_512);
307 
308  // PULSE WIDTH (ns)
309  TH1F hPulseWidth("pulseWidth_L@layerL@ladderS@sensor@view",
310  "pulseWidth in @layer.@ladder.@sensor @view/@side",
311  255, -0.5, 254.5);
312  hPulseWidth.GetXaxis()->SetTitle("strip pulseWidth (ns)");
313  m_hPulseWidth = new SVDHistograms<TH1F>(hPulseWidth);
314 
315  TH2F h2PulseWidth_512("pulseWidth2D_512_L@layerL@ladderS@sensor@view",
316  "pulseWidth in @layer.@ladder.@sensor @view/@side VS cellID",
317  128 * 4, -0.5, 128 * 4 - 0.5, 255, -0.5, 254.5);
318  h2PulseWidth_512.GetYaxis()->SetTitle("strip pulseWidth (ns)");
319  h2PulseWidth_512.GetXaxis()->SetTitle("cellID");
320 
321  TH2F h2PulseWidth_768("pulseWidth2D_768_L@layerL@ladderS@sensor@view",
322  "pulseWidth in @layer.@ladder.@sensor @view/@side VS cellID",
323  128 * 6, -0.5, 128 * 6 - 0.5, 255, -0.5, 254.5);
324  h2PulseWidth_768.GetYaxis()->SetTitle("strip pulseWidth (ns)");
325  h2PulseWidth_768.GetXaxis()->SetTitle("cellID");
326 
327  m_h2PulseWidth = new SVDHistograms<TH2F>(h2PulseWidth_768, h2PulseWidth_768, h2PulseWidth_768, h2PulseWidth_512);
328 
329 }
330 
332 {
333 
335  m_exp = meta->getExperiment();
336  m_run = meta->getRun();
337 
339 
340  //call for a geometry instance
342  std::set<Belle2::VxdID> svdLayers = aGeometry.getLayers(VXD::SensorInfoBase::SVD);
343  std::set<Belle2::VxdID>::iterator itSvdLayers = svdLayers.begin();
344 
345  while ((itSvdLayers != svdLayers.end()) && (itSvdLayers->getLayerNumber() != 7)) { //loop on Layers
346 
347  std::set<Belle2::VxdID> svdLadders = aGeometry.getLadders(*itSvdLayers);
348  std::set<Belle2::VxdID>::iterator itSvdLadders = svdLadders.begin();
349 
350  while (itSvdLadders != svdLadders.end()) { //loop on Ladders
351 
352  std::set<Belle2::VxdID> svdSensors = aGeometry.getSensors(*itSvdLadders);
353  std::set<Belle2::VxdID>::iterator itSvdSensors = svdSensors.begin();
354  B2DEBUG(1, " svd sensor info " << * (svdSensors.begin()));
355 
356  while (itSvdSensors != svdSensors.end()) { //loop on sensors
357  B2DEBUG(1, " svd sensor info " << *itSvdSensors);
358 
359  int layer = itSvdSensors->getLayerNumber();
360  int ladder = itSvdSensors->getLadderNumber();
361  int sensor = itSvdSensors->getSensorNumber();
362  Belle2::VxdID theVxdID(layer, ladder, sensor);
363  const SVD::SensorInfo* currentSensorInfo = dynamic_cast<const SVD::SensorInfo*>(&VXD::GeoCache::get(theVxdID));
364  m_layer = layer;
365  m_ladder = ladder;
366  m_sensor = sensor;
367 
368  for (m_side = 0; m_side < 2; m_side++) {
369 
370  int Ncells = currentSensorInfo->getUCells();
371  if (m_side == 0)
372  Ncells = currentSensorInfo->getVCells();
373 
374  for (m_strip = 0; m_strip < Ncells; m_strip++) {
375  m_occupancy = -1;
376  /* if (m_OccupancyCal.isValid()) {
377  m_occupancy = m_OccupancyCal.getOccupancy(theVxdID, m_side, m_strip);
378  }*/
379  m_hOccupancy->fill(theVxdID, m_side, m_occupancy);
381 
382 
383  m_hotstrips = -1;
384  /* if (m_HotStripsCal.isValid())
385  m_hotstrips = m_HotStripsCal.isHot(theVxdID, m_side, m_strip);*/
386 
387  //aux histo for hotStripSummary table
388  hm_hot_strips->getHistogram(*itSvdSensors, m_side)->SetBinContent(m_strip + 1, m_hotstrips);
389  m_hHotstrips->fill(theVxdID, m_side, m_hotstrips);
391 
392  m_mask = -1;
393  if (m_MaskedStr.isValid())
394  m_mask = m_MaskedStr.isMasked(theVxdID, m_side, m_strip);
395  m_hMask->fill(theVxdID, m_side, m_mask);
396  m_h2Mask->fill(theVxdID, m_side, m_strip, m_mask);
397 
398  m_noise = -1;
399  m_noiseEl = -1;
400  if (m_NoiseCal.isValid()) {
401  m_noise = m_NoiseCal.getNoise(theVxdID, m_side, m_strip);
403  }
404  m_hNoise->fill(theVxdID, m_side, m_noise);
405  m_h2Noise->fill(theVxdID, m_side, m_strip, m_noise);
406  m_hNoiseEl->fill(theVxdID, m_side, m_noiseEl);
407  m_h2NoiseEl->fill(theVxdID, m_side, m_strip, m_noiseEl);
408 
409  m_pedestal = -1;
410  if (m_PedestalCal.isValid())
412  m_hPedestal->fill(theVxdID, m_side, m_pedestal);
413  m_h2Pedestal->fill(theVxdID, m_side, m_strip, m_pedestal);
414 
415  m_gain = -1;
416  if (m_PulseShapeCal.isValid()) {
417  m_gain = m_PulseShapeCal.getChargeFromADC(theVxdID, m_side, m_strip, 1/*ADC*/);
418  m_calPeakADC = 22500. / m_PulseShapeCal.getChargeFromADC(theVxdID, m_side, m_strip, 1/*ADC*/);
421  }
422  m_hGain->fill(theVxdID, m_side, m_gain);
423  m_h2Gain->fill(theVxdID, m_side, m_strip, m_gain);
426  m_hCalPeakADC->fill(theVxdID, m_side, m_calPeakADC);
428  m_hPulseWidth->fill(theVxdID, m_side, m_pulseWidth);
430 
431  m_treeDetailed->Fill();
432 
433  }
434  }
435  ++itSvdSensors;
436  }
437  ++itSvdLadders;
438  }
439  ++itSvdLayers;
440  }
441 
442  B2INFO("now computing Mean and RMS of local calibration constants");
443 
444  //compute averages and RMS
445 
446  itSvdLayers = svdLayers.begin();
447 
448  while ((itSvdLayers != svdLayers.end()) && (itSvdLayers->getLayerNumber() != 7)) { //loop on Layers
449 
450  std::set<Belle2::VxdID> svdLadders = aGeometry.getLadders(*itSvdLayers);
451  std::set<Belle2::VxdID>::iterator itSvdLadders = svdLadders.begin();
452 
453  while (itSvdLadders != svdLadders.end()) { //loop on Ladders
454 
455  std::set<Belle2::VxdID> svdSensors = aGeometry.getSensors(*itSvdLadders);
456  std::set<Belle2::VxdID>::iterator itSvdSensors = svdSensors.begin();
457  B2DEBUG(1, " svd sensor info " << * (svdSensors.begin()));
458 
459  while (itSvdSensors != svdSensors.end()) { //loop on sensors
460  B2DEBUG(1, " svd sensor info " << *itSvdSensors);
461 
462  m_layer = itSvdSensors->getLayerNumber();
463  m_ladder = itSvdSensors->getLadderNumber();
464  m_sensor = itSvdSensors->getSensorNumber();
466 
467 
468  for (m_side = 0; m_side < 2; m_side++) {
469  m_maskAVE = (m_hMask->getHistogram(theVxdID, m_side))->GetMean();
470  m_hotstripsAVE = (m_hHotstrips->getHistogram(theVxdID, m_side))->GetMean();
471  m_pedestalAVE = (m_hPedestal->getHistogram(theVxdID, m_side))->GetMean();
472  m_pedestalRMS = (m_hPedestal->getHistogram(theVxdID, m_side))->GetRMS();
473  m_noiseAVE = (m_hNoise->getHistogram(theVxdID, m_side))->GetMean();
474  m_noiseRMS = (m_hNoise->getHistogram(theVxdID, m_side))->GetRMS();
475  m_occupancyAVE = (m_hOccupancy->getHistogram(theVxdID, m_side))->GetMean();
476  m_occupancyRMS = (m_hOccupancy->getHistogram(theVxdID, m_side))->GetRMS();
477  m_gainAVE = (m_hGain->getHistogram(theVxdID, m_side))->GetMean();
478  m_gainRMS = (m_hGain->getHistogram(theVxdID, m_side))->GetRMS();
479  m_calPeakTimeAVE = (m_hCalPeakTime->getHistogram(theVxdID, m_side))->GetMean();
480  m_calPeakTimeRMS = (m_hCalPeakTime->getHistogram(theVxdID, m_side))->GetRMS();
481  m_calPeakADCAVE = (m_hCalPeakADC->getHistogram(theVxdID, m_side))->GetMean();
482  m_calPeakADCRMS = (m_hCalPeakADC->getHistogram(theVxdID, m_side))->GetRMS();
483  m_pulseWidthAVE = (m_hPulseWidth->getHistogram(theVxdID, m_side))->GetMean();
484  m_pulseWidthRMS = (m_hPulseWidth->getHistogram(theVxdID, m_side))->GetRMS();
485 
486 
487  // for (int s = 0; s < hm_hot_strips->getHistogram(*itSvdSensors, m_side)->GetEntries(); s++)
488  // m_hHotStripsSummary->fill(*itSvdSensors, m_side, 1);
489 
490  m_tree->Fill();
491 
492  }
493  ++itSvdSensors;
494  }
495  ++itSvdLadders;
496  }
497  ++itSvdLayers;
498  }
499 
500 
501 }
502 
504 {
505  B2RESULT("******************************************");
506  B2RESULT("** UNIQUE IDs of calibration DB objects **");
507  B2RESULT("");
508 
509  /* if (m_OccupancyCal.isValid())
510  B2RESULT(" - SVDOccupancyCalibrations:" << m_OccupancyCal.getUniqueID());
511  else
512  B2WARNING("No valid SVDOccupancyCalibrations for the requested IoV");
513 
514  if (m_HotStripsCal.isValid())
515  B2RESULT(" - SVDHotStripsCalibrations:" << m_HotStripsCal.getUniqueID());
516  else
517  B2WARNING("No valid SVDHotStripsCalibrations for the requested IoV");*/
518 
519 
520  if (m_MaskedStr.isValid())
521  B2RESULT(" - SVDFADCMaskedStrips:" << m_MaskedStr.getUniqueID());
522  else
523  B2WARNING("No valid SVDFADCMaskedStrips for the requested IoV");
524 
525  if (m_NoiseCal.isValid())
526  B2RESULT(" - SVDNoiseCalibrations:" << m_NoiseCal.getUniqueID());
527  else
528  B2WARNING("No valid SVDNoiseCalibrations for the requested IoV");
529 
530  if (m_PedestalCal.isValid())
531  B2RESULT(" - SVDPedestalCalibrations:" << m_PedestalCal.getUniqueID());
532  else
533  B2WARNING("No valid SVDPedestalCalibrations for the requested IoV");
534 
535  if (m_PulseShapeCal.isValid())
536  B2RESULT(" - SVDPulseShapeCalibrations:" << m_PulseShapeCal.getUniqueID());
537  else
538  B2WARNING("No valid SVDPulseShapeCalibrations for the requested IoV");
539  //}
540 
541  //void SVDLocalCalibrationsMonitorModule::terminate()
542  //{
543 
544  if (m_rootFilePtr != NULL) {
545 
546  m_rootFilePtr->cd();
547 
548  //write the tree
549  m_treeDetailed->Write();
550  m_tree->Write();
551 
552  m_rootFilePtr->mkdir("hotstrips");
553  m_rootFilePtr->mkdir("masked_strips");
554  m_rootFilePtr->mkdir("pedestal_ADCunits");
555  m_rootFilePtr->mkdir("noise_ADCunits");
556  m_rootFilePtr->mkdir("occupancy");
557  m_rootFilePtr->mkdir("noise_electronsCharge");
558  m_rootFilePtr->mkdir("gain_electronsCharge");
559  m_rootFilePtr->mkdir("calPeakTime");
560  m_rootFilePtr->mkdir("calPeakADC");
561  m_rootFilePtr->mkdir("pulseWidth");
562 
563 
565 
566  for (auto layer : geoCache.getLayers(VXD::SensorInfoBase::SVD))
567  for (auto ladder : geoCache.getLadders(layer))
568  for (Belle2::VxdID sensor : geoCache.getSensors(ladder))
569  for (int view = SVDHistograms<TH1F>::VIndex ; view < SVDHistograms<TH1F>::UIndex + 1; view++) {
570 
571  //writing the histogram list for the noises in ADC units
572 
573  m_rootFilePtr->cd("occupancy");
574  (m_hOccupancy->getHistogram(sensor, view))->Write();
575  (m_h2Occupancy->getHistogram(sensor, view))->Write();
576 
577  //writing the histogram list for the hotstrips
578  m_rootFilePtr->cd("hotstrips");
579  //------imported from SVDHSfinder module
580  hm_hot_strips->getHistogram(sensor, view)->SetLineColor(kBlack);
581  hm_hot_strips->getHistogram(sensor, view)->SetMarkerColor(kBlack);
582  hm_hot_strips->getHistogram(sensor, view)->SetFillStyle(3001);
583  hm_hot_strips->getHistogram(sensor, view)->SetFillColor(kBlack);
584  hm_hot_strips->getHistogram(sensor, view)->Write();
585 
586  //--------------------
587  (m_hHotstrips->getHistogram(sensor, view))->Write();
588  (m_h2Hotstrips->getHistogram(sensor, view))->Write();
589 
590 
591 
592  //writing the histogram list for the masks in ADC units
593  m_rootFilePtr->cd("masked_strips");
594  (m_hMask->getHistogram(sensor, view))->Write();
595  (m_h2Mask->getHistogram(sensor, view))->Write();
596 
597  //writing the histogram list for the pedestals in ADC units
598  m_rootFilePtr->cd("pedestal_ADCunits");
599  (m_hPedestal->getHistogram(sensor, view))->Write();
600  (m_h2Pedestal->getHistogram(sensor, view))->Write();
601 
602  //writing the histogram list for the noises in ADC units
603  m_rootFilePtr->cd("noise_ADCunits");
604  (m_hNoise->getHistogram(sensor, view))->Write();
605  (m_h2Noise->getHistogram(sensor, view))->Write();
606 
607  //writing the histogram list for the noises in electron charge
608  m_rootFilePtr->cd("noise_electronsCharge");
609  (m_hNoiseEl->getHistogram(sensor, view))->Write();
610  (m_h2NoiseEl->getHistogram(sensor, view))->Write();
611 
612  //writing the histogram list for the gains in electron charge
613  m_rootFilePtr->cd("gain_electronsCharge");
614  (m_hGain->getHistogram(sensor, view))->Write();
615  (m_h2Gain->getHistogram(sensor, view))->Write();
616 
617  //writing the histogram list for the peak times in ns
618  m_rootFilePtr->cd("calPeakTime");
619  (m_hCalPeakTime->getHistogram(sensor, view))->Write();
620  (m_h2CalPeakTime->getHistogram(sensor, view))->Write();
621 
622  //writing the histogram list for the peak in ADC
623  m_rootFilePtr->cd("calPeakADC");
624  (m_hCalPeakADC->getHistogram(sensor, view))->Write();
625  (m_h2CalPeakADC->getHistogram(sensor, view))->Write();
626 
627  //writing the histogram list for the pulse widths in ns
628  m_rootFilePtr->cd("pulseWidth");
629  (m_hPulseWidth->getHistogram(sensor, view))->Write();
630  (m_h2PulseWidth->getHistogram(sensor, view))->Write();
631 
632  }
633  m_rootFilePtr->mkdir("expert");
634 
635  m_rootFilePtr->cd("expert");
636  m_h2Noise->Write("h2Noise");
637  m_h2Occupancy->Write("h2Occupancy");
638  m_h2PulseWidth->Write("h2PulseShape");
639  m_h2Pedestal->Write("h2Pedestal");
640  m_h2Gain->Write("h2Gain");
641  m_h2CalPeakADC->Write("h2CalPeakADC");
642  m_h2CalPeakTime->Write("h2CalPeakTime");
643 
644  m_rootFilePtr->Close();
645  B2RESULT("The rootfile containing the list of histograms has been filled and closed [Local].");
646 
647 
648  }
649 }
Belle2::SVDLocalCalibrationsMonitorModule::m_layer
int m_layer
layer number
Definition: SVDLocalCalibrationsMonitorModule.h:115
Belle2::SVDLocalCalibrationsMonitorModule::m_strip
int m_strip
strip number
Definition: SVDLocalCalibrationsMonitorModule.h:119
Belle2::SVDLocalCalibrationsMonitorModule::m_noise
float m_noise
strip noise (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:125
Belle2::SVDLocalCalibrationsMonitorModule::m_maskAVE
float m_maskAVE
sensor mask average
Definition: SVDLocalCalibrationsMonitorModule.h:121
Belle2::SVDLocalCalibrationsMonitorModule::b_hotstripsAVE
TBranch * b_hotstripsAVE
average sensor hotstrips
Definition: SVDLocalCalibrationsMonitorModule.h:88
Belle2::VXD::SensorInfoBase::getUCells
int getUCells() const
Return number of pixel/strips in u direction.
Definition: SensorInfoBase.h:223
Belle2::SVDLocalCalibrationsMonitorModule::m_run
int m_run
run number
Definition: SVDLocalCalibrationsMonitorModule.h:113
Belle2::SVDPulseShapeCalibrations::getWidth
float getWidth(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
Return the width of the pulse shape for a given strip.
Definition: SVDPulseShapeCalibrations.h:170
Belle2::SVDLocalCalibrationsMonitorModule::m_noiseRMS
float m_noiseRMS
sensor noise rms (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:130
Belle2::SVDFADCMaskedStrips::isMasked
float isMasked(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the comprehensive list of masked strips at FADC level.
Definition: SVDFADCMaskedStrips.h:72
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::SVDLocalCalibrationsMonitorModule::m_hOccupancy
SVDHistograms< TH1F > * m_hOccupancy
occupancy (hits/evt) histo
Definition: SVDLocalCalibrationsMonitorModule.h:191
Belle2::SVDLocalCalibrationsMonitorModule::m_hPulseWidth
SVDHistograms< TH1F > * m_hPulseWidth
calPeakTime (ns) histo
Definition: SVDLocalCalibrationsMonitorModule.h:187
Belle2::SVDLocalCalibrationsMonitorModule::endRun
virtual void endRun() override
print the payloads uniqueID and write trees and histograms to the rootfile
Definition: SVDLocalCalibrationsMonitorModule.cc:503
Belle2::SVDLocalCalibrationsMonitorModule::b_pulseWidth
TBranch * b_pulseWidth
strip pulse width
Definition: SVDLocalCalibrationsMonitorModule.h:107
Belle2::SVDLocalCalibrationsMonitorModule::beginRun
virtual void beginRun() override
initialize the TTrees and check validities of payloads
Definition: SVDLocalCalibrationsMonitorModule.cc:37
Belle2::SVDHistograms< TH1F >
Belle2::SVDDetectorConfiguration::getHV
float getHV()
GLOBAL CONFIGURATION PARAMETERS: Return the HV applied during data taking.
Definition: SVDDetectorConfiguration.h:174
Belle2::SVDPulseShapeCalibrations::isValid
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Definition: SVDPulseShapeCalibrations.h:182
Belle2::SVDLocalCalibrationsMonitorModule::m_ladder
int m_ladder
ladder number
Definition: SVDLocalCalibrationsMonitorModule.h:116
Belle2::SVDLocalCalibrationsMonitorModule::m_DetectorConf
SVDDetectorConfiguration m_DetectorConf
Detector Configuration Payload.
Definition: SVDLocalCalibrationsMonitorModule.h:150
Belle2::SVDLocalCalibrationsMonitorModule::b_pedestal
TBranch * b_pedestal
strip pedestal
Definition: SVDLocalCalibrationsMonitorModule.h:89
Belle2::SVDLocalCalibrationsMonitorModule::b_pedestalRMS
TBranch * b_pedestalRMS
rms sensor pedestal
Definition: SVDLocalCalibrationsMonitorModule.h:91
Belle2::VXD::GeoCache::get
static const SensorInfoBase & get(Belle2::VxdID id)
Return a reference to the SensorInfo of a given SensorID.
Definition: GeoCache.h:141
Belle2::SVDLocalCalibrationsMonitorModule::m_h2CalPeakADC
SVDHistograms< TH2F > * m_h2CalPeakADC
calPeakADC (ns) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:184
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::SVDLocalCalibrationsMonitorModule::m_hv
float m_hv
applied hv=Vbias/2
Definition: SVDLocalCalibrationsMonitorModule.h:114
Belle2::SVDLocalCalibrationsMonitorModule::b_run
TBranch * b_run
run number
Definition: SVDLocalCalibrationsMonitorModule.h:77
Belle2::SVDPedestalCalibrations::getUniqueID
TString getUniqueID()
returns the unique ID of the payload
Definition: SVDPedestalCalibrations.h:81
Belle2::SVDLocalCalibrationsMonitorModule::m_treeDetailed
TTree * m_treeDetailed
pointer at tree containing the calibration constants of each strip
Definition: SVDLocalCalibrationsMonitorModule.h:73
Belle2::SVDLocalCalibrationsMonitorModule::m_rootFilePtr
TFile * m_rootFilePtr
pointer at root file used for storing histograms
Definition: SVDLocalCalibrationsMonitorModule.h:71
Belle2::SVDLocalCalibrationsMonitorModule::m_hGain
SVDHistograms< TH1F > * m_hGain
gain (e-/ADC) histo
Definition: SVDLocalCalibrationsMonitorModule.h:175
Belle2::SVDPedestalCalibrations::isValid
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Definition: SVDPedestalCalibrations.h:84
Belle2::SVDLocalCalibrationsMonitorModule::b_maskAVE
TBranch * b_maskAVE
average sensor mask
Definition: SVDLocalCalibrationsMonitorModule.h:86
Belle2::SVDLocalCalibrationsMonitorModule::m_MaskedStr
SVDFADCMaskedStrips m_MaskedStr
FADC masked strip payload.
Definition: SVDLocalCalibrationsMonitorModule.h:152
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakADCRMS
float m_calPeakADCRMS
sensor peak time rms
Definition: SVDLocalCalibrationsMonitorModule.h:139
Belle2::SVDNoiseCalibrations::getUniqueID
TString getUniqueID()
returns the unique ID of the payload
Definition: SVDNoiseCalibrations.h:79
Belle2::SVDLocalCalibrationsMonitorModule::m_pulseWidth
float m_pulseWidth
strip pulse width
Definition: SVDLocalCalibrationsMonitorModule.h:143
Belle2::SVDLocalCalibrationsMonitorModule::m_hHotStripsSummary
SVDSummaryPlots * m_hHotStripsSummary
hot strip summary histo
Definition: SVDLocalCalibrationsMonitorModule.h:197
Belle2::SVDLocalCalibrationsMonitorModule::m_PulseShapeCal
SVDPulseShapeCalibrations m_PulseShapeCal
pulse shape payload
Definition: SVDLocalCalibrationsMonitorModule.h:154
Belle2::SVDLocalCalibrationsMonitorModule::m_pedestalRMS
float m_pedestalRMS
sensor pedestal rms
Definition: SVDLocalCalibrationsMonitorModule.h:133
Belle2::SVDLocalCalibrationsMonitorModule::b_hv
TBranch * b_hv
HV.
Definition: SVDLocalCalibrationsMonitorModule.h:78
Belle2::SVDLocalCalibrationsMonitorModule::m_h2CalPeakTime
SVDHistograms< TH2F > * m_h2CalPeakTime
calPeakTime (ns) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:180
Belle2::SVD::SensorInfo
Specific implementation of SensorInfo for SVD Sensors which provides additional sensor specific infor...
Definition: SensorInfo.h:35
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakTimeAVE
TBranch * b_calPeakTimeAVE
sensor calPeakTime average
Definition: SVDLocalCalibrationsMonitorModule.h:105
Belle2::VXD::GeoCache::getLayers
const std::set< Belle2::VxdID > getLayers(SensorInfoBase::SensorType sensortype=SensorInfoBase::VXD)
Return a set of all known Layers.
Definition: GeoCache.cc:177
Belle2::SVDFADCMaskedStrips::getUniqueID
TString getUniqueID()
returns the unique ID of the payload
Definition: SVDFADCMaskedStrips.h:81
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakADCRMS
TBranch * b_calPeakADCRMS
sensor calPeakADC arm
Definition: SVDLocalCalibrationsMonitorModule.h:103
Belle2::SVDPulseShapeCalibrations::getUniqueID
TString getUniqueID()
returns the unique ID of the payload
Definition: SVDPulseShapeCalibrations.h:179
Belle2::SVDLocalCalibrationsMonitorModule::m_mask
float m_mask
strip mask 0/1
Definition: SVDLocalCalibrationsMonitorModule.h:120
Belle2::SVDPulseShapeCalibrations::getPeakTime
float getPeakTime(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
Return the peaking time of the strip.
Definition: SVDPulseShapeCalibrations.h:146
Belle2::SVDLocalCalibrationsMonitorModule::m_tree
TTree * m_tree
pointer at tree containing the mean and RMS of calibration constants
Definition: SVDLocalCalibrationsMonitorModule.h:72
Belle2::SVDLocalCalibrationsMonitorModule::m_hMask
SVDHistograms< TH1F > * m_hMask
MASKS.
Definition: SVDLocalCalibrationsMonitorModule.h:160
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Mask
SVDHistograms< TH2F > * m_h2Mask
mask VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:161
Belle2::SVDLocalCalibrationsMonitorModule::m_rootFileName
std::string m_rootFileName
root file name
Definition: SVDLocalCalibrationsMonitorModule.h:147
Belle2::SVDLocalCalibrationsMonitorModule::m_gainRMS
float m_gainRMS
sensor gain rms
Definition: SVDLocalCalibrationsMonitorModule.h:136
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakTimeRMS
TBranch * b_calPeakTimeRMS
sensor calPeakTime arm
Definition: SVDLocalCalibrationsMonitorModule.h:106
Belle2::SVDLocalCalibrationsMonitorModule::b_occupancyRMS
TBranch * b_occupancyRMS
sensor occupancy rms (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:100
Belle2::SVDLocalCalibrationsMonitorModule
Module to produce a list of histogram showing the uploaded local calibration constants.
Definition: SVDLocalCalibrationsMonitorModule.h:52
Belle2::SVDLocalCalibrationsMonitorModule::m_h2NoiseEl
SVDHistograms< TH2F > * m_h2NoiseEl
noise in e- VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:168
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakADCAVE
TBranch * b_calPeakADCAVE
sensor calPeakADC average
Definition: SVDLocalCalibrationsMonitorModule.h:102
Belle2::SVDPulseShapeCalibrations::getChargeFromADC
double getChargeFromADC(const Belle2::VxdID &sensorID, const bool &isU, const unsigned short &strip, const double &pulseADC) const
Return the charge (number of electrons/holes) collected on a specific strip, given the number of ADC ...
Definition: SVDPulseShapeCalibrations.h:74
Belle2::SVDLocalCalibrationsMonitorModule::m_noiseAVE
float m_noiseAVE
sensor noise average (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:129
Belle2::SVDLocalCalibrationsMonitorModule::m_hCalPeakADC
SVDHistograms< TH1F > * m_hCalPeakADC
calPeakADC (ns) histo
Definition: SVDLocalCalibrationsMonitorModule.h:183
Belle2::SVDLocalCalibrationsMonitorModule::m_occupancy
float m_occupancy
strip occupancy (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:124
Belle2::SVDLocalCalibrationsMonitorModule::b_pulseWidthRMS
TBranch * b_pulseWidthRMS
sensor pulse width rms
Definition: SVDLocalCalibrationsMonitorModule.h:109
Belle2::VXD::GeoCache::getSensors
const std::set< Belle2::VxdID > & getSensors(Belle2::VxdID ladder) const
Return a set of all sensor IDs belonging to a given ladder.
Definition: GeoCache.cc:205
Belle2::SVDLocalCalibrationsMonitorModule::b_gain
TBranch * b_gain
strip gain
Definition: SVDLocalCalibrationsMonitorModule.h:92
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::SVDLocalCalibrationsMonitorModule::b_gainRMS
TBranch * b_gainRMS
sensor gain rms
Definition: SVDLocalCalibrationsMonitorModule.h:94
Belle2::SVDLocalCalibrationsMonitorModule::event
virtual void event() override
fill trees and histograms
Definition: SVDLocalCalibrationsMonitorModule.cc:331
Belle2::SVDLocalCalibrationsMonitorModule::m_pedestalAVE
float m_pedestalAVE
sensor pedestal average
Definition: SVDLocalCalibrationsMonitorModule.h:132
Belle2::SVDLocalCalibrationsMonitorModule::b_hotstrips
TBranch * b_hotstrips
strip hotstrips 0/1
Definition: SVDLocalCalibrationsMonitorModule.h:87
Belle2::SVDLocalCalibrationsMonitorModule::m_hotstrips
float m_hotstrips
strip hotstrips 0/1
Definition: SVDLocalCalibrationsMonitorModule.h:122
Belle2::SVDLocalCalibrationsMonitorModule::m_h2PulseWidth
SVDHistograms< TH2F > * m_h2PulseWidth
calPeakTime (ns) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:188
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakADC
float m_calPeakADC
strip peak time
Definition: SVDLocalCalibrationsMonitorModule.h:137
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Occupancy
SVDHistograms< TH2F > * m_h2Occupancy
occupancy (hits/evt) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:192
Belle2::SVDLocalCalibrationsMonitorModule::m_hNoiseEl
SVDHistograms< TH1F > * m_hNoiseEl
noise in e- histo
Definition: SVDLocalCalibrationsMonitorModule.h:167
Belle2::VXD::GeoCache::getInstance
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:215
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVDLocalCalibrationsMonitorModule::m_NoiseCal
SVDNoiseCalibrations m_NoiseCal
noise payload
Definition: SVDLocalCalibrationsMonitorModule.h:153
Belle2::SVDLocalCalibrationsMonitorModule::m_exp
int m_exp
exp number
Definition: SVDLocalCalibrationsMonitorModule.h:112
Belle2::VXD::SensorInfoBase::getVCells
int getVCells() const
Return number of pixel/strips in v direction.
Definition: SensorInfoBase.h:225
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::SVDLocalCalibrationsMonitorModule::m_pedestal
float m_pedestal
strip pedestal
Definition: SVDLocalCalibrationsMonitorModule.h:131
Belle2::SVDLocalCalibrationsMonitorModule::b_exp
TBranch * b_exp
exp number
Definition: SVDLocalCalibrationsMonitorModule.h:76
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakTime
TBranch * b_calPeakTime
strip calPeakTime
Definition: SVDLocalCalibrationsMonitorModule.h:104
Belle2::SVDLocalCalibrationsMonitorModule::m_gainAVE
float m_gainAVE
sensor gain average
Definition: SVDLocalCalibrationsMonitorModule.h:135
Belle2::SVDLocalCalibrationsMonitorModule::b_strip
TBranch * b_strip
strip number
Definition: SVDLocalCalibrationsMonitorModule.h:83
Belle2::SVDLocalCalibrationsMonitorModule::b_calPeakADC
TBranch * b_calPeakADC
strip calPeakADC
Definition: SVDLocalCalibrationsMonitorModule.h:101
Belle2::SVDPedestalCalibrations::getPedestal
float getPedestal(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the pedestal.
Definition: SVDPedestalCalibrations.h:65
Belle2::SVDLocalCalibrationsMonitorModule::m_sensor
int m_sensor
sensor number
Definition: SVDLocalCalibrationsMonitorModule.h:117
Belle2::SVDLocalCalibrationsMonitorModule::m_pulseWidthRMS
float m_pulseWidthRMS
sensor pulse width rms
Definition: SVDLocalCalibrationsMonitorModule.h:145
Belle2::SVDLocalCalibrationsMonitorModule::m_pulseWidthAVE
float m_pulseWidthAVE
sensor pulse width average
Definition: SVDLocalCalibrationsMonitorModule.h:144
Belle2::SVDLocalCalibrationsMonitorModule::m_hPedestal
SVDHistograms< TH1F > * m_hPedestal
pedestal (ADC) histo
Definition: SVDLocalCalibrationsMonitorModule.h:171
Belle2::SVDLocalCalibrationsMonitorModule::m_noiseEl
float m_noiseEl
strip noise (e-)
Definition: SVDLocalCalibrationsMonitorModule.h:126
Belle2::SVDLocalCalibrationsMonitorModule::b_mask
TBranch * b_mask
strip mask 0/1
Definition: SVDLocalCalibrationsMonitorModule.h:85
Belle2::SVDLocalCalibrationsMonitorModule::b_side
TBranch * b_side
sensor side
Definition: SVDLocalCalibrationsMonitorModule.h:82
Belle2::VXD::SensorInfoBase::SVD
@ SVD
SVD Sensor.
Definition: SensorInfoBase.h:45
Belle2::SVDSummaryPlots
class to summarize SVD quantities per sensor and side
Definition: SVDSummaryPlots.h:35
Belle2::SVDHistograms::fill
void fill(const VxdID &vxdID, int view, Types ... args)
fill the histogram for
Definition: SVDHistograms.h:89
Belle2::SVDLocalCalibrationsMonitorModule::m_occupancyRMS
float m_occupancyRMS
sensor occupancy rms
Definition: SVDLocalCalibrationsMonitorModule.h:128
Belle2::SVDLocalCalibrationsMonitorModule::b_ladder
TBranch * b_ladder
ladder number
Definition: SVDLocalCalibrationsMonitorModule.h:79
Belle2::VXD::GeoCache
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
Definition: GeoCache.h:41
Belle2::SVDNoiseCalibrations::getNoise
float getNoise(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the noise.
Definition: SVDNoiseCalibrations.h:71
Belle2::SVDLocalCalibrationsMonitorModule::b_occupancy
TBranch * b_occupancy
strip occupancy
Definition: SVDLocalCalibrationsMonitorModule.h:84
Belle2::SVDLocalCalibrationsMonitorModule::b_noiseEl
TBranch * b_noiseEl
strip noise (e-)
Definition: SVDLocalCalibrationsMonitorModule.h:96
Belle2::SVDLocalCalibrationsMonitorModule::m_side
int m_side
sensor side
Definition: SVDLocalCalibrationsMonitorModule.h:118
Belle2::SVDLocalCalibrationsMonitorModule::m_PedestalCal
SVDPedestalCalibrations m_PedestalCal
pedestal payload
Definition: SVDLocalCalibrationsMonitorModule.h:155
Belle2::SVDHistograms::getHistogram
H * getHistogram(const VxdID &vxdID, int view)
get a reference to the histogram for
Definition: SVDHistograms.h:68
Belle2::SVDLocalCalibrationsMonitorModule::m_occupancyAVE
float m_occupancyAVE
sensor occupancy average
Definition: SVDLocalCalibrationsMonitorModule.h:127
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Noise
SVDHistograms< TH2F > * m_h2Noise
noise (ADC) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:166
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakTime
float m_calPeakTime
strip peak time
Definition: SVDLocalCalibrationsMonitorModule.h:140
Belle2::SVDNoiseCalibrations::isValid
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Definition: SVDNoiseCalibrations.h:82
Belle2::SVDLocalCalibrationsMonitorModule::m_hHotstrips
SVDHistograms< TH1F > * m_hHotstrips
hot strips histo
Definition: SVDLocalCalibrationsMonitorModule.h:195
Belle2::SVDFADCMaskedStrips::isValid
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Definition: SVDFADCMaskedStrips.h:84
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Hotstrips
SVDHistograms< TH2F > * m_h2Hotstrips
hotstrips VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:196
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakTimeRMS
float m_calPeakTimeRMS
sensor peak time rms
Definition: SVDLocalCalibrationsMonitorModule.h:142
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakTimeAVE
float m_calPeakTimeAVE
sensor peak time average
Definition: SVDLocalCalibrationsMonitorModule.h:141
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Gain
SVDHistograms< TH2F > * m_h2Gain
gain (e-/ADC) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:176
Belle2::SVDLocalCalibrationsMonitorModule::m_hotstripsAVE
float m_hotstripsAVE
sensor hotstrips average
Definition: SVDLocalCalibrationsMonitorModule.h:123
Belle2::SVDLocalCalibrationsMonitorModule::b_sensor
TBranch * b_sensor
sensor number
Definition: SVDLocalCalibrationsMonitorModule.h:81
Belle2::SVDLocalCalibrationsMonitorModule::b_noiseRMS
TBranch * b_noiseRMS
sensor noise rms (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:98
Belle2::SVDLocalCalibrationsMonitorModule::b_layer
TBranch * b_layer
layer number
Definition: SVDLocalCalibrationsMonitorModule.h:80
Belle2::VXD::GeoCache::getLadders
const std::set< Belle2::VxdID > & getLadders(Belle2::VxdID layer) const
Return a set of all ladder IDs belonging to a given layer.
Definition: GeoCache.cc:194
Belle2::SVDLocalCalibrationsMonitorModule::m_hCalPeakTime
SVDHistograms< TH1F > * m_hCalPeakTime
calPeakTime (ns) histo
Definition: SVDLocalCalibrationsMonitorModule.h:179
Belle2::SVDLocalCalibrationsMonitorModule::m_hNoise
SVDHistograms< TH1F > * m_hNoise
noise (ADC) histo
Definition: SVDLocalCalibrationsMonitorModule.h:165
Belle2::SVDLocalCalibrationsMonitorModule::b_occupancyAVE
TBranch * b_occupancyAVE
sensor occupancy average (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:99
Belle2::SVDLocalCalibrationsMonitorModule::b_gainAVE
TBranch * b_gainAVE
sensor gain average
Definition: SVDLocalCalibrationsMonitorModule.h:93
Belle2::SVDLocalCalibrationsMonitorModule::m_calPeakADCAVE
float m_calPeakADCAVE
sensor peak time average
Definition: SVDLocalCalibrationsMonitorModule.h:138
Belle2::SVDNoiseCalibrations::getNoiseInElectrons
float getNoiseInElectrons(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This method provides the correct noise conversion into electrons, taking into account that the noise ...
Definition: SVDNoiseCalibrations.h:97
Belle2::SVDLocalCalibrationsMonitorModule::hm_hot_strips
SVDHistograms< TH1F > * hm_hot_strips
hot strips per sensor
Definition: SVDLocalCalibrationsMonitorModule.h:197
Belle2::SVDLocalCalibrationsMonitorModule::b_pedestalAVE
TBranch * b_pedestalAVE
average sensor pedestal
Definition: SVDLocalCalibrationsMonitorModule.h:90
Belle2::SVDLocalCalibrationsMonitorModule::b_noise
TBranch * b_noise
strip noise (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:95
Belle2::SVDLocalCalibrationsMonitorModule::b_pulseWidthAVE
TBranch * b_pulseWidthAVE
sensor pulse width average
Definition: SVDLocalCalibrationsMonitorModule.h:108
Belle2::SVDLocalCalibrationsMonitorModule::m_gain
float m_gain
strip gain
Definition: SVDLocalCalibrationsMonitorModule.h:134
Belle2::SVDLocalCalibrationsMonitorModule::b_noiseAVE
TBranch * b_noiseAVE
sensor noise average (ADC)
Definition: SVDLocalCalibrationsMonitorModule.h:97
Belle2::SVDLocalCalibrationsMonitorModule::m_h2Pedestal
SVDHistograms< TH2F > * m_h2Pedestal
pedestal (ADC) VS strip 2D histo
Definition: SVDLocalCalibrationsMonitorModule.h:172