File indexing completed on 2024-10-19 04:58:42
0001 import FWCore.ParameterSet.Config as cms
0002
0003 dedxHitInfo = cms.EDProducer("DeDxHitInfoProducer",
0004 tracks = cms.InputTag("generalTracks"),
0005
0006 minTrackHits = cms.uint32(0),
0007 minTrackPt = cms.double(10),
0008 minTrackPtPrescale = cms.double(0.5),
0009 maxTrackEta = cms.double(5.0),
0010
0011 useStrip = cms.bool(True),
0012 usePixel = cms.bool(True),
0013 MeVperADCStrip = cms.double(3.61e-06*265),
0014 MeVperADCPixel = cms.double(3.61e-06),
0015
0016 useCalibration = cms.bool(False),
0017 calibrationPath = cms.string("file:Gains.root"),
0018 shapeTest = cms.bool(True),
0019 clusterShapeCache = cms.InputTag("siPixelClusterShapeCache"),
0020 storeMomentumAtHit = cms.bool(False),
0021
0022 lowPtTracksPrescalePass = cms.uint32(100),
0023 lowPtTracksPrescaleFail = cms.uint32(2000),
0024 lowPtTracksEstimatorParameters = cms.PSet(
0025 fraction = cms.double(-0.15),
0026 exponent = cms.double(-2.0),
0027 truncate = cms.bool(True),
0028 ),
0029 lowPtTracksDeDxThreshold = cms.double(3.5),
0030 usePixelForPrescales = cms.bool(True)
0031 )
0032
0033 import RecoTracker.DeDx.DeDxEstimatorProducer_cfi as _mod
0034
0035 dedxHarmonic2 = _mod.DeDxEstimatorProducer.clone(
0036 estimator = 'generic',
0037 fraction = 0.4,
0038 exponent = -2.0,
0039
0040 Record = "SiStripDeDxMip_3D_Rcd",
0041 ProbabilityMode = "Accumulation",
0042 )
0043
0044 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0045
0046
0047 import FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi
0048
0049
0050 fastSim.toReplaceWith(dedxHarmonic2,
0051 FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi.FastTrackDeDxProducer.clone(
0052 ShapeTest = False,
0053 simHit2RecHitMap = "fastMatchedTrackerRecHits:simHit2RecHitMap",
0054 simHits = "fastSimProducer:TrackerHits",
0055 )
0056 )
0057
0058 dedxPixelHarmonic2 = dedxHarmonic2.clone(UseStrip = False, UsePixel = True)
0059
0060 dedxPixelAndStripHarmonic2T085 = dedxHarmonic2.clone(
0061 UseStrip = True, UsePixel = True,
0062 estimator = 'genericTruncated',
0063 fraction = -0.15,
0064 exponent = -2.0,
0065 )
0066
0067 dedxTruncated40 = dedxHarmonic2.clone(estimator = 'truncated')
0068
0069 dedxMedian = dedxHarmonic2.clone(estimator = 'median')
0070
0071 dedxUnbinned = dedxHarmonic2.clone(estimator = 'unbinnedFit')
0072
0073 dedxDiscrimProd = dedxHarmonic2.clone(estimator = 'productDiscrim')
0074
0075 dedxDiscrimBTag = dedxHarmonic2.clone(estimator = 'btagDiscrim')
0076
0077 dedxDiscrimSmi = dedxHarmonic2.clone(estimator = 'smirnovDiscrim')
0078
0079 dedxDiscrimASmi = dedxHarmonic2.clone(estimator = 'asmirnovDiscrim')
0080
0081 doAlldEdXEstimatorsTask = cms.Task(dedxTruncated40 , dedxHarmonic2 , dedxPixelHarmonic2 , dedxPixelAndStripHarmonic2T085 , dedxHitInfo)
0082 doAlldEdXEstimators = cms.Sequence(doAlldEdXEstimatorsTask)
0083
0084 fastSim.toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(dedxHarmonic2, dedxPixelHarmonic2))
0085
0086
0087 from Configuration.Eras.Modifier_run3_common_cff import run3_common
0088 run3_common.toModify(dedxHitInfo,
0089 lowPtTracksEstimatorParameters = dict(fraction = 0., exponent = -2.0,truncate = False),
0090 usePixelForPrescales = False
0091 )
0092
0093
0094 from Configuration.Eras.Modifier_run3_upc_cff import run3_upc
0095 run3_upc.toModify(dedxHitInfo, minTrackPt = 0, storeMomentumAtHit = True)
0096
0097 from RecoTracker.DeDx.dedxHitCalibrator_cfi import dedxHitCalibrator as _dedxHitCalibrator
0098 from SimGeneral.MixingModule.SiStripSimParameters_cfi import SiStripSimBlock as _SiStripSimBlock
0099 from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
0100 dedxHitCalibrator = _dedxHitCalibrator.clone(
0101 MeVPerElectron = 1000*_SiStripSimBlock.GevPerElectron.value(),
0102 VCaltoElectronGain = _siPixelClusters.VCaltoElectronGain,
0103 VCaltoElectronGain_L1 = _siPixelClusters.VCaltoElectronGain_L1,
0104 VCaltoElectronOffset = _siPixelClusters.VCaltoElectronOffset,
0105 VCaltoElectronOffset_L1 = _siPixelClusters.VCaltoElectronOffset_L1
0106 )
0107
0108 dedxAllLikelihood = _mod.DeDxEstimatorProducer.clone(
0109 UseStrip = True, UsePixel = True,
0110 estimator = 'likelihoodFit',
0111 UseDeDxHits = True,
0112 pixelDeDxHits = 'dedxHitCalibrator:PixelHits',
0113 stripDeDxHits = 'dedxHitCalibrator:StripHits'
0114 )
0115 dedxPixelLikelihood = dedxAllLikelihood.clone(UseStrip = False, UsePixel = True)
0116 dedxStripLikelihood = dedxAllLikelihood.clone(UseStrip = True, UsePixel = False)
0117
0118 from Configuration.Eras.Modifier_run3_egamma_2023_cff import run3_egamma_2023
0119 run3_upc.toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(doAlldEdXEstimatorsTask.copy(), dedxHitCalibrator, dedxStripLikelihood, dedxPixelLikelihood, dedxAllLikelihood))