Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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