CMS 3D CMS Logo

SiPixelClusterizer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizerDefault_cfi import SiPixelClusterizerDefault as _SiPixelClusterizerDefault
4 siPixelClusters = _SiPixelClusterizerDefault.clone()
5 
6 # phase1 pixel
7 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
8 phase1Pixel.toModify(siPixelClusters,
9  VCaltoElectronGain = 47, # L2-4: 47 +- 4.7
10  VCaltoElectronGain_L1 = 50, # L1: 49.6 +- 2.6
11  VCaltoElectronOffset = -60, # L2-4: -60 +- 130
12  VCaltoElectronOffset_L1 = -670, # L1: -670 +- 220
13  ChannelThreshold = 10,
14  SeedThreshold = 1000,
15  ClusterThreshold = 4000,
16  ClusterThreshold_L1 = 2000
17 )
18 
19 # Run3, changes in the gain calibration scheme
20 #from Configuration.Eras.Era_Run3_cff import Run3
21 #Run3.toModify(siPixelClusters,
22 from Configuration.Eras.Modifier_run3_common_cff import run3_common
23 run3_common.toModify(siPixelClusters,
24  VCaltoElectronGain = 1, # all gains=1, pedestals=0
25  VCaltoElectronGain_L1 = 1,
26  VCaltoElectronOffset = 0,
27  VCaltoElectronOffset_L1 = 0,
28  ClusterThreshold_L1 = 4000
29 )
30 
31 # customize phase2 clusters for bricked pixels
32 from Configuration.Eras.Modifier_phase2_brickedPixels_cff import phase2_brickedPixels
33 phase2_brickedPixels.toModify(siPixelClusters,
34  ClusterMode = cms.string('PixelThresholdClusterizerForBricked')
35 )
36 
37 # Need these until phase2 pixel templates are used
38 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
39 from SimTracker.SiPhase2Digitizer.phase2TrackerDigitizer_cfi import PixelDigitizerAlgorithmCommon
40 phase2_tracker.toModify(siPixelClusters, # FIXME
41  src = 'simSiPixelDigis:Pixel',
42  MissCalibrate = False,
43  Phase2Calibration = True,
44  Phase2ReadoutMode = PixelDigitizerAlgorithmCommon.Phase2ReadoutMode.value(), # Flag to decide Readout Mode : linear TDR (-1), dual slope with slope parameters (+1,+2,+3,+4 ...) with threshold subtraction
45  Phase2DigiBaseline = PixelDigitizerAlgorithmCommon.ThresholdInElectrons_Barrel.value(), #Same for barrel and endcap
46  Phase2KinkADC = 8,
47  ElectronPerADCGain = PixelDigitizerAlgorithmCommon.ElectronPerAdc.value()
48 )
49 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
50 (premix_stage2 & phase2_tracker).toModify(siPixelClusters,
51  src = "mixData:Pixel"
52 )
53