CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SLHCUpgradeSimulations/Configuration/python/customise_mixing.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 #this is obsolete I think
00004 def customise_pixelMixing(process):
00005     process.mix.digitizers.pixel.MissCalibrate = False
00006     process.mix.digitizers.pixel.LorentzAngle_DB = False
00007     process.mix.digitizers.pixel.killModules = False
00008     process.mix.digitizers.pixel.useDB = False
00009     process.mix.digitizers.pixel.DeadModules_DB = False
00010     process.mix.digitizers.pixel.NumPixelBarrel = cms.int32(4)
00011     process.mix.digitizers.pixel.NumPixelEndcap = cms.int32(3)
00012     process.mix.digitizers.pixel.ThresholdInElectrons_FPix = cms.double(2000.0)
00013     process.mix.digitizers.pixel.ThresholdInElectrons_BPix = cms.double(2000.0)
00014     process.mix.digitizers.pixel.ThresholdInElectrons_BPix_L1 = cms.double(2000.0)
00015     process.mix.digitizers.pixel.thePixelColEfficiency_BPix4 = cms.double(0.999)
00016     process.mix.digitizers.pixel.thePixelEfficiency_BPix4 = cms.double(0.999)
00017     process.mix.digitizers.pixel.thePixelChipEfficiency_BPix4 = cms.double(0.999)
00018     return (process)
00019 
00020 # Remove the Crossing Frames to save memory
00021 def customise_NoCrossing(process):
00022     process.mix.mixObjects.mixSH.crossingFrames = cms.untracked.vstring(
00023         'BSCHits',
00024         'FP420SI',
00025         'MuonCSCHits',
00026         'MuonDTHits',
00027         'MuonRPCHits',
00028         'TotemHitsRP',
00029         'TotemHitsT1',
00030         'TotemHitsT2Gem')
00031     process.mix.mixObjects.mixCH.crossingFrames = cms.untracked.vstring('')
00032     process.mix.mixObjects.mixTracks.makeCrossingFrame = cms.untracked.bool(False)
00033 #    process.mix.mixObjects.mixVertices.makeCrossingFrame = cms.untracked.bool(False)
00034     process.mix.mixObjects.mixHepMC.makeCrossingFrame = cms.untracked.bool(False)
00035     return (process)
00036 
00037 def customise_pixelMixing_PU(process):
00038     if hasattr(process,'mix'): 
00039         n=0
00040         if hasattr(process.mix,'input'):
00041             n=process.mix.input.nbPileupEvents.averageNumber.value()
00042         if n>0:
00043             process.mix.digitizers.pixel.thePixelColEfficiency_BPix1 = cms.double(1.0-(0.0238*n/50.0))
00044             process.mix.digitizers.pixel.thePixelColEfficiency_BPix2 = cms.double(1.0-(0.0046*n/50.0))
00045             process.mix.digitizers.pixel.thePixelColEfficiency_BPix3 = cms.double(1.0-(0.0018*n/50.0))
00046             process.mix.digitizers.pixel.thePixelColEfficiency_BPix4 = cms.double(1.0-(0.0008*n/50.0))
00047             process.mix.digitizers.pixel.thePixelColEfficiency_FPix1 = cms.double(1.0-(0.0018*n/50.0))
00048             process.mix.digitizers.pixel.thePixelColEfficiency_FPix2 = cms.double(1.0-(0.0018*n/50.0))
00049             process.mix.digitizers.pixel.thePixelColEfficiency_FPix3 = cms.double(1.0-(0.0018*n/50.0))
00050         
00051     return (process)
00052 
00053 def customise_NoCrossing_PU(process):
00054     process=customise_pixelMixing_PU(process)
00055     process=customise_NoCrossing(process)
00056     return (process)
00057