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
HBHENegativeNoise
=27,
22
HBHEIsolatedNoise
=11,
23
HBHEFlatNoise
=12,
24
HBHESpikeNoise
=13,
25
HBHETriangleNoise
=14,
26
HBHETS4TS5Noise
=15
27
};
28
29
enum
HFTimingTrustFlag
{
HFTimingTrustBits
=6};
30
31
enum
HOStatusFlag
{
HOBit
=0};
32
33
enum
HFStatusFlag
{
HFLongShort
=0,
34
HFDigiTime
=1,
35
HFInTimeWindow
=2,
// requires hit be within certain time window
36
HFS8S1Ratio
=3,
37
HFPET
=4
38
};
39
40
41
enum
ZDCStatusFlag
{
ZDCBit
=0};
42
43
enum
CalibrationFlag
{
CalibrationBit
=0};
44
45
// Bit definitions that apply to all subdetectors (bits 16-31)
46
enum
CommonFlag
{
TimingSubtractedBit
=16,
// latency shift correction, recovered
47
TimingAddedBit
=17,
// latency shift correction, recovered
48
TimingErrorBit
=18,
// latency shift error, unrecovered
49
ADCSaturationBit
=19,
50
Fraction2TS
=20,
// should deprecate this at some point
51
PresampleADC
=20,
// uses 7 bits to store ADC from presample
52
// This bit is not yet in use (as of March 2012), but can be used to mark sim hits to which noise has been intentionally added
53
AddedSimHcalNoise
=28,
54
// The following bits are all user-defined; reverse-order them so that UserDefinedBit0 will be the last removed
55
UserDefinedBit2
= 29,
56
UserDefinedBit1
= 30,
57
UserDefinedBit0
= 31
58
};
59
60
}
61
65
class
HcalCaloFlagTool
{
66
public
:
67
HcalCaloFlagTool
(
const
std::string
& releaseName);
68
std::string
getFieldName
(
HcalSubdetector
sd
,
int
bit)
const
;
69
int
getFieldWidth
(
HcalSubdetector
sd,
int
bit)
const
;
70
int
getFieldStart
(
HcalSubdetector
sd,
const
std::string
& field)
const
;
71
int
getFieldWidth
(
HcalSubdetector
sd,
const
std::string
& field)
const
;
72
bool
hasField
(
HcalSubdetector
sd,
const
std::string
& field)
const
;
73
bool
hasField
(
HcalSubdetector
sd,
int
bit)
const
;
74
private
:
75
std::string
releaseName_
;
76
bool
standardFormat_
;
77
int
major_
,
minor_
,
patch_
,
subpatch_
;
78
};
79
80
#endif
HcalCaloFlagTool::HcalCaloFlagTool
HcalCaloFlagTool(const std::string &releaseName)
Definition:
HcalCaloFlagLabels.cc:5
HcalCaloFlagLabels::HBHETS4TS5Noise
Definition:
HcalCaloFlagLabels.h:26
HcalCaloFlagLabels::CalibrationFlag
CalibrationFlag
Definition:
HcalCaloFlagLabels.h:43
HcalCaloFlagLabels::HOStatusFlag
HOStatusFlag
Definition:
HcalCaloFlagLabels.h:31
HcalCaloFlagLabels::HFInTimeWindow
Definition:
HcalCaloFlagLabels.h:35
HcalCaloFlagLabels::Fraction2TS
Definition:
HcalCaloFlagLabels.h:50
HcalCaloFlagLabels::HBHESpikeNoise
Definition:
HcalCaloFlagLabels.h:24
HcalCaloFlagLabels::UserDefinedBit1
Definition:
HcalCaloFlagLabels.h:56
HcalSubdetector.h
HcalCaloFlagLabels::HFDigiTime
Definition:
HcalCaloFlagLabels.h:34
HcalCaloFlagLabels::HBHEFlatNoise
Definition:
HcalCaloFlagLabels.h:23
HcalCaloFlagLabels::HFS8S1Ratio
Definition:
HcalCaloFlagLabels.h:36
HcalCaloFlagLabels::HSCP_FracLeader
Definition:
HcalCaloFlagLabels.h:16
HcalCaloFlagLabels::HFStatusFlag
HFStatusFlag
Definition:
HcalCaloFlagLabels.h:33
HcalCaloFlagTool
Provides interpretation of flag bits with understanding of CMSSW version dependence.
Definition:
HcalCaloFlagLabels.h:65
HcalCaloFlagLabels::HSCP_ExpFit
Definition:
HcalCaloFlagLabels.h:18
HcalCaloFlagLabels::HBHETimingTrustBits
Definition:
HcalCaloFlagLabels.h:19
HcalCaloFlagTool::subpatch_
int subpatch_
Definition:
HcalCaloFlagLabels.h:77
HcalCaloFlagLabels::UserDefinedBit0
Definition:
HcalCaloFlagLabels.h:57
HcalCaloFlagTool::patch_
int patch_
Definition:
HcalCaloFlagLabels.h:77
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
HcalCaloFlagTool::getFieldName
std::string getFieldName(HcalSubdetector sd, int bit) const
Definition:
HcalCaloFlagLabels.cc:17
HcalCaloFlagLabels::HBHETriangleNoise
Definition:
HcalCaloFlagLabels.h:25
HFTimingTrustFlag
Definition:
HFTimingTrustFlag.h:14
HcalCaloFlagLabels::TimingAddedBit
Definition:
HcalCaloFlagLabels.h:47
HcalCaloFlagLabels::ZDCStatusFlag
ZDCStatusFlag
Definition:
HcalCaloFlagLabels.h:41
HcalCaloFlagLabels::CommonFlag
CommonFlag
Definition:
HcalCaloFlagLabels.h:46
HcalCaloFlagLabels::ZDCBit
Definition:
HcalCaloFlagLabels.h:41
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:51
HcalCaloFlagLabels::HBHEIsolatedNoise
Definition:
HcalCaloFlagLabels.h:22
HcalCaloFlagTool::minor_
int minor_
Definition:
HcalCaloFlagLabels.h:77
HcalSubdetector
HcalSubdetector
Definition:
HcalAssistant.h:31
HcalCaloFlagLabels::HSCP_OuterEnergy
Definition:
HcalCaloFlagLabels.h:17
HcalCaloFlagLabels::HFTimingTrustBits
Definition:
HcalCaloFlagLabels.h:29
HcalCaloFlagLabels::UserDefinedBit2
Definition:
HcalCaloFlagLabels.h:55
HcalCaloFlagLabels::HBHENegativeNoise
Definition:
HcalCaloFlagLabels.h:21
HcalCaloFlagLabels::HBHETimingShapedCutsBits
Definition:
HcalCaloFlagLabels.h:20
HcalCaloFlagTool::releaseName_
std::string releaseName_
Definition:
HcalCaloFlagLabels.h:75
HcalCaloFlagTool::hasField
bool hasField(HcalSubdetector sd, const std::string &field) const
Definition:
HcalCaloFlagLabels.cc:33
HcalCaloFlagLabels::HSCP_R1R2
Definition:
HcalCaloFlagLabels.h:15
HcalCaloFlagLabels::AddedSimHcalNoise
Definition:
HcalCaloFlagLabels.h:53
HcalCaloFlagTool::standardFormat_
bool standardFormat_
Definition:
HcalCaloFlagLabels.h:76
HcalCaloFlagTool::getFieldWidth
int getFieldWidth(HcalSubdetector sd, int bit) const
Definition:
HcalCaloFlagLabels.cc:21
HcalCaloFlagLabels::CalibrationBit
Definition:
HcalCaloFlagLabels.h:43
sd
double sd
Definition:
CascadeWrapper.h:137
HcalCaloFlagLabels::HFPET
Definition:
HcalCaloFlagLabels.h:37
HcalCaloFlagLabels::HBHEStatusFlag
HBHEStatusFlag
Definition:
HcalCaloFlagLabels.h:13
HcalCaloFlagLabels::HOBit
Definition:
HcalCaloFlagLabels.h:31
HcalCaloFlagLabels::TimingSubtractedBit
Definition:
HcalCaloFlagLabels.h:46
HcalCaloFlagLabels::TimingErrorBit
Definition:
HcalCaloFlagLabels.h:48
HcalCaloFlagLabels::HBHEHpdHitMultiplicity
Definition:
HcalCaloFlagLabels.h:13
HcalCaloFlagLabels::HFLongShort
Definition:
HcalCaloFlagLabels.h:33
HcalCaloFlagLabels::ADCSaturationBit
Definition:
HcalCaloFlagLabels.h:49
HcalCaloFlagTool::major_
int major_
Definition:
HcalCaloFlagLabels.h:77
Generated for CMSSW Reference Manual by
1.8.5