DataFormats
TrackerRecHit2D
src
SiPixelRecHitQuality.cc
Go to the documentation of this file.
1
#include "
DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h
"
2
3
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
4
5
SiPixelRecHitQuality::Packing::Packing
() {
6
// Constructor: pre-computes masks and shifts from field widths
7
// X is now XY
8
// Y is now Q
9
probX_width
= 14;
10
probY_width
= 8;
11
qBin_width
= 3;
12
edge_width
= 1;
13
bad_width
= 1;
14
twoROC_width
= 1;
15
hasFilledProb_width
= 1;
16
spare_width
= 3;
17
18
if
(
probX_width
+
probY_width
+
qBin_width
+
edge_width
+
bad_width
+
twoROC_width
+
hasFilledProb_width
+
19
spare_width
!=
20
32) {
21
throw
cms::Exception
(
"SiPixelRecHitQuality::Packing: "
)
22
<<
"\nERROR: The allocated bits for the quality word to not sum to 32."
23
<<
"\n\n"
;
24
}
25
26
probX_units
= 1.0018;
27
probY_units
= 1.0461;
28
probX_1_over_log_units
= 1.0 /
log
(
probX_units
);
29
probY_1_over_log_units
= 1.0 /
log
(
probY_units
);
30
31
// Fields are counted from right to left!
32
probX_shift
= 0;
33
probY_shift
=
probX_shift
+
probX_width
;
34
qBin_shift
=
probY_shift
+
probY_width
;
35
edge_shift
=
qBin_shift
+
qBin_width
;
36
bad_shift
=
edge_shift
+
edge_width
;
37
twoROC_shift
=
bad_shift
+
bad_width
;
38
hasFilledProb_shift
=
twoROC_shift
+
twoROC_width
;
39
40
// Ensure the complement of the correct
41
// number of bits:
42
QualWordType
zero32 = 0;
// 32-bit wide set of 0's
43
44
probX_mask
= ~(~zero32 <<
probX_width
);
45
probY_mask
= ~(~zero32 <<
probY_width
);
46
qBin_mask
= ~(~zero32 <<
qBin_width
);
47
edge_mask
= ~(~zero32 <<
edge_width
);
48
bad_mask
= ~(~zero32 <<
bad_width
);
49
twoROC_mask
= ~(~zero32 <<
twoROC_width
);
50
hasFilledProb_mask
= ~(~zero32 <<
hasFilledProb_width
);
51
}
52
53
// Initialize the packing format singleton
54
const
SiPixelRecHitQuality::Packing
SiPixelRecHitQuality::thePacking
;
SiPixelRecHitQuality::Packing::probX_1_over_log_units
double probX_1_over_log_units
Definition:
SiPixelRecHitQuality.h:22
SiPixelRecHitQuality.h
SiPixelRecHitQuality::Packing
Definition:
SiPixelRecHitQuality.h:13
MessageLogger.h
SiPixelRecHitQuality::Packing::probY_mask
QualWordType probY_mask
Definition:
SiPixelRecHitQuality.h:25
SiPixelRecHitQuality::Packing::probY_width
char probY_width
Definition:
SiPixelRecHitQuality.h:29
SiPixelRecHitQuality::Packing::qBin_mask
QualWordType qBin_mask
Definition:
SiPixelRecHitQuality.h:31
SiPixelRecHitQuality::Packing::probY_units
float probY_units
Definition:
SiPixelRecHitQuality.h:27
SiPixelRecHitQuality::Packing::edge_shift
int edge_shift
Definition:
SiPixelRecHitQuality.h:36
SiPixelRecHitQuality::Packing::probY_1_over_log_units
double probY_1_over_log_units
Definition:
SiPixelRecHitQuality.h:28
SiPixelRecHitQuality::Packing::probX_width
char probX_width
Definition:
SiPixelRecHitQuality.h:23
SiPixelRecHitQuality::Packing::bad_mask
QualWordType bad_mask
Definition:
SiPixelRecHitQuality.h:39
SiPixelRecHitQuality::Packing::probX_mask
QualWordType probX_mask
Definition:
SiPixelRecHitQuality.h:19
SiPixelRecHitQuality::Packing::qBin_shift
int qBin_shift
Definition:
SiPixelRecHitQuality.h:32
SiPixelRecHitQuality::thePacking
static const Packing thePacking
Definition:
SiPixelRecHitQuality.h:166
SiPixelRecHitQuality::QualWordType
unsigned int QualWordType
Definition:
SiPixelRecHitQuality.h:10
SiPixelRecHitQuality::Packing::twoROC_shift
int twoROC_shift
Definition:
SiPixelRecHitQuality.h:44
SiPixelRecHitQuality::Packing::probX_shift
int probX_shift
Definition:
SiPixelRecHitQuality.h:20
SiPixelRecHitQuality::Packing::spare_width
char spare_width
Definition:
SiPixelRecHitQuality.h:51
SiPixelRecHitQuality::Packing::edge_mask
QualWordType edge_mask
Definition:
SiPixelRecHitQuality.h:35
SiPixelRecHitQuality::Packing::bad_shift
int bad_shift
Definition:
SiPixelRecHitQuality.h:40
SiPixelRecHitQuality::Packing::bad_width
char bad_width
Definition:
SiPixelRecHitQuality.h:41
SiPixelRecHitQuality::Packing::edge_width
char edge_width
Definition:
SiPixelRecHitQuality.h:37
Exception
Definition:
hltDiff.cc:246
SiPixelRecHitQuality::Packing::twoROC_width
char twoROC_width
Definition:
SiPixelRecHitQuality.h:45
dqm-mbProfile.log
log
Definition:
dqm-mbProfile.py:17
SiPixelRecHitQuality::Packing::probY_shift
int probY_shift
Definition:
SiPixelRecHitQuality.h:26
SiPixelRecHitQuality::Packing::hasFilledProb_width
char hasFilledProb_width
Definition:
SiPixelRecHitQuality.h:49
SiPixelRecHitQuality::Packing::probX_units
float probX_units
Definition:
SiPixelRecHitQuality.h:21
SiPixelRecHitQuality::Packing::hasFilledProb_mask
QualWordType hasFilledProb_mask
Definition:
SiPixelRecHitQuality.h:47
SiPixelRecHitQuality::Packing::Packing
Packing()
Definition:
SiPixelRecHitQuality.cc:5
SiPixelRecHitQuality::Packing::hasFilledProb_shift
int hasFilledProb_shift
Definition:
SiPixelRecHitQuality.h:48
SiPixelRecHitQuality::Packing::twoROC_mask
QualWordType twoROC_mask
Definition:
SiPixelRecHitQuality.h:43
SiPixelRecHitQuality::Packing::qBin_width
char qBin_width
Definition:
SiPixelRecHitQuality.h:33
Generated for CMSSW Reference Manual by
1.8.16