CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ecalRecHit_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoLocalCalo.EcalRecAlgos.ecalCleaningAlgo import cleaningAlgoConfig
4 
5 # rechit producer
6 ecalRecHit = cms.EDProducer("EcalRecHitProducer",
7  EErechitCollection = cms.string('EcalRecHitsEE'),
8  EEuncalibRecHitCollection = cms.InputTag("ecalMultiFitUncalibRecHit","EcalUncalibRecHitsEE"),
9  EBuncalibRecHitCollection = cms.InputTag("ecalMultiFitUncalibRecHit","EcalUncalibRecHitsEB"),
10  EBrechitCollection = cms.string('EcalRecHitsEB'),
11  # db statuses to be exluded from reconstruction (some will be recovered)
12  ChannelStatusToBeExcluded = cms.vstring( 'kNoisy',
13  'kNNoisy',
14  'kFixedG6',
15  'kFixedG1',
16  'kFixedG0',
17  'kNonRespondingIsolated',
18  'kDeadVFE',
19  'kDeadFE',
20  'kNoDataNoTP',),
21  # avoid propagation of dead channels other than after recovery
22  killDeadChannels = cms.bool(True),
23  algo = cms.string("EcalRecHitWorkerSimple"),
24  # define maximal and minimal values for the laser corrections
25 
26  EBLaserMIN = cms.double(0.5),
27  EELaserMIN = cms.double(0.5),
28 
29  EBLaserMAX = cms.double(3.0),
30  EELaserMAX = cms.double(8.0),
31 
32 
33  # apply laser corrections
34  laserCorrection = cms.bool(True),
35 
36  # reco flags association to DB flag
37  flagsMapDBReco = cms.PSet(
38  kGood = cms.vstring('kOk','kDAC','kNoLaser','kNoisy'),
39  kNoisy = cms.vstring('kNNoisy','kFixedG6','kFixedG1'),
40  kNeighboursRecovered = cms.vstring('kFixedG0',
41  'kNonRespondingIsolated',
42  'kDeadVFE'),
43  kTowerRecovered = cms.vstring('kDeadFE'),
44  kDead = cms.vstring('kNoDataNoTP')
45  ),
46 
47  # for channel recovery
48  algoRecover = cms.string("EcalRecHitWorkerRecover"),
49  recoverEBIsolatedChannels = cms.bool(False),
50  recoverEEIsolatedChannels = cms.bool(False),
51  recoverEBVFE = cms.bool(False),
52  recoverEEVFE = cms.bool(False),
53  recoverEBFE = cms.bool(True),
54  recoverEEFE = cms.bool(True),
55  #db statuses for which recovery in EE/EB should not be attempted
56  dbStatusToBeExcludedEE = cms.vint32(
57  14, # dead, no TP
58  78, # dead, HV off
59  142, # dead,LV off
60  ),
61  dbStatusToBeExcludedEB = cms.vint32(
62  14, # dead, no TP
63  78, # dead, HV off
64  142, # dead,LV off
65  ),
66  # --- logWarnings for saturated DeadFEs
67  # if the logWarningThreshold is negative the Algo will not try recovery (in EE is not tested we may need negative threshold e.g. -1.e+9)
68  # if you want to enable recovery but you don't wish to throw logWarnings put the logWarningThresholds very high e.g +1.e+9
69  # ~64 GeV is the TP saturation level
70  logWarningEtThreshold_EB_FE = cms.double(50),# in EB logWarningThreshold is actually in E (GeV)
71  logWarningEtThreshold_EE_FE = cms.double(50),# in EE the energy should correspond to Et (GeV) but the recovered values of energies are not tested if make sense
72  ebDetIdToBeRecovered = cms.InputTag("ecalDetIdToBeRecovered:ebDetId"),
73  eeDetIdToBeRecovered = cms.InputTag("ecalDetIdToBeRecovered:eeDetId"),
74  ebFEToBeRecovered = cms.InputTag("ecalDetIdToBeRecovered:ebFE"),
75  eeFEToBeRecovered = cms.InputTag("ecalDetIdToBeRecovered:eeFE"),
76  singleChannelRecoveryMethod = cms.string("NeuralNetworks"),
77  singleChannelRecoveryThreshold = cms.double(8),
78  triggerPrimitiveDigiCollection = cms.InputTag("ecalDigis:EcalTriggerPrimitives"),
79  cleaningConfig=cleaningAlgoConfig,
80 
81  )