Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
RecoLocalCalo
HcalRecAlgos
interface
HcalCaloFlagLabels.h
Go to the documentation of this file.
1
#ifndef GUARD_HCALCALOFLAGLABELS_H
2
#define GUARD_HCALCALOFLAGLABELS_H
3
4
#include "
DataFormats/HcalDetId/interface/HcalSubdetector.h
"
5
#include <string>
6
7
// Create alias names for all status bits
8
// These aliases are valid for only the _current release_
9
// Use the HcalCaloFlagTool (below) for full interpretation
10
namespace
HcalCaloFlagLabels
11
{
12
//subdetector-specific bits defined here (bits 0-15)
13
enum
HBHEStatusFlag
{
HBHEHpdHitMultiplicity
=0,
14
HBHEPulseShape
=1,
15
HSCP_R1R2
=2,
16
HSCP_FracLeader
=3,
17
HSCP_OuterEnergy
=4,
18
HSCP_ExpFit
=5,
19
HBHETimingTrustBits
=6,
// 2-bit counter; not yet in use
20
HBHETimingShapedCutsBits
=8,
// 3-bit counter
21
HBHEIsolatedNoise
=11,
22
HBHEFlatNoise
=12,
23
HBHESpikeNoise
=13,
24
HBHETriangleNoise
=14,
25
HBHETS4TS5Noise
=15
26
};
27
28
enum
HFTimingTrustFlag
{
HFTimingTrustBits
=6};
29
30
enum
HOStatusFlag
{
HOBit
=0};
31
32
enum
HFStatusFlag
{
HFLongShort
=0,
33
HFDigiTime
=1,
34
HFInTimeWindow
=2,
// requires hit be within certain time window
35
HFS8S1Ratio
=3,
36
HFPET
=4
37
};
38
39
40
enum
ZDCStatusFlag
{
ZDCBit
=0};
41
42
enum
CalibrationFlag
{
CalibrationBit
=0};
43
44
// Bit definitions that apply to all subdetectors (bits 16-31)
45
enum
CommonFlag
{
TimingSubtractedBit
=16,
// latency shift correction, recovered
46
TimingAddedBit
=17,
// latency shift correction, recovered
47
TimingErrorBit
=18,
// latency shift error, unrecovered
48
ADCSaturationBit
=19,
49
Fraction2TS
=20,
// should deprecate this at some point
50
PresampleADC
=20,
// uses 7 bits to store ADC from presample
51
// The following bits are all user-defined; reverse-order them so that UserDefinedBit0 will be the last removed
52
UserDefinedBit2
= 29,
53
UserDefinedBit1
= 30,
54
UserDefinedBit0
= 31
55
};
56
57
}
58
62
class
HcalCaloFlagTool
{
63
public
:
64
HcalCaloFlagTool
(
const
std::string& releaseName);
65
std::string
getFieldName
(
HcalSubdetector
sd
,
int
bit)
const
;
66
int
getFieldWidth
(
HcalSubdetector
sd,
int
bit)
const
;
67
int
getFieldStart
(
HcalSubdetector
sd,
const
std::string& field)
const
;
68
int
getFieldWidth
(
HcalSubdetector
sd,
const
std::string& field)
const
;
69
bool
hasField
(
HcalSubdetector
sd,
const
std::string& field)
const
;
70
bool
hasField
(
HcalSubdetector
sd,
int
bit)
const
;
71
private
:
72
std::string
releaseName_
;
73
bool
standardFormat_
;
74
int
major_
,
minor_
,
patch_
,
subpatch_
;
75
};
76
77
#endif
HcalCaloFlagTool::HcalCaloFlagTool
HcalCaloFlagTool(const std::string &releaseName)
Definition:
HcalCaloFlagLabels.cc:5
HcalCaloFlagLabels::HBHETS4TS5Noise
Definition:
HcalCaloFlagLabels.h:25
HcalCaloFlagLabels::CalibrationFlag
CalibrationFlag
Definition:
HcalCaloFlagLabels.h:42
HcalCaloFlagLabels::HOStatusFlag
HOStatusFlag
Definition:
HcalCaloFlagLabels.h:30
HcalCaloFlagLabels::HFInTimeWindow
Definition:
HcalCaloFlagLabels.h:34
HcalCaloFlagLabels::Fraction2TS
Definition:
HcalCaloFlagLabels.h:49
HcalCaloFlagLabels::HBHESpikeNoise
Definition:
HcalCaloFlagLabels.h:23
HcalCaloFlagLabels::UserDefinedBit1
Definition:
HcalCaloFlagLabels.h:53
HcalSubdetector.h
HcalCaloFlagLabels::HFDigiTime
Definition:
HcalCaloFlagLabels.h:33
HcalCaloFlagLabels::HBHEFlatNoise
Definition:
HcalCaloFlagLabels.h:22
HcalCaloFlagLabels::HFS8S1Ratio
Definition:
HcalCaloFlagLabels.h:35
HcalCaloFlagLabels::HSCP_FracLeader
Definition:
HcalCaloFlagLabels.h:16
HcalCaloFlagLabels::HFStatusFlag
HFStatusFlag
Definition:
HcalCaloFlagLabels.h:32
HcalCaloFlagTool
Provides interpretation of flag bits with understanding of CMSSW version dependence.
Definition:
HcalCaloFlagLabels.h:62
HcalCaloFlagLabels::HSCP_ExpFit
Definition:
HcalCaloFlagLabels.h:18
HcalCaloFlagLabels::HBHETimingTrustBits
Definition:
HcalCaloFlagLabels.h:19
HcalCaloFlagTool::subpatch_
int subpatch_
Definition:
HcalCaloFlagLabels.h:74
HcalCaloFlagLabels::UserDefinedBit0
Definition:
HcalCaloFlagLabels.h:54
HcalCaloFlagTool::patch_
int patch_
Definition:
HcalCaloFlagLabels.h:74
HcalCaloFlagTool::getFieldName
std::string getFieldName(HcalSubdetector sd, int bit) const
Definition:
HcalCaloFlagLabels.cc:17
HcalCaloFlagLabels::HBHETriangleNoise
Definition:
HcalCaloFlagLabels.h:24
HFTimingTrustFlag
Definition:
HFTimingTrustFlag.h:15
HcalCaloFlagLabels::TimingAddedBit
Definition:
HcalCaloFlagLabels.h:46
HcalCaloFlagLabels::ZDCStatusFlag
ZDCStatusFlag
Definition:
HcalCaloFlagLabels.h:40
HcalCaloFlagLabels::CommonFlag
CommonFlag
Definition:
HcalCaloFlagLabels.h:45
HcalCaloFlagLabels::ZDCBit
Definition:
HcalCaloFlagLabels.h:40
HcalCaloFlagTool::getFieldStart
int getFieldStart(HcalSubdetector sd, const std::string &field) const
Definition:
HcalCaloFlagLabels.cc:25
HcalCaloFlagLabels::HBHEPulseShape
Definition:
HcalCaloFlagLabels.h:14
HcalCaloFlagLabels::PresampleADC
Definition:
HcalCaloFlagLabels.h:50
HcalCaloFlagLabels::HBHEIsolatedNoise
Definition:
HcalCaloFlagLabels.h:21
HcalCaloFlagTool::minor_
int minor_
Definition:
HcalCaloFlagLabels.h:74
HcalSubdetector
HcalSubdetector
Definition:
HcalAssistant.h:32
HcalCaloFlagLabels::HSCP_OuterEnergy
Definition:
HcalCaloFlagLabels.h:17
HcalCaloFlagLabels::HFTimingTrustBits
Definition:
HcalCaloFlagLabels.h:28
HcalCaloFlagLabels::UserDefinedBit2
Definition:
HcalCaloFlagLabels.h:52
HcalCaloFlagLabels::HBHETimingShapedCutsBits
Definition:
HcalCaloFlagLabels.h:20
HcalCaloFlagTool::releaseName_
std::string releaseName_
Definition:
HcalCaloFlagLabels.h:72
HcalCaloFlagTool::hasField
bool hasField(HcalSubdetector sd, const std::string &field) const
Definition:
HcalCaloFlagLabels.cc:33
HcalCaloFlagLabels::HSCP_R1R2
Definition:
HcalCaloFlagLabels.h:15
HcalCaloFlagTool::standardFormat_
bool standardFormat_
Definition:
HcalCaloFlagLabels.h:73
HcalCaloFlagTool::getFieldWidth
int getFieldWidth(HcalSubdetector sd, int bit) const
Definition:
HcalCaloFlagLabels.cc:21
HcalCaloFlagLabels::CalibrationBit
Definition:
HcalCaloFlagLabels.h:42
sd
double sd
Definition:
CascadeWrapper.h:137
HcalCaloFlagLabels::HFPET
Definition:
HcalCaloFlagLabels.h:36
HcalCaloFlagLabels::HBHEStatusFlag
HBHEStatusFlag
Definition:
HcalCaloFlagLabels.h:13
HcalCaloFlagLabels::HOBit
Definition:
HcalCaloFlagLabels.h:30
HcalCaloFlagLabels::TimingSubtractedBit
Definition:
HcalCaloFlagLabels.h:45
HcalCaloFlagLabels::TimingErrorBit
Definition:
HcalCaloFlagLabels.h:47
HcalCaloFlagLabels::HBHEHpdHitMultiplicity
Definition:
HcalCaloFlagLabels.h:13
HcalCaloFlagLabels::HFLongShort
Definition:
HcalCaloFlagLabels.h:32
HcalCaloFlagLabels::ADCSaturationBit
Definition:
HcalCaloFlagLabels.h:48
HcalCaloFlagTool::major_
int major_
Definition:
HcalCaloFlagLabels.h:74
Generated for CMSSW Reference Manual by
1.8.5