CMS 3D CMS Logo

hgcalTriggerPrimitiveDigiProducer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
5 
6 # Digitization parameters
7 adcSaturation_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.adcSaturation_fC
8 adcNbits = digiparam.hgceeDigitizer.digiCfg.feCfg.adcNbits
9 tdcSaturation_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcSaturation_fC
10 tdcNbits = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcNbits
11 tdcOnset_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcOnset_fC
12 # Reco calibration parameters
13 fCPerMIPee = recoparam.HGCalUncalibRecHit.HGCEEConfig.fCPerMIP
14 fCperMIPfh = recoparam.HGCalUncalibRecHit.HGCHEFConfig.fCPerMIP
15 layerWeights = recocalibparam.HGCalRecHit.layerWeights
16 thicknessCorrection = recocalibparam.HGCalRecHit.thicknessCorrection
17 
18 # Parameters used in several places
19 triggerCellLsbBeforeCompression = 100./1024.
20 triggerCellTruncationBits = 0
21 
22 fe_codec = cms.PSet( CodecName = cms.string('HGCalTriggerCellThresholdCodec'),
23  CodecIndex = cms.uint32(2),
24  MaxCellsInModule = cms.uint32(116),
25  DataLength = cms.uint32(16),
26  linLSB = cms.double(triggerCellLsbBeforeCompression),
27  triggerCellTruncationBits = cms.uint32(triggerCellTruncationBits),
28  NData = cms.uint32(999),
29  TCThreshold_fC = cms.double(1.),
30  #take the following parameters from the digitization config file
31  adcsaturation = adcSaturation_fC,
32  adcnBits = adcNbits,
33  tdcsaturation = tdcSaturation_fC,
34  tdcnBits = tdcNbits,
35  tdcOnsetfC = tdcOnset_fC
36  )
37 
38 calib_parValues = cms.PSet( cellLSB = cms.double( triggerCellLsbBeforeCompression*(2**triggerCellTruncationBits) ),
39  fCperMIPee = fCPerMIPee,
40  fCperMIPfh = fCperMIPfh,
41  dEdXweights = layerWeights,
42  thickCorr = thicknessCorrection
43  )
44 C2d_parValues = cms.PSet( seeding_threshold = cms.double(5), # MipT
45  clustering_threshold = cms.double(2), # MipT
46  dR_cluster = cms.double(3.), # in cm
47  clusterType = cms.string('NNC2d') # clustering type: dRC2d--> Geometric-dR clustering; NNC2d-->Nearest Neighbors clustering
48  )
49 
50 C3d_parValues = cms.PSet( dR_multicluster = cms.double(0.01), # dR in normalized plane used to clusterize C2d
51  minPt_multicluster = cms.double(0.5), # minimum pt of the multicluster (GeV)
52  calibSF_multicluster = cms.double(1.084)
53  )
54 cluster_algo = cms.PSet( AlgorithmName = cms.string('HGCClusterAlgoThreshold'),
55  FECodec = fe_codec.clone(),
56  HGCalEESensitive_tag = cms.string('HGCalEESensitive'),
57  HGCalHESiliconSensitive_tag = cms.string('HGCalHESiliconSensitive'),
58  calib_parameters = calib_parValues.clone(),
59  C2d_parameters = C2d_parValues.clone(),
60  C3d_parameters = C3d_parValues.clone()
61  )
62 
63 hgcalTriggerPrimitiveDigiProducer = cms.EDProducer(
64  "HGCalTriggerDigiProducer",
65  eeDigis = cms.InputTag('mix:HGCDigisEE'),
66  fhDigis = cms.InputTag('mix:HGCDigisHEfront'),
67  #bhDigis = cms.InputTag('mix:HGCDigisHEback'),
68  FECodec = fe_codec.clone(),
69  BEConfiguration = cms.PSet(
70  algorithms = cms.VPSet( cluster_algo )
71  )
72  )
73 
74 hgcalTriggerPrimitiveDigiFEReproducer = cms.EDProducer(
75  "HGCalTriggerDigiFEReproducer",
76  feDigis = cms.InputTag('hgcalTriggerPrimitiveDigiProducer'),
77  FECodec = fe_codec.clone(),
78  BEConfiguration = cms.PSet(
79  algorithms = cms.VPSet( cluster_algo )
80  )
81  )