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 # Need these until phase2 pixel templates are used
32 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
33 from SimTracker.SiPhase2Digitizer.phase2TrackerDigitizer_cfi import PixelDigitizerAlgorithmCommon
34 phase2_tracker.toModify(siPixelClusters, # FIXME
35  src = 'simSiPixelDigis:Pixel',
36  DropDuplicates = False, # do not drop duplicates for phase-2 until the digitizer can handle them consistently
37  payloadType = 'None', # do not run gain calibration
38  MissCalibrate = False,
39  Phase2Calibration = True,
40  Phase2ReadoutMode = PixelDigitizerAlgorithmCommon.Phase2ReadoutMode.value(), # Flag to decide Readout Mode : linear TDR (-1), dual slope with slope parameters (+1,+2,+3,+4 ...) with threshold subtraction
41  Phase2DigiBaseline = PixelDigitizerAlgorithmCommon.ThresholdInElectrons_Barrel.value(), #Same for barrel and endcap
42  Phase2KinkADC = 8,
43  ElectronPerADCGain = PixelDigitizerAlgorithmCommon.ElectronPerAdc.value()
44 )
45 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
46 (premix_stage2 & phase2_tracker).toModify(siPixelClusters,
47  src = "mixData:Pixel"
48 )
49 from Configuration.ProcessModifiers.pixelNtupletFit_cff import pixelNtupletFit
50 (phase2_tracker & pixelNtupletFit).toModify(siPixelClusters, #at the moment the duplicate dropping is not imnplemented in Phase2
51  DropDuplicates = False
52 )