CMS 3D CMS Logo

PixelCPEGeneric_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoLocalTracker.SiPixelRecHits._generic_default_cfi import _generic_default
4 PixelCPEGenericESProducer = _generic_default.clone()
5 
6 # This customizes the Run3 Pixel CPE generic reconstruction in order to activate the IrradiationBiasCorrection
7 # because of the expected resolution loss due to radiation damage
8 from Configuration.Eras.Modifier_run3_common_cff import run3_common
9 run3_common.toModify(PixelCPEGenericESProducer, IrradiationBiasCorrection = True)
10 
11 # customize the Pixel CPE generic producer for phase2
12 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
13 phase2_tracker.toModify(PixelCPEGenericESProducer,
14  UseErrorsFromTemplates = True,
15  LoadTemplatesFromDB = True,
16  NoTemplateErrorsWhenNoTrkAngles = True,
17  TruncatePixelCharge = False,
18  IrradiationBiasCorrection = False, # set IBC off
19  DoCosmics = False,
20  Upgrade = True # use 'upgrade' version of hardcoded CPE errors
21 )
22 
23 # customize the Pixel CPE generic producer for phase2 3D pixels
24 # Will remove any usage of template / genError payloads from the reconstruction
25 from Configuration.Eras.Modifier_phase2_3DPixels_cff import phase2_3DPixels
26 from Configuration.ProcessModifiers.PixelCPEGeneric_cff import PixelCPEGeneric
27 (phase2_tracker & (phase2_3DPixels & PixelCPEGeneric)).toModify(PixelCPEGenericESProducer,
28  UseErrorsFromTemplates = False, # no GenErrors
29  LoadTemplatesFromDB = False, # do not load templates
30  )
31 
32 # customize the Pixel CPE generic producer for phase2 square pixels
33 # Do use Template errors for square pixels even in the first tracking step
34 # This is needed because hardcoded errors in https://github.com/cms-sw/cmssw/blob/master/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGeneric.cc#L113
35 # have been optimized for rectangular 25x100 pixels, and in the current generic reco setup we use hardcoded errors for the first tracking pass
36 from Configuration.Eras.Modifier_phase2_squarePixels_cff import phase2_squarePixels
37 (phase2_tracker & (phase2_squarePixels | phase2_3DPixels)).toModify(PixelCPEGenericESProducer,
38  NoTemplateErrorsWhenNoTrkAngles = False # use genErrors in the seeding step (when no track angles are available)
39  )