CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hcalRecAlgoESProd_cfi.py
Go to the documentation of this file.
2 
3 # HcalSeverityLevelComputer:
4 # short instruction: severity levels are defined to grade a problem indicated through flags
5 #
6 # The algorithm works from the highest level down. For each level, it determines whether any of the
7 # bits that is defined for its level is set. If yes, then - regardless of the setting of the other bits -
8 # it gives back the corresponding severity level, if no, it continues with the next lower level.
9 # If a defined bit vector is empty, the corresponding flag is not checked.
10 # This means that the highest level that has two empty vectors will be always the default level.
11 #
12 # RecoveredRecHitBits: this is a mask for the determination of whether a particular RecHit is recovered
13 # empty mask means that no flag is assigned to the recovered status
14 #
15 # DropChannelStatus: this is a mask for the determination of whether a digi should be/is dropped
16 # during reconstruction because of the channelstatus of its cell
17 # empty mask means that no digi should be/is dropped
18 #
19 # Modified 21.09.2010: a level consisting only of invalid definitions will be ignored
20 # Any errors in definition of severity levels come through LogWarning
21 
22 essourceSev = cms.ESSource("EmptyESSource",
23  recordName = cms.string("HcalSeverityLevelComputerRcd"),
24  firstValid = cms.vuint32(1),
25  iovIsRunNotTime = cms.bool(True)
26 )
27 
28 
29 hcalRecAlgos = cms.ESProducer("HcalRecAlgoESProducer",
30  SeverityLevels = cms.VPSet(
31  # the following is the default level, please do not modify its definition:
32  cms.PSet( Level = cms.int32(0),
33  RecHitFlags = cms.vstring(''),
34  ChannelStatus = cms.vstring('')
35  ),
36  cms.PSet( Level = cms.int32(1),
37  RecHitFlags = cms.vstring(''),
38  ChannelStatus = cms.vstring('HcalCellCaloTowerProb')
39  ),
40  cms.PSet( Level = cms.int32(5),
41  RecHitFlags = cms.vstring('HSCP_R1R2','HSCP_FracLeader','HSCP_OuterEnergy',
42  'HSCP_ExpFit','ADCSaturationBit', 'HBHEIsolatedNoise',
43  'AddedSimHcalNoise'),
44  ChannelStatus = cms.vstring('HcalCellExcludeFromHBHENoiseSummary')
45  ),
46  cms.PSet( Level = cms.int32(8),
47  RecHitFlags = cms.vstring('HBHEHpdHitMultiplicity',
48  'HBHEPulseShape',
49  'HOBit',
50  'HFDigiTime',
51  'HFInTimeWindow',
52  'ZDCBit', 'CalibrationBit',
53  'TimingErrorBit',
54  'HBHEFlatNoise',
55  'HBHESpikeNoise',
56  'HBHETriangleNoise',
57  'HBHETS4TS5Noise',
58  'HBHENegativeNoise'
59  ),
60  ChannelStatus = cms.vstring('')
61  ),
62  # March 2010: HFLongShort now tested, and should be excluded from CaloTowers by default
63  cms.PSet( Level = cms.int32(11),
64  RecHitFlags = cms.vstring('HFLongShort',
65  # HFPET and HFS8S1Ratio feed HFLongShort, and should be at the same severity
66  'HFPET',
67  'HFS8S1Ratio'
68  #'HFDigiTime' # This should be set to 11 in data ONLY. We can't set it to 11 by default, because default values should reflect MC settings, and the flag can't be used in MC
69  ),
70  ChannelStatus = cms.vstring('')
71  ),
72  cms.PSet( Level = cms.int32(12),
73  RecHitFlags = cms.vstring(''),
74  ChannelStatus = cms.vstring('HcalCellCaloTowerMask')
75  ),
76  cms.PSet( Level = cms.int32(15),
77  RecHitFlags = cms.vstring(''),
78  ChannelStatus = cms.vstring('HcalCellHot')
79  ),
80  cms.PSet( Level = cms.int32(20),
81  RecHitFlags = cms.vstring(''),
82  ChannelStatus = cms.vstring('HcalCellOff', 'HcalCellDead')
83  )
84  ),
85  RecoveredRecHitBits = cms.vstring('TimingAddedBit','TimingSubtractedBit'),
86  DropChannelStatusBits = cms.vstring('HcalCellMask','HcalCellOff', 'HcalCellDead')
87 )