CMS 3D CMS Logo

dedxEstimators_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 dedxHitInfo = cms.EDProducer("DeDxHitInfoProducer",
4  tracks = cms.InputTag("generalTracks"),
5 
6  minTrackHits = cms.uint32(0),
7  minTrackPt = cms.double(10),
8  minTrackPtPrescale = cms.double(0.5), # minimal pT for prescaled low pT tracks
9  maxTrackEta = cms.double(5.0),
10 
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),
15 
16  useCalibration = cms.bool(False),
17  calibrationPath = cms.string("file:Gains.root"),
18  shapeTest = cms.bool(True),
19 
20  lowPtTracksPrescalePass = cms.uint32(100), # prescale factor for low pt tracks above the dEdx cut
21  lowPtTracksPrescaleFail = cms.uint32(2000), # prescale factor for low pt tracks below the dEdx cut
22  lowPtTracksEstimatorParameters = cms.PSet( # generalized truncated average
23  fraction = cms.double(-0.15), # negative = throw away the 15% with lowest charge
24  exponent = cms.double(-2.0),
25  ),
26  lowPtTracksDeDxThreshold = cms.double(3.5), # threshold on tracks
27 )
28 
29 import RecoTracker.DeDx.DeDxEstimatorProducer_cfi as _mod
30 
31 dedxHarmonic2 = _mod.DeDxEstimatorProducer.clone(
32  estimator = 'generic',
33  fraction = 0.4, #Used only if estimator='truncated'
34  exponent = -2.0, #Used only if estimator='generic'
35 
36  Reccord = "SiStripDeDxMip_3D_Rcd", #used only for discriminators : estimators='productDiscrim' or 'btagDiscrim' or 'smirnovDiscrim' or 'asmirnovDiscrim'
37  ProbabilityMode = "Accumulation", #used only for discriminators : estimators='productDiscrim' or 'btagDiscrim' or 'smirnovDiscrim' or 'asmirnovDiscrim'
38 )
39 
40 from Configuration.Eras.Modifier_fastSim_cff import fastSim
41 
42 # explicit python dependency
43 import FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi
44 
45 # do this before defining dedxPixelHarmonic2 so it automatically comes out right
46 fastSim.toReplaceWith(dedxHarmonic2,
47  FastSimulation.SimplifiedGeometryPropagator.FastTrackDeDxProducer_cfi.FastTrackDeDxProducer.clone(
48  ShapeTest = False,
49  simHit2RecHitMap = "fastMatchedTrackerRecHits:simHit2RecHitMap",
50  simHits = "fastSimProducer:TrackerHits",
51  )
52 )
53 
54 dedxPixelHarmonic2 = dedxHarmonic2.clone(UseStrip = False, UsePixel = True)
55 
56 dedxPixelAndStripHarmonic2T085 = dedxHarmonic2.clone(
57  UseStrip = True, UsePixel = True,
58  estimator = 'genericTruncated',
59  fraction = -0.15, # Drop the lowest 15% of hits
60  exponent = -2.0, # Harmonic02
61 )
62 
63 dedxTruncated40 = dedxHarmonic2.clone(estimator = 'truncated')
64 
65 dedxMedian = dedxHarmonic2.clone(estimator = 'median')
66 
67 dedxUnbinned = dedxHarmonic2.clone(estimator = 'unbinnedFit')
68 
69 dedxDiscrimProd = dedxHarmonic2.clone(estimator = 'productDiscrim')
70 
71 dedxDiscrimBTag = dedxHarmonic2.clone(estimator = 'btagDiscrim')
72 
73 dedxDiscrimSmi = dedxHarmonic2.clone(estimator = 'smirnovDiscrim')
74 
75 dedxDiscrimASmi = dedxHarmonic2.clone(estimator = 'asmirnovDiscrim')
76 
77 doAlldEdXEstimatorsTask = cms.Task(dedxTruncated40 , dedxHarmonic2 , dedxPixelHarmonic2 , dedxPixelAndStripHarmonic2T085 , dedxHitInfo)
78 doAlldEdXEstimators = cms.Sequence(doAlldEdXEstimatorsTask)
79 
80 fastSim.toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(dedxHarmonic2, dedxPixelHarmonic2))