Belle II Software  release-05-02-19
PXDHotPixelMaskCalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <calibration/CalibrationAlgorithm.h>
13 #include <vxd/dataobjects/VxdID.h>
14 #include <map>
15 
16 namespace Belle2 {
24  class PXDHotPixelMaskCalibrationAlgorithm : public CalibrationAlgorithm {
25  public:
26 
29 
32 
34  int minEvents;
35 
37  int minHits;
38 
40  float pixelMultiplier;
41 
43  bool maskDrains;
44 
46  float drainMultiplier;
47 
49  bool maskRows;
50 
52  float rowMultiplier;
53 
55  void setDebugHisto(bool debugHisto) {m_debugHisto = debugHisto;}
56 
57  protected:
58 
60  virtual EResult calibrate() override;
61 
62  private:
64  const unsigned short c_nVCells = 768;
66  const unsigned short c_nUCells = 250;
68  const unsigned short c_nDrains = 1000;
69 
71  int m_debugHisto = false;
72 
74  std::map<VxdID, double> m_medianOfHitsMap;
75 
77  std::shared_ptr<TFile> m_file;
78 
80  void createDebugHistogram();
81 
82  };
84 } // namespace Belle2
85 
86 
Belle2::PXDHotPixelMaskCalibrationAlgorithm::forceContinueMasking
bool forceContinueMasking
Force continue masking in almost empty runs instead of returning c_NotEnoughData.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:39
Belle2::PXDHotPixelMaskCalibrationAlgorithm::setDebugHisto
void setDebugHisto(bool debugHisto)
setter for m_debugHisto
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:63
Belle2::PXDHotPixelMaskCalibrationAlgorithm::createDebugHistogram
void createDebugHistogram()
Perform debug histogram file creation.
Definition: PXDHotPixelMaskCalibrationAlgorithm.cc:39
Belle2::PXDHotPixelMaskCalibrationAlgorithm::minHits
int minHits
Minimum median number of hits per pixel needed for dead pixel masking.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:45
Belle2::PXDHotPixelMaskCalibrationAlgorithm::drainMultiplier
float drainMultiplier
The occupancy threshold for masking hot drains is the median occupancy x drainMultiplier.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:54
Belle2::PXDHotPixelMaskCalibrationAlgorithm::m_debugHisto
int m_debugHisto
Set if a debugging histogram should be created in the algorithm output directory.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:79
Belle2::PXDHotPixelMaskCalibrationAlgorithm::m_medianOfHitsMap
std::map< VxdID, double > m_medianOfHitsMap
map of VxdID to median hits of each sensor
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:82
Belle2::PXDHotPixelMaskCalibrationAlgorithm::pixelMultiplier
float pixelMultiplier
The occupancy threshold for masking hot single pixels is the median occupancy x pixelMultiplier.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:48
Belle2::PXDHotPixelMaskCalibrationAlgorithm::c_nDrains
const unsigned short c_nDrains
Number of drain lines of Belle II PXD sensors.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:76
Belle2::PXDHotPixelMaskCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: PXDHotPixelMaskCalibrationAlgorithm.cc:93
Belle2::PXDHotPixelMaskCalibrationAlgorithm::minEvents
int minEvents
Minimum number of collected events.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:42
Belle2::PXDHotPixelMaskCalibrationAlgorithm::maskDrains
bool maskDrains
Mask hot drain lines with too high average occupancy after single pixel masking.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:51
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXDHotPixelMaskCalibrationAlgorithm::PXDHotPixelMaskCalibrationAlgorithm
PXDHotPixelMaskCalibrationAlgorithm()
Constructor set the prefix to PXDHotPixelMaskCalibrationAlgorithm.
Definition: PXDHotPixelMaskCalibrationAlgorithm.cc:27
Belle2::PXDHotPixelMaskCalibrationAlgorithm::rowMultiplier
float rowMultiplier
The occupancy threshold for masking hot rows is the median occupancy x rowMultiplier.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:60
Belle2::PXDHotPixelMaskCalibrationAlgorithm::m_file
std::shared_ptr< TFile > m_file
Pointer for TFile.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:85
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::PXDHotPixelMaskCalibrationAlgorithm::c_nUCells
const unsigned short c_nUCells
Number of uCells of Belle II PXD sensors.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:74
Belle2::PXDHotPixelMaskCalibrationAlgorithm::c_nVCells
const unsigned short c_nVCells
Number of vCells of Belle II PXD sensors.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:72
Belle2::PXDHotPixelMaskCalibrationAlgorithm::maskRows
bool maskRows
Mask hot rows with too high average occupancy after single pixel masking.
Definition: PXDHotPixelMaskCalibrationAlgorithm.h:57