CMS 3D CMS Logo

hgcalVFEProducer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
8 import hgcalLayersCalibrationCoefficients_cfi as layercalibparam
9 
10 # Digitization parameters
11 adcSaturation_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.adcSaturation_fC
12 adcNbits = digiparam.hgceeDigitizer.digiCfg.feCfg.adcNbits
13 tdcSaturation_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcSaturation_fC
14 tdcNbits = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcNbits
15 tdcOnset_fC = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcOnset_fC
16 adcSaturationBH_MIP = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcSaturation_fC
17 adcNbitsBH = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcNbits
18 
19 # Reco calibration parameters
20 fCPerMIPee = recoparam.HGCalUncalibRecHit.HGCEEConfig.fCPerMIP
21 fCPerMIPfh = recoparam.HGCalUncalibRecHit.HGCHEFConfig.fCPerMIP
22 layerWeights = layercalibparam.TrgLayer_dEdX_weights
23 thicknessCorrection = recocalibparam.HGCalRecHit.thicknessCorrection
24 
25 # Equalization in the frontend of the sensor responses to 200um sensors
26 frontend_thickness_corrections = [1./(c1*c2) for c1,c2 in zip(fCPerMIPee,thicknessCorrection)]
27 c200 = frontend_thickness_corrections[1]
28 frontend_thickness_corrections = [c/c200 for c in frontend_thickness_corrections]
29 fCPerMIP_200 = fCPerMIPee[1]
30 thicknessCorrection_200 = thicknessCorrection[1]
31 
32 # Parameters used in several places
33 triggerCellLsbBeforeCompression = 100./1024.
34 triggerCellTruncationBits = 0
35 
36 calib_parValues = cms.PSet( siliconCellLSB_fC = cms.double( triggerCellLsbBeforeCompression*(2**triggerCellTruncationBits) ),
37  scintillatorCellLSB_MIP = cms.double(float(adcSaturationBH_MIP.value())/(2**float(adcNbitsBH.value()))),
38  fCperMIP = cms.double(fCPerMIP_200),
39  dEdXweights = layerWeights,
40  thickCorr = cms.double(thicknessCorrection_200)
41  )
42 
43 vfe_proc = cms.PSet( ProcessorName = cms.string('HGCalVFEProcessorSums'),
44  calib_parameters = calib_parValues.clone(),
45  linLSB = cms.double(100./1024.),
46  adcsaturation = adcSaturation_fC,
47  tdcnBits = tdcNbits,
48  tdcOnsetfC = tdcOnset_fC,
49  adcnBits = adcNbits,
50  tdcsaturation = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcSaturation_fC,
51  linnBits = cms.uint32(16),
52  ThicknessCorrections = cms.vdouble(frontend_thickness_corrections)
53  )
54 
55 hgcalVFEProducer = cms.EDProducer(
56  "HGCalVFEProducer",
57  eeDigis = cms.InputTag('simHGCalUnsuppressedDigis:EE'),
58  fhDigis = cms.InputTag('simHGCalUnsuppressedDigis:HEfront'),
59  bhDigis = cms.InputTag('simHGCalUnsuppressedDigis:HEback'),
60  ProcessorParameters = vfe_proc.clone()
61  )
62 
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)