Belle II Software development
PXDHotPixelMaskCalibrationAlgorithm.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10#include <calibration/CalibrationAlgorithm.h>
11#include <vxd/dataobjects/VxdID.h>
12#include <map>
13
14namespace Belle2 {
23 public:
24
27
30
33
36
39
42
45
48
51
54
57
60
62 void setDebugHisto(bool debugHisto) {m_debugHisto = debugHisto;}
63
64 protected:
65
67 virtual EResult calibrate() override;
68
69 private:
71 const unsigned short c_nVCells = 768;
73 const unsigned short c_nUCells = 250;
75 const unsigned short c_nDrains = 1000;
76
78 int m_debugHisto = false;
79
81 std::map<VxdID, double> m_medianOfHitsMap;
82
84 std::shared_ptr<TFile> m_file;
85
88
89 };
91} // namespace Belle2
92
93
Base class for calibration algorithms.
EResult
The result of calibration.
Class implementing PXD hot pixel masking calibration algorithm.
float inefficientPixelMultiplier
The occupancy threshold for inefficient (or dead) pixels is the median occupancy x inefficientPixelMu...
bool maskRows
Mask hot rows with too high average occupancy after single pixel masking.
void setDebugHisto(bool debugHisto)
setter for m_debugHisto
std::map< VxdID, double > m_medianOfHitsMap
map of VxdID to median hits of each sensor
float drainMultiplier
The occupancy threshold for masking hot drains is the median occupancy x drainMultiplier.
int minInefficientPixels
The minimum number of inefficient (or dead) pixels per row to define an inefficient row.
const unsigned short c_nDrains
Number of drain lines of Belle II PXD sensors.
bool maskDrains
Mask hot drain lines with too high average occupancy after single pixel masking.
const unsigned short c_nVCells
Number of vCells of Belle II PXD sensors.
int m_debugHisto
Set if a debugging histogram should be created in the algorithm output directory.
float pixelMultiplier
The occupancy threshold for masking hot single pixels is the median occupancy x pixelMultiplier.
const unsigned short c_nUCells
Number of uCells of Belle II PXD sensors.
std::shared_ptr< TFile > m_file
Pointer for TFile.
PXDHotPixelMaskCalibrationAlgorithm()
Constructor set the prefix to PXDHotPixelMaskCalibrationAlgorithm.
float rowMultiplier
The occupancy threshold for masking hot rows is the median occupancy x rowMultiplier.
virtual EResult calibrate() override
Run algo on data.
bool forceContinueMasking
Force continue masking in almost empty runs instead of returning c_NotEnoughData.
int minHits
Minimum median number of hits per pixel needed for dead pixel masking.
std::string deadPixelPayloadName
Payload name for PXDDeadPixelPar used for more defective pixels from damaged gates.
void createDebugHistogram()
Perform debug histogram file creation.
Abstract base class for different kinds of events.