1 import FWCore.ParameterSet.Config
as cms
3 dedxHitInfo = cms.EDProducer(
"DeDxHitInfoProducer",
4 tracks = cms.InputTag(
"generalTracks"),
6 minTrackHits = cms.uint32(0),
7 minTrackPt = cms.double(10),
8 minTrackPtPrescale = cms.double(0.5),
9 maxTrackEta = cms.double(5.0),
11 useStrip = cms.bool(
True),
12 usePixel = cms.bool(
True),
13 MeVperADCStrip = cms.double(3.61e-06*265),
14 MeVperADCPixel = cms.double(3.61e-06),
16 useCalibration = cms.bool(
False),
17 calibrationPath = cms.string(
"file:Gains.root"),
18 shapeTest = cms.bool(
True),
19 clusterShapeCache = cms.InputTag(
"siPixelClusterShapeCache"),
20 storeMomentumAtHit = cms.bool(
False),
22 lowPtTracksPrescalePass = cms.uint32(100),
23 lowPtTracksPrescaleFail = cms.uint32(2000),
24 lowPtTracksEstimatorParameters = cms.PSet(
25 fraction = cms.double(-0.15),
26 exponent = cms.double(-2.0),
27 truncate = cms.bool(
True),
29 lowPtTracksDeDxThreshold = cms.double(3.5),
30 usePixelForPrescales = cms.bool(
True)
33 import RecoTracker.DeDx.DeDxEstimatorProducer_cfi
as _mod
35 dedxHarmonic2 = _mod.DeDxEstimatorProducer.clone(
36 estimator =
'generic',
40 Record =
"SiStripDeDxMip_3D_Rcd",
41 ProbabilityMode =
"Accumulation",
44 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
47 import FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi
50 fastSim.toReplaceWith(dedxHarmonic2,
51 FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi.FastTrackDeDxProducer.clone(
53 simHit2RecHitMap =
"fastMatchedTrackerRecHits:simHit2RecHitMap",
54 simHits =
"fastSimProducer:TrackerHits",
58 dedxPixelHarmonic2 = dedxHarmonic2.clone(UseStrip =
False, UsePixel =
True)
60 dedxPixelAndStripHarmonic2T085 = dedxHarmonic2.clone(
61 UseStrip =
True, UsePixel =
True,
62 estimator =
'genericTruncated',
67 dedxTruncated40 = dedxHarmonic2.clone(estimator =
'truncated')
69 dedxMedian = dedxHarmonic2.clone(estimator =
'median')
71 dedxUnbinned = dedxHarmonic2.clone(estimator =
'unbinnedFit')
73 dedxDiscrimProd = dedxHarmonic2.clone(estimator =
'productDiscrim')
75 dedxDiscrimBTag = dedxHarmonic2.clone(estimator =
'btagDiscrim')
77 dedxDiscrimSmi = dedxHarmonic2.clone(estimator =
'smirnovDiscrim')
79 dedxDiscrimASmi = dedxHarmonic2.clone(estimator =
'asmirnovDiscrim')
81 doAlldEdXEstimatorsTask = cms.Task(dedxTruncated40 , dedxHarmonic2 , dedxPixelHarmonic2 , dedxPixelAndStripHarmonic2T085 , dedxHitInfo)
82 doAlldEdXEstimators = cms.Sequence(doAlldEdXEstimatorsTask)
84 fastSim.toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(dedxHarmonic2, dedxPixelHarmonic2))
87 from Configuration.Eras.Modifier_run3_common_cff
import run3_common
88 run3_common.toModify(dedxHitInfo,
89 lowPtTracksEstimatorParameters = dict(fraction = 0., exponent = -2.0,truncate =
False),
90 usePixelForPrescales =
False 94 from Configuration.Eras.Modifier_run3_upc_cff
import run3_upc
95 run3_upc.toModify(dedxHitInfo, minTrackPt = 0, storeMomentumAtHit =
True)
97 from RecoTracker.DeDx.dedxHitCalibrator_cfi
import dedxHitCalibrator
as _dedxHitCalibrator
98 from SimGeneral.MixingModule.SiStripSimParameters_cfi
import SiStripSimBlock
as _SiStripSimBlock
100 dedxHitCalibrator = _dedxHitCalibrator.clone(
101 MeVPerElectron = 1000*_SiStripSimBlock.GevPerElectron.value(),
102 VCaltoElectronGain = _siPixelClusters.VCaltoElectronGain,
103 VCaltoElectronGain_L1 = _siPixelClusters.VCaltoElectronGain_L1,
104 VCaltoElectronOffset = _siPixelClusters.VCaltoElectronOffset,
105 VCaltoElectronOffset_L1 = _siPixelClusters.VCaltoElectronOffset_L1
108 dedxAllLikelihood = _mod.DeDxEstimatorProducer.clone(
109 UseStrip =
True, UsePixel =
True,
110 estimator =
'likelihoodFit',
112 pixelDeDxHits =
'dedxHitCalibrator:PixelHits',
113 stripDeDxHits =
'dedxHitCalibrator:StripHits' 115 dedxPixelLikelihood = dedxAllLikelihood.clone(UseStrip =
False, UsePixel =
True)
116 dedxStripLikelihood = dedxAllLikelihood.clone(UseStrip =
True, UsePixel =
False)
118 from Configuration.Eras.Modifier_run3_egamma_2023_cff
import run3_egamma_2023
119 (run3_upc & ~run3_egamma_2023).toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(doAlldEdXEstimatorsTask.copy(), dedxHitCalibrator, dedxStripLikelihood, dedxPixelLikelihood, dedxAllLikelihood))