Belle II Software development
|
Namespace to encapsulate code needed for simulation and reconstrucion of the PXD. More...
Classes | |
class | ActivatePXDClusterPositionEstimatorModule |
The ActivatePXDClusterPositionEstimator module. More... | |
class | ActivatePXDGainCalibratorModule |
The ActivatePXDGainCalibrator module. More... | |
class | ActivatePXDPixelMaskerModule |
The ActivatePXDPixelMasker module. More... | |
struct | Cluster_t |
Struct to hold variables for PXD clusters. More... | |
class | ClusterCache |
Class to remember recently assigned clusters This class will remember the current and the last pixel row to allow fast finding of the correct cluster a pixel belongs to. More... | |
class | ClusterCandidate |
Class representing a possible cluster during clustering of the PXD It supports merging of different clusters and keeps track of the highest charge inside the cluster. More... | |
class | ClusterProjection |
Helper struct to collect information about the 1D projection of a Pixel cluster. More... | |
struct | dhc_commode_frame |
DHH common mode frame data struct. More... | |
struct | dhc_dhe_end_frame |
DHE End frame data struct. More... | |
struct | dhc_dhe_start_frame |
DHH start frame data struct. More... | |
struct | dhc_direct_readout_frame |
DHC direct readout frame data struct. More... | |
struct | dhc_direct_readout_frame_raw |
DHC RAW direct readout frame data struct. More... | |
struct | dhc_direct_readout_frame_zsd |
DHC Zero supressed direct readout frame data struct. More... | |
struct | dhc_end_frame |
DHC End frame data struct. More... | |
struct | dhc_frame_header_word0 |
DHC frame header word data struct. More... | |
class | dhc_frames |
DHC frame wrapper class. More... | |
struct | dhc_ghost_frame |
DHC Ghost frame data struct. More... | |
struct | dhc_onsen_roi_frame |
ONSEN (debug) ROI frame data struct. More... | |
struct | dhc_onsen_trigger_frame |
ONSEN Trigger frame data struct. More... | |
struct | dhc_start_frame |
DHC start frame data struct. More... | |
class | Digit |
Class to represent the coordinates of one pixel. More... | |
class | DigitValue |
Class representing the charge and particle contributions for one pixel. More... | |
class | GeoPXDCreator |
The creator for the PXD geometry of the Belle II detector. More... | |
class | NoiseMap |
Base Class to represent pixel dependent Noise Map. More... | |
class | Pixel |
Class to represent one pixel, used in clustering for fast access. More... | |
class | PXDBackgroundModule |
PXD Background module. More... | |
class | PXDBadSensorTagModule |
The PXD bad sensor tagger module. More... | |
class | PXDBeamBackHitFilterModule |
The PXDBeamBackHitFilter module. More... | |
class | PXDBgTupleProducerModule |
PXD Background Tuple Producer. More... | |
class | PXDClusterCheckModule |
The PXDClusterCheck module. More... | |
class | PXDClusterizerModule |
The PXDClusterizer module. More... | |
class | PXDClusterPositionEstimator |
Singleton class that estimates cluster positions taking into account the estimated track incidence angles into the sensor. More... | |
class | PXDClusterShape |
Class to correct estimation of cluster error and position base on its shape. More... | |
class | PXDDAQDQMModule |
The PXD DAQ DQM module. More... | |
class | PXDDigitizerModule |
The PXD Digitizer module. More... | |
class | PXDDigitSorterModule |
The PXDDigitSorter module. More... | |
class | PXDEventPlotModule |
Plot each event with ROI and Pixels. More... | |
class | PXDGainCalibrator |
Singleton class for managing gain corrections for the PXD. More... | |
class | PXDGatedDHCDQMModule |
The PXD Gatint after Injection DQM module. More... | |
class | PXDGatedInfoFillerModule |
PXD Gates Mode infromation on readout gate basis. More... | |
class | PXDGatedModeDQMModule |
The PXD for GatedMode DQM module. More... | |
class | PXDInjectionDQMModule |
The PXD Occupancy after Injection DQM module. More... | |
class | PXDMappingLookup |
Class to make the mapping between u/v cell ID of pixels back to DCD drain lines, pixel row/col, DCD and Switcher IDs Details: Belle Note: BELLE2-NOTE-TE-2015-01 "The vertex detector numbering scheme" https://docs.belle2.org/record/243/files/Belle%20II%20note%200010.pdf PXD WhiteBook 3.1.3 Sensor Design and Appendix #3 https://xwiki.desy.de/xwiki/bin/download/BI/Belle%20II%20Internal/Detector%20WebHome/PXD%20WebHome/WebHome/PXDwb.pdf?rev=2.1. More... | |
class | PXDMCBgTupleProducerModule |
PXD MC Background Tuple Producer. More... | |
class | PXDPackerErrModule |
The PXDPackerErr module. More... | |
class | PXDPackerModule |
The PXDPacker module. More... | |
class | PXDPixelMasker |
Singleton class for managing pixel masking for the PXD. More... | |
class | PXDPostErrorCheckerModule |
The PXD DAQ Post Unpacking Error Check. More... | |
class | PXDRawDQMChipsModule |
The raw PXD DQM module. More... | |
class | PXDRawDQMModule |
The raw PXD DQM module. More... | |
class | PXDRawDumperModule |
Dump Raw PXD/ ONSEN event data. More... | |
class | PXDRawHitMaskingModule |
The PXDRawHitMasking module. More... | |
class | PXDRawHitSorterModule |
The PXDRawHitSorter module. More... | |
class | PXDReadRawBonnDAQMatchedModule |
Module to Load BonnDAQ file and store it as RawPXD in Data Store This is meant for lab use (standalone testing, debugging) without an event builder. More... | |
class | PXDReadRawBonnDAQModule |
Module to Load Raw PXD Data from DHH network-dump file and store it as RawPXD in Data Store This is meant for lab use (standalone testing, debugging) without an event builder. More... | |
class | PXDReadRawONSENModule |
A class definition of an input module for Sequential ROOT I/O. More... | |
class | PXDROIDQMModule |
The raw PXD DQM module. More... | |
class | PXDROIPlotModule |
Plot each event with ROI and Pixels. More... | |
class | PXDUnpackerModule |
The PXDUnpacker module. More... | |
class | PXDUnpackerOldModule |
The PXDUnpacker module. More... | |
class | PXDUnpackerOTModule |
The PXDUnpackerOT module. More... | |
class | SensorInfo |
Specific implementation of SensorInfo for PXD Sensors which provides additional pixel specific information. More... | |
struct | TrackBase_t |
Struct to hold variables from a track which contains a vector of data type like TrackCluster. More... | |
struct | TrackCluster_t |
Struct to hold variables for track clusters. More... | |
struct | TrackPoint_t |
Struct to hold variables for intersection points. More... | |
Typedefs | |
typedef std::map< Digit, DigitValue > | Sensor |
Map of all hits in one Sensor. | |
typedef std::map< VxdID, Sensor > | Sensors |
Map of all hits in all Sensors. | |
typedef std::map< pxdClusterShapeType, std::string > | pxdClusterShapeDescr |
Type specifies cluster shape type description. | |
typedef VXD::SensitiveDetector< PXDSimHit, PXDTrueHit > | SensitiveDetector |
The PXD Sensitive Detector class. | |
using | ulittle16_t = boost::endian::little_uint16_t |
define alias ulittle16_t | |
using | ulittle32_t = boost::endian::little_uint32_t |
define alias ulittle32_t | |
using | ubig16_t = boost::endian::big_uint16_t |
define alias ubig16_t | |
using | ubig32_t = boost::endian::big_uint32_t |
define alias ubig32_t | |
typedef boost::crc_optimal< 32, 0x04C11DB7, 0, 0, false, false > | dhc_crc_32_type |
define our CRC function | |
typedef TrackBase_t< TrackCluster_t > | Track_t |
Typedef TrackBase_t<TrackCluster_t> Track_t. | |
typedef genfit::MeasuredStateOnPlane | TrackState |
Typedef TrackState (genfit::MeasuredStateOnPlane) | |
Enumerations | |
enum class | pxdClusterShapeType { no_shape_set = 0 , shape_1 , shape_2_u , shape_2_v , shape_2_uv_diag , shape_2_uv_antidiag , shape_N1 , shape_1M , shape_N2 , shape_2M , shape_4 , shape_3_L , shape_3_L_mirr_u , shape_3_L_mirr_v , shape_3_L_mirr_uv , shape_large } |
Type specifies cluster shape type. More... | |
enum | EDHPFrameHeaderDataType { c_RAW = 0x0 , c_ZSD = 0x5 } |
Enums for DHP data modes in the DHP header. More... | |
enum | EDHCFrameHeaderDataType { c_DHP_RAW = 0x0 , c_DHP_ZSD = 0x5 , c_FCE_RAW = 0x1 , c_COMMODE = 0x6 , c_GHOST = 0x2 , c_DHE_START = 0x3 , c_DHE_END = 0x4 , c_DHC_START = 0xB , c_DHC_END = 0xC , c_ONSEN_DHP = 0xD , c_ONSEN_FCE = 0x9 , c_ONSEN_ROI = 0xF , c_ONSEN_TRG = 0xE , c_UNUSED_7 = 0x7 , c_UNUSED_8 = 0x8 , c_UNUSED_A = 0xA } |
Enums for DHC data frame types. More... | |
enum | EDHEStateMachineError { c_DHESM_NO_ERROR = 0x0 , c_DHESM_MISS_DHP_FRM = 0x1 , c_DHESM_TIMEOUT = 0x2 , c_DHESM_DHP_LINKDOWN = 0x3 , c_DHESM_DHP_MASKED = 0x4 , c_DHESM_EVTNR_MM = 0x5 , c_DHESM_DHP_SIZE_OVERFLOW = 0x6 } |
Enums for DHE DHP StateMachine Error States. More... | |
Functions | |
void | getNumberOfBins (const std::shared_ptr< TH1I > &histo_ptr, unsigned short &nBinsU, unsigned short &nBinsV) |
Helper function to extract number of bins along u side and v side from counter histogram labels. | |
unsigned short | getNumberOfSensors (const std::shared_ptr< TH1I > &histo_ptr) |
Helper function to extract number of sensors from counter histogram labels. | |
double | CalculateMedian (std::vector< double > &signals) |
Helper function to calculate a median from unsorted signal vector. | |
double | CalculateMedian (TH1 *hist) |
Helper function to calculate a median from 1D histogram. | |
double | FitLandau (TH1 *hist) |
Helper function to estimate MPV from 1D histogram. | |
double | FitLandau (std::vector< double > &signals) |
Helper function to calculate MPV from a vector. | |
TEST (ClusterCache, FindNeighbours) | |
Check that we cluster to hits next to each other but not if one is in between. | |
TEST (ClusterCache, Merging) | |
Test that clusters get merged if they are found to have a common pixel. | |
TEST (ClusterCache, Empty) | |
Check if the cluster cache is empty. | |
TEST (ClusterCache, OutOfRange) | |
Check that out_of_range exceptions are raised if the pixel is out of range. | |
double | xiBeta2_L (const int Z=Z_Si, const double A=A_Si, const double rho=rho_Si, const int z=1) |
xi = (K/2)*(Z/A)*z*z*(rho*L)/beta2 in MeV | |
double | hbarWp (const int Z=Z_Si, const double A=A_Si, const double rho=rho_Si) |
hbarWp = sqrt(rho*Z/A)*28.816 in eV | |
double | getDeltaP (const double mom, const double length, const double mass=Const::electronMass) |
helper function to estimate the most probable energy loss for a given track length. | |
unsigned short | getPXDModuleID (const VxdID &sensorID) |
Helper function to get DHE id like module id from VxdID. | |
VxdID | getVxdIDFromPXDModuleID (const unsigned short &id) |
Helper function to get VxdID from DHE id like module iid. | |
std::shared_ptr< TrackState > | getTrackStateOnModule (const VXD::SensorInfoBase &pxdSensorInfo, RecoTrack &recoTrack, double lambda=0.0) |
Helper function to get a track state on a module. | |
bool | isCloseToBorder (int u, int v, int checkDistance) |
Helper function to check if a pixel is close to the border. | |
bool | isDefectivePixelClose (int u, int v, int checkDistance, const VxdID &moduleID) |
Helper function to check if a defective (hot/dead) pixel is close. | |
bool | isClusterAtUEdge (VxdID id, unsigned int umin, unsigned int umax) |
Helper function to check if one of the end pixels are at the edge of the sensor. | |
bool | isClusterAtVEdge (VxdID id, unsigned int vmin, unsigned int vmax) |
Helper function to check if one of the end pixels are at the edge of the sensor. | |
bool | isClusterAtLadderJoint (VxdID id, unsigned int vmin, unsigned int vmax) |
Helper function to check if one of the end pixels are at the ladder joint. | |
unsigned short | getBinU (VxdID id, unsigned int uid, unsigned int vid, unsigned short nBinsU) |
Function to return a bin number for equal sized binning in U. | |
unsigned short | getBinV (VxdID id, unsigned int vid, unsigned short nBinsV) |
Function to return a bin number for equal sized binning in V. | |
Variables | |
geometry::CreatorFactory< GeoPXDCreator > | GeoPXDFactory ("PXDCreator") |
Register the creator. | |
const int | Z_Si = 14 |
Const and Const expressions Only valid when g_mol is the default unit. | |
const double | A_Si = 28.085 |
Atomic mass of silicon in g mol^-1. | |
const double | rho_Si = 2.3290 * Unit::g_cm3 |
Silicon density in g cm^-3. | |
Namespace to encapsulate code needed for simulation and reconstrucion of the PXD.
typedef boost::crc_optimal<32, 0x04C11DB7, 0, 0, false, false> dhc_crc_32_type |
define our CRC function
Definition at line 29 of file PXDRawDataStructs.cc.
typedef std::map<pxdClusterShapeType, std::string> pxdClusterShapeDescr |
Type specifies cluster shape type description.
Definition at line 43 of file PXDClusterShape.h.
The PXD Sensitive Detector class.
Definition at line 23 of file SensitiveDetector.h.
typedef std::map<Digit, DigitValue> Sensor |
Map of all hits in one Sensor.
Definition at line 82 of file PXDDigitizerModule.h.
Map of all hits in all Sensors.
Definition at line 84 of file PXDDigitizerModule.h.
typedef TrackBase_t<TrackCluster_t> Track_t |
Typedef TrackBase_t<TrackCluster_t> Track_t.
Definition at line 150 of file PXDPerformanceStructs.h.
typedef genfit::MeasuredStateOnPlane TrackState |
Typedef TrackState (genfit::MeasuredStateOnPlane)
Definition at line 92 of file PXDUtilities.h.
typedef boost::endian::big_uint16_t ubig16_t |
define alias ubig16_t
Definition at line 33 of file PXDRawDataStructs.h.
typedef boost::endian::big_uint32_t ubig32_t |
define alias ubig32_t
Definition at line 35 of file PXDRawDataStructs.h.
using ulittle16_t = boost::endian::little_uint16_t |
define alias ulittle16_t
Definition at line 29 of file PXDRawDataStructs.h.
using ulittle32_t = boost::endian::little_uint32_t |
define alias ulittle32_t
Definition at line 31 of file PXDRawDataStructs.h.
Enums for DHC data frame types.
4 bits value; found in the first header word of each frame. See Data format definitions [BELLE2-NOTE-TE-2016-009] on https://docs.belle2.org/
Definition at line 28 of file PXDRawDataDefinitions.h.
Enums for DHE DHP StateMachine Error States.
4 bits value; Currently the same definitions as the ones encoded in ghost frame (new! but 3 bit only) See Data format definitions [BELLE2-NOTE-TE-2016-009] on https://docs.belle2.org/
Definition at line 56 of file PXDRawDataDefinitions.h.
Enums for DHP data modes in the DHP header.
DHP modes have the same value as for the DHC/DHE frame See Data format definitions [BELLE2-NOTE-TE-2016-009] on https://docs.belle2.org/
Definition at line 22 of file PXDRawDataDefinitions.h.
|
strong |
Type specifies cluster shape type.
Definition at line 21 of file PXDClusterShape.h.
double CalculateMedian | ( | std::vector< double > & | signals | ) |
Helper function to calculate a median from unsorted signal vector.
The input vector gets sorted.
Definition at line 88 of file PXDCalibrationUtilities.cc.
double CalculateMedian | ( | TH1 * | hist | ) |
Helper function to calculate a median from 1D histogram.
Definition at line 116 of file PXDCalibrationUtilities.cc.
double FitLandau | ( | std::vector< double > & | signals | ) |
Helper function to calculate MPV from a vector.
The input vector gets sorted.
Definition at line 157 of file PXDCalibrationUtilities.cc.
double FitLandau | ( | TH1 * | hist | ) |
Helper function to estimate MPV from 1D histogram.
Definition at line 125 of file PXDCalibrationUtilities.cc.
|
inline |
Function to return a bin number for equal sized binning in U.
id | VxdID of the sensor |
uid | uID of the pixel |
vid | vID of the pixel |
nBinsU | number of bins in U within a sensor |
Definition at line 161 of file PXDUtilities.h.
|
inline |
Function to return a bin number for equal sized binning in V.
id | VxdID of the sensor |
vid | vID of the pixel |
nBinsV | number of bins in V within a sensor |
Definition at line 171 of file PXDUtilities.h.
|
inline |
helper function to estimate the most probable energy loss for a given track length.
mom | Magnitude of the momentum |
length | Track path length |
mass | Mass of the incident particle, using e- as default |
Definition at line 68 of file PXDUtilities.h.
void getNumberOfBins | ( | const std::shared_ptr< TH1I > & | histo_ptr, |
unsigned short & | nBinsU, | ||
unsigned short & | nBinsV | ||
) |
Helper function to extract number of bins along u side and v side from counter histogram labels.
Definition at line 35 of file PXDCalibrationUtilities.cc.
unsigned short getNumberOfSensors | ( | const std::shared_ptr< TH1I > & | histo_ptr | ) |
Helper function to extract number of sensors from counter histogram labels.
Definition at line 68 of file PXDCalibrationUtilities.cc.
|
inline |
Helper function to get DHE id like module id from VxdID.
Definition at line 78 of file PXDUtilities.h.
std::shared_ptr< TrackState > getTrackStateOnModule | ( | const VXD::SensorInfoBase & | pxdSensorInfo, |
RecoTrack & | recoTrack, | ||
double | lambda = 0.0 |
||
) |
Helper function to get a track state on a module.
pxdSensorInfo | of the PXD module intersecting with the track. |
recoTrack | the recoTrack to be extrapolated. |
lambda | the extrapolation length from track POCA. |
Definition at line 21 of file PXDUtilities.cc.
|
inline |
Helper function to get VxdID from DHE id like module iid.
Definition at line 86 of file PXDUtilities.h.
hbarWp = sqrt(rho*Z/A)*28.816 in eV
Z | Atomic number of absorber |
A | Atomic mass of absorber in g*mol^{-1} |
rho | Density of the absorber in g*cm^{-3} |
Definition at line 55 of file PXDUtilities.h.
bool isCloseToBorder | ( | int | u, |
int | v, | ||
int | checkDistance | ||
) |
Helper function to check if a pixel is close to the border.
u | uID of the pixel of interest |
v | vID of the pixel of interest |
checkDistance | the distance along u/v |
Definition at line 51 of file PXDUtilities.cc.
|
inline |
Helper function to check if one of the end pixels are at the ladder joint.
id | VxdID of the sensor |
vmin | minimum vID within the cluster |
vmax | maximum vID within the cluster |
Definition at line 148 of file PXDUtilities.h.
|
inline |
Helper function to check if one of the end pixels are at the edge of the sensor.
id | VxdID of the sensor |
umin | minimum uID within the cluster |
umax | maximum uID within the cluster |
Definition at line 125 of file PXDUtilities.h.
|
inline |
Helper function to check if one of the end pixels are at the edge of the sensor.
id | VxdID of the sensor |
vmin | minimum vID within the cluster |
vmax | maximum vID within the cluster |
Definition at line 136 of file PXDUtilities.h.
bool isDefectivePixelClose | ( | int | u, |
int | v, | ||
int | checkDistance, | ||
const VxdID & | moduleID | ||
) |
Helper function to check if a defective (hot/dead) pixel is close.
u | uID of the pixel of interest |
v | vID of the pixel of interest |
checkDistance | the distance along u/v |
moduleID | VxdID of the module |
Definition at line 61 of file PXDUtilities.cc.
TEST | ( | ClusterCache | , |
Empty | |||
) |
Check if the cluster cache is empty.
Definition at line 149 of file ClusterCache.cc.
TEST | ( | ClusterCache | , |
FindNeighbours | |||
) |
Check that we cluster to hits next to each other but not if one is in between.
So we set a cluster at position (2,0) marked c and the findCluster should return this cluster for all positions marked 1. All other pixels should return NULL. We do not check (0,0) and (1,0) or a row above C since the cluster cache is meant to be used with ordered data so these should already be done once we set (2,0).
* u 0 1 2 3 4 5 6 7 8 9 → * v┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ * 0│ │ │C│1│0│ │ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 1│0│1│1│1│0│ │ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 3│0│0│0│0│0│ │ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 4│ │ │ │ │ │ │ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * ↓│ │ │ │ │ │ │ │ │ │ │ │ * └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ *
Definition at line 45 of file ClusterCache.cc.
TEST | ( | ClusterCache | , |
Merging | |||
) |
Test that clusters get merged if they are found to have a common pixel.
If we have to clusters called 1 and 2 like shown below and we add a pixel at X than all occurences of 1 and 2 should be merged to one of those two. It does not matter who is merged to whom but after adding X the result must be
* u 0 1 2 3 4 5 6 7 8 9 → * v┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ * 0│ │ │1│ │2│ │3│ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 1│4│ │ │X│ │ │5│ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 2│ │6│Y│ │7│Z│ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * 3│ │ │ │ │ │ │ │ │ │ │ │ * ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ * ↓│ │ │ │ │ │ │ │ │ │ │ │ * └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ *
Definition at line 90 of file ClusterCache.cc.
TEST | ( | ClusterCache | , |
OutOfRange | |||
) |
Check that out_of_range exceptions are raised if the pixel is out of range.
Definition at line 158 of file ClusterCache.cc.
|
inline |
xi = (K/2)*(Z/A)*z*z*(rho*L)/beta2 in MeV
Z | Atomic number of absorber |
A | Atomic mass of absorber in g*mol^{-1} |
rho | Density of the absorber in g*cm^{-3} |
z | Charge number of incident particle |
Definition at line 40 of file PXDUtilities.h.
const double A_Si = 28.085 |
Atomic mass of silicon in g mol^-1.
Definition at line 30 of file PXDUtilities.h.
const double rho_Si = 2.3290 * Unit::g_cm3 |
Silicon density in g cm^-3.
Definition at line 31 of file PXDUtilities.h.
const int Z_Si = 14 |
Const and Const expressions Only valid when g_mol is the default unit.
Atomic number of silicon
Definition at line 29 of file PXDUtilities.h.