00001 import FWCore.ParameterSet.Config as cms
00002
00003 def customise(process):
00004 if hasattr(process,'DigiToRaw'):
00005 process=customise_DigiToRaw(process)
00006 if hasattr(process,'RawToDigi'):
00007 process=customise_RawToDigi(process)
00008 if hasattr(process,'reconstruction'):
00009 process=customise_Reco(process)
00010 if hasattr(process,'digitisation_step'):
00011 process=customise_Digi(process)
00012 if hasattr(process,'dqmoffline_step'):
00013 process=customise_DQM(process)
00014 if hasattr(process,'dqmHarvesting'):
00015 process=customise_harvesting(process)
00016 if hasattr(process,'validation_step'):
00017 process=customise_Validation(process)
00018 process=customise_condOverRides(process)
00019
00020 return process
00021
00022 def customise_Digi(process):
00023 process.mix.digitizers.pixel.MissCalibrate = False
00024 process.mix.digitizers.pixel.LorentzAngle_DB = False
00025 process.mix.digitizers.pixel.killModules = False
00026 process.mix.digitizers.pixel.useDB = False
00027 process.mix.digitizers.pixel.DeadModules_DB = False
00028 process.mix.digitizers.pixel.NumPixelBarrel = cms.int32(10)
00029 process.mix.digitizers.pixel.NumPixelEndcap = cms.int32(10)
00030 process.mix.digitizers.pixel.ThresholdInElectrons_FPix = cms.double(2000.0)
00031 process.mix.digitizers.pixel.ThresholdInElectrons_BPix = cms.double(2000.0)
00032 process.mix.digitizers.pixel.ThresholdInElectrons_BPix_L1 = cms.double(2000.0)
00033 process.mix.digitizers.pixel.thePixelColEfficiency_BPix4 = cms.double(0.999)
00034 process.mix.digitizers.pixel.thePixelEfficiency_BPix4 = cms.double(0.999)
00035 process.mix.digitizers.pixel.thePixelChipEfficiency_BPix4 = cms.double(0.999)
00036 process.mix.digitizers.pixel.thePixelColEfficiency_FPix3 = cms.double(0.999)
00037 process.mix.digitizers.pixel.thePixelEfficiency_FPix3 = cms.double(0.999)
00038 process.mix.digitizers.pixel.thePixelChipEfficiency_FPix3 = cms.double(0.999)
00039 process.mix.digitizers.pixel.AddPixelInefficiencyFromPython = cms.bool(False)
00040 process.mix.digitizers.strip.ROUList = cms.vstring("g4SimHitsTrackerHitsPixelBarrelLowTof",
00041 'g4SimHitsTrackerHitsPixelEndcapLowTof')
00042 process.digitisation_step.remove(process.simSiStripDigiSimLink)
00043 process.mergedtruth.simHitCollections.tracker = []
00044 return process
00045
00046
00047 def customise_DigiToRaw(process):
00048 process.digi2raw_step.remove(process.siPixelRawData)
00049 process.digi2raw_step.remove(process.rpcpacker)
00050 return process
00051
00052 def customise_RawToDigi(process):
00053 process.raw2digi_step.remove(process.siPixelDigis)
00054 return process
00055
00056 def customise_Reco(process):
00057
00058
00059
00060 process.reconstruction.remove(process.pixelLessStepSeedClusterMask)
00061 process.reconstruction.remove(process.castorreco)
00062 process.reconstruction.remove(process.CastorTowerReco)
00063 process.reconstruction.remove(process.ak7BasicJets)
00064 process.reconstruction.remove(process.ak7CastorJetID)
00065
00066
00067 process.MixedTripletStep.remove(process.mixedTripletStepSeedsB)
00068 process.mixedTripletStepSeeds = cms.EDProducer("SeedCombiner",
00069 seedCollections = cms.VInputTag(cms.InputTag("mixedTripletStepSeedsA"))
00070 )
00071 process.load("RecoTracker.IterativeTracking.HighPtTripletStep_cff")
00072 from RecoTracker.IterativeTracking.HighPtTripletStep_cff import HighPtTripletStep
00073 process.iterTracking = cms.Sequence(process.InitialStep*
00074 process.HighPtTripletStep*
00075 process.LowPtTripletStep*
00076 process.PixelPairStep*
00077 process.DetachedTripletStep*
00078 process.MixedTripletStep*
00079
00080
00081 process.earlyGeneralTracks*
00082 process.muonSeededStep*
00083 process.preDuplicateMergingGeneralTracks*
00084 process.generalTracksSequence*
00085 process.ConvStep*
00086 process.conversionStepTracks
00087 )
00088
00089
00090
00091
00092 process.convClusters.oldClusterRemovalInfo=cms.InputTag("mixedTripletStepClusters")
00093 process.convClusters.trajectories=cms.InputTag("mixedTripletStepTracks")
00094 process.convClusters.overrideTrkQuals= cms.InputTag("mixedTripletStep")
00095 process.mixedTripletStepSeedLayersA.layerList = cms.vstring('BPix1+BPix2+BPix3',
00096 'BPix1+BPix2+FPix1_pos',
00097 'BPix1+BPix2+FPix1_neg',
00098 'BPix1+FPix1_pos+FPix2_pos',
00099 'BPix1+FPix1_neg+FPix2_neg',
00100 'BPix2+FPix1_pos+FPix2_pos',
00101 'BPix2+FPix1_neg+FPix2_neg')
00102
00103 process.earlyGeneralTracks.setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4), pQual=cms.bool(True) ))
00104 process.earlyGeneralTracks.hasSelector=cms.vint32(1,1,1,1,1)
00105 process.earlyGeneralTracks.selectedTrackQuals = cms.VInputTag(
00106 cms.InputTag("initialStepSelector","initialStep"),
00107 cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
00108 cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
00109 cms.InputTag("pixelPairStepSelector","pixelPairStep"),
00110 cms.InputTag("mixedTripletStep")
00111 )
00112 process.earlyGeneralTracks.TrackProducers = cms.VInputTag(
00113 cms.InputTag("initialStepTracks"),
00114 cms.InputTag("highPtTripletStepTracks"),
00115 cms.InputTag("lowPtTripletStepTracks"),
00116 cms.InputTag("pixelPairStepTracks"),
00117 cms.InputTag("mixedTripletStepTracks")
00118 )
00119
00120 process.tripletElectronSeedLayers.BPix.skipClusters=cms.InputTag('mixedTripletStepSeedClusterMask')
00121 process.tripletElectronSeedLayers.FPix.skipClusters=cms.InputTag('mixedTripletStepSeedClusterMask')
00122 process.tripletElectronClusterMask.oldClusterRemovalInfo=cms.InputTag('mixedTripletStepSeedClusterMask')
00123
00124 process.initialStepSeedClusterMask.oldClusterRemovalInfo=cms.InputTag("mixedTripletStepClusters")
00125 process.newCombinedSeeds.seedCollections = cms.VInputTag(cms.InputTag('initialStepSeeds'),
00126 cms.InputTag("highPtTripletStepSeeds"),
00127 cms.InputTag('pixelPairStepSeeds'),
00128 cms.InputTag('mixedTripletStepSeeds'),
00129 cms.InputTag('tripletElectronSeeds'),
00130 cms.InputTag('pixelPairElectronSeeds'),
00131 cms.InputTag('stripPairElectronSeeds') )
00132 process.stripPairElectronSeedLayers.layerList = cms.vstring('BPix4+BPix5')
00133 process.stripPairElectronSeedLayers.BPix = cms.PSet(
00134 HitProducer = cms.string('siPixelRecHits'),
00135 hitErrorRZ = cms.double(0.006),
00136 useErrorsFromParam = cms.bool(True),
00137 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00138 skipClusters = cms.InputTag("pixelPairStepClusters"),
00139 hitErrorRPhi = cms.double(0.0027)
00140 )
00141 process.regionalCosmicTrackerSeeds.OrderedHitsFactoryPSet.LayerPSet.layerList = cms.vstring('BPix10+BPix9')
00142 process.regionalCosmicTrackerSeeds.OrderedHitsFactoryPSet.LayerPSet.BPix = cms.PSet(
00143 HitProducer = cms.string('siPixelRecHits'),
00144 hitErrorRZ = cms.double(0.006),
00145 useErrorsFromParam = cms.bool(True),
00146 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00147 skipClusters = cms.InputTag("pixelPairStepClusters"),
00148 hitErrorRPhi = cms.double(0.0027)
00149 )
00150 process.pixelTracks.SeedMergerPSet = cms.PSet(
00151 layerListName = cms.string('PixelSeedMergerQuadruplets'),
00152 addRemainingTriplets = cms.bool(False),
00153 mergeTriplets = cms.bool(True),
00154 ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle')
00155 )
00156 process.initialStepSeedClusterMask.oldClusterRemovalInfo=cms.InputTag("mixedTripletStepClusters")
00157
00158
00159 process.MeasurementTracker.inactivePixelDetectorLabels = cms.VInputTag()
00160 process.load("SLHCUpgradeSimulations.Geometry.recoFromSimDigis_cff")
00161
00162
00163 process.ClusterShapeHitFilterESProducer.PixelShapeFile = cms.string('RecoPixelVertexing/PixelLowPtUtilities/data/pixelShape_Phase1Tk.par')
00164
00165 process.mergedDuplicateTracks.TTRHBuilder = 'WithTrackAngle'
00166 process.ctfWithMaterialTracks.TTRHBuilder = 'WithTrackAngle'
00167 process.PixelCPEGenericESProducer.UseErrorsFromTemplates = cms.bool(False)
00168 process.PixelCPEGenericESProducer.TruncatePixelCharge = cms.bool(False)
00169 process.PixelCPEGenericESProducer.LoadTemplatesFromDB = cms.bool(False)
00170 process.PixelCPEGenericESProducer.Upgrade = cms.bool(True)
00171 process.PixelCPEGenericESProducer.IrradiationBiasCorrection = False
00172 process.PixelCPEGenericESProducer.DoCosmics = False
00173 process.siPixelRecHits.CPE = cms.string('PixelCPEGeneric')
00174
00175 process.load("RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff")
00176 process.pixelseedmergerlayers.BPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
00177 process.pixelseedmergerlayers.BPix.HitProducer = cms.string("siPixelRecHits" )
00178 process.pixelseedmergerlayers.FPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
00179 process.pixelseedmergerlayers.FPix.HitProducer = cms.string("siPixelRecHits" )
00180
00181 process.highPtTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00182 process.detachedTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00183 process.initialStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00184 process.pixelPairStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00185 process.lowPtTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00186 process.convStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00187 process.mixedTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle')
00188 process.muonSeededSeedsInOut.TrackerRecHitBuilder = cms.string('WithTrackAngle')
00189 process.muonSeededTracksInOut.TTRHBuilder = cms.string('WithTrackAngle')
00190 process.muons1stStep.TrackerKinkFinderParameters.TrackerRecHitBuilder=cms.string('WithTrackAngle')
00191 process.regionalCosmicTracks.TTRHBuilder=cms.string('WithTrackAngle')
00192 process.cosmicsVetoTracksRaw.TTRHBuilder=cms.string('WithTrackAngle')
00193
00194 return process
00195
00196 def customise_condOverRides(process):
00197 process.load('SLHCUpgradeSimulations.Geometry.fakeConditions_BarrelEndcap_cff')
00198 process.trackerNumberingSLHCGeometry.layerNumberPXB = cms.uint32(20)
00199 process.trackerTopologyConstants.pxb_layerStartBit = cms.uint32(20)
00200 process.trackerTopologyConstants.pxb_ladderStartBit = cms.uint32(12)
00201 process.trackerTopologyConstants.pxb_moduleStartBit = cms.uint32(2)
00202 process.trackerTopologyConstants.pxb_layerMask = cms.uint32(15)
00203 process.trackerTopologyConstants.pxb_ladderMask = cms.uint32(255)
00204 process.trackerTopologyConstants.pxb_moduleMask = cms.uint32(1023)
00205 process.trackerTopologyConstants.pxf_diskStartBit = cms.uint32(18)
00206 process.trackerTopologyConstants.pxf_bladeStartBit = cms.uint32(12)
00207 process.trackerTopologyConstants.pxf_panelStartBit = cms.uint32(10)
00208 process.trackerTopologyConstants.pxf_moduleMask = cms.uint32(255)
00209 return process
00210
00211
00212 def l1EventContent(process):
00213
00214
00215 alist=['RAWSIM','FEVTDEBUG','FEVTDEBUGHLT','GENRAW','RAWSIMHLT','FEVT']
00216 for a in alist:
00217 b=a+'output'
00218 if hasattr(process,b):
00219 getattr(process,b).outputCommands.append('keep PSimHits_g4SimHits_*_*')
00220 getattr(process,b).outputCommands.append('keep SimTracks_g4SimHits_*_*')
00221 getattr(process,b).outputCommands.append('keep SimVertexs_g4SimHits_*_*')
00222 getattr(process,b).outputCommands.append('keep *_simSiPixelDigis_*_*')
00223 getattr(process,b).outputCommands.append('keep *_genParticles_*_*')
00224 getattr(process,b).outputCommands.append('keep *_L1TkBeams_*_*')
00225 getattr(process,b).outputCommands.append('keep *_L1TkClustersFromPixelDigis_*_*')
00226 getattr(process,b).outputCommands.append('keep *_L1TkClustersFromSimHits_*_*')
00227 getattr(process,b).outputCommands.append('keep *_L1TkStubsFromPixelDigis_*_*')
00228 getattr(process,b).outputCommands.append('keep *_L1TkStubsFromSimHits_*_*')
00229 getattr(process,b).outputCommands.append('keep *_siPixelRecHits_*_*')
00230
00231 getattr(process,b).outputCommands.append('drop PSimHits_g4SimHits_EcalHitsEB_*')
00232 getattr(process,b).outputCommands.append('drop PSimHits_g4SimHits_EcalHitsEE_*')
00233 getattr(process,b).outputCommands.append('drop *_L1TkStubsFromSimHits_StubsFail_*')
00234 return process
00235