CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/FastSimulation/Configuration/python/FamosSequences_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 from FastSimulation.Configuration.CommonInputs_cff import *
00004 
00005 # Primary vertex smearing.
00006 from IOMC.EventVertexGenerators.VtxSmearedGauss_cfi import *
00007 
00008 # Conversion to GenParticleCandidates 
00009 from PhysicsTools.HepMCCandAlgos.genParticleCandidatesFast_cfi import *
00010 
00011 # Famos PileUp Producer
00012 from FastSimulation.PileUpProducer.PileUpProducer_cff import *
00013 
00014 # PileupSummaryInfo
00015 from SimGeneral.PileupInformation.AddPileupSummary_cfi import *
00016 addPileupInfo.PileupMixingLabel = 'famosPileUp'
00017 addPileupInfo.simHitLabel = 'famosSimHits'
00018 
00019 # Famos SimHits producer
00020 from FastSimulation.EventProducer.FamosSimHits_cff import *
00021 
00022 # Mixing module 
00023 from FastSimulation.Configuration.mixNoPU_cfi import *
00024 
00025 # Gaussian Smearing RecHit producer
00026 from FastSimulation.TrackingRecHitProducer.SiTrackerGaussianSmearingRecHitConverter_cfi import *
00027 
00028 # Rec Hit Tranlator to the Full map with DeTId'
00029 from FastSimulation.TrackingRecHitProducer.TrackingRecHitTranslator_cfi import *
00030 
00031 # CTF and Iterative tracking (contains pixelTracks and pixelVertices)
00032 
00033 # 1) Common algorithms and Configuration taken from full reconstruction
00034 # Note: The runge-kutta propagator is not used here 
00035 # (because no magnetic field inhomogeneities are simulated between layers)
00036 from FastSimulation.Tracking.GSTrackFinalFitCommon_cff import *
00037 
00038 # 2) Specific cuts - not needed anymore, as a specific KFFittingSmoother deals with that.
00039 # Add a chi**2 cut to retain/reject hits
00040 # KFFittingSmoother.EstimateCut = 15.0
00041 # Request three hits to make a track
00042 # KFFittingSmoother.MinNumberOfHits = 3
00043 
00044 # 3) Fast Simulation tracking sequences
00045 # this one is added before 340pre3 to cope with adding SiPixelTemplateDBObjectESProducer and corresponding objects to the ConfDB (MC_3XY_V11, STARTUP3X_V10)
00046 from CalibTracker.SiPixelESProducers.SiPixelTemplateDBObjectESProducer_cfi import *
00047 from FastSimulation.Tracking.GlobalPixelTracking_cff import *
00048 from FastSimulation.Tracking.IterativeTracking_cff import *
00049 
00050 # Calo RecHits producer (with no HCAL miscalibration by default)
00051 from FastSimulation.CaloRecHitsProducer.CaloRecHits_cff import *
00052 from RecoLocalCalo.HcalRecAlgos.hcalRecAlgoESProd_cfi import *
00053 
00054 # ECAL clusters
00055 from RecoEcal.Configuration.RecoEcal_cff import *
00056 reducedEcalRecHitsSequence.remove(seldigis)
00057 # HCAL clusters
00058 from RecoLocalCalo.HcalRecProducers.HcalHitSelection_cfi import *
00059 reducedHcalRecHitsSequence = cms.Sequence( reducedHcalRecHits )
00060 
00061 reducedRecHits = cms.Sequence ( reducedEcalRecHitsSequence * reducedHcalRecHitsSequence )
00062 
00063 
00064 # Calo Towers
00065 from RecoJets.Configuration.CaloTowersRec_cff import *
00066 
00067 # Particle Flow (all interactions with ParticleFlow are dealt with in the following Configuration)
00068 from FastSimulation.ParticleFlow.ParticleFlowFastSim_cff import *
00069 #from FastSimulation.ParticleFlow.ParticleFlowFastSimNeutralHadron_cff import *
00070 
00071 
00072 # Reco Jets and MET
00073 from RecoJets.Configuration.RecoJetsGlobal_cff import *
00074 #from RecoJets.Configuration.JetIDProducers_cff import *
00075 from RecoMET.Configuration.RecoMET_cff import *
00076 metreco.remove(BeamHaloId)
00077 
00078 caloJetMet = cms.Sequence(
00079     RecoJets+
00080     recoJetIds+
00081     recoTrackJets+
00082     recoJetAssociations+recoJPTJets+
00083     metreco
00084 )
00085 
00086 
00087 
00088 # Gen Jets
00089 from PhysicsTools.HepMCCandAlgos.genParticles_cfi import *
00090 from RecoJets.Configuration.GenJetParticles_cff import *
00091 from RecoJets.Configuration.RecoGenJets_cff import *
00092 from RecoMET.Configuration.GenMETParticles_cff import *
00093 from RecoMET.Configuration.RecoGenMET_cff import *
00094 # No longer applicable according to Ronny
00095 #genCandidatesForMET.verbose = False
00096 caloJetMetGen = cms.Sequence(
00097     genParticles+
00098     genJetParticles+
00099     recoGenJets+
00100     genMETParticles+
00101     recoGenMET
00102 )
00103 
00104 # Muon parametrization
00105 #from FastSimulation.ParamL3MuonProducer.ParamL3Muon_cfi import *
00106 
00107 # Muon simHit sequence 
00108 from FastSimulation.MuonSimHitProducer.MuonSimHitProducer_cfi import *
00109 
00110 # Muon Digi sequence
00111 from SimMuon.Configuration.SimMuon_cff import *
00112 simMuonCSCDigis.strips.doCorrelatedNoise = False ## Saves a little bit of time
00113 
00114 simMuonCSCDigis.InputCollection = 'MuonSimHitsMuonCSCHits'
00115 simMuonDTDigis.InputCollection = 'MuonSimHitsMuonDTHits'
00116 simMuonRPCDigis.InputCollection = 'MuonSimHitsMuonRPCHits'
00117 
00118 # Muon RecHit sequence
00119 from RecoLocalMuon.Configuration.RecoLocalMuon_cff import *
00120 csc2DRecHits.stripDigiTag = cms.InputTag("simMuonCSCDigis","MuonCSCStripDigi")
00121 csc2DRecHits.wireDigiTag = cms.InputTag("simMuonCSCDigis","MuonCSCWireDigi")
00122 rpcRecHits.rpcDigiLabel = 'simMuonRPCDigis'
00123 dt1DRecHits.dtDigiLabel = 'simMuonDTDigis'
00124 dt1DCosmicRecHits.dtDigiLabel = 'simMuonDTDigis'
00125 
00126 # Muon reconstruction sequence
00127 from RecoMuon.TrackingTools.MuonServiceProxy_cff import *
00128 from RecoMuon.TrackingTools.MuonTrackLoader_cff import *
00129 KFSmootherForMuonTrackLoader.Propagator = 'SmartPropagatorAny'
00130 from RecoMuon.MuonSeedGenerator.standAloneMuonSeeds_cff import *
00131 from RecoMuon.StandAloneMuonProducer.standAloneMuons_cff import *
00132 from FastSimulation.Configuration.globalMuons_cff import *
00133 globalMuons.GLBTrajBuilderParameters.TrackTransformer.TrackerRecHitBuilder = 'WithoutRefit'
00134 globalMuons.GLBTrajBuilderParameters.TrackerRecHitBuilder = 'WithoutRefit'
00135 globalMuons.GLBTrajBuilderParameters.TransformerOutPropagator = cms.string('SmartPropagatorAny')
00136 globalMuons.GLBTrajBuilderParameters.MatcherOutPropagator = cms.string('SmartPropagator')
00137 
00138 from RecoMuon.GlobalMuonProducer.tevMuons_cfi import *
00139 GlobalMuonRefitter.TrackerRecHitBuilder = 'WithoutRefit'
00140 GlobalMuonRefitter.Propagator = 'SmartPropagatorAny'
00141 GlobalTrajectoryBuilderCommon.TrackerRecHitBuilder = 'WithoutRefit'
00142 tevMuons.RefitterParameters.TrackerRecHitBuilder = 'WithoutRefit'
00143 tevMuons.RefitterParameters.Propagator =  'SmartPropagatorAny'
00144 KFSmootherForRefitInsideOut.Propagator = 'SmartPropagatorAny'
00145 KFSmootherForRefitOutsideIn.Propagator = 'SmartPropagator'
00146 KFFitterForRefitInsideOut.Propagator = 'SmartPropagatorAny'
00147 KFFitterForRefitOutsideIn.Propagator = 'SmartPropagatorAny'
00148 
00149 famosMuonSequence = cms.Sequence(
00150     muonDigi+
00151     muonlocalreco+
00152     ancientMuonSeed+
00153     standAloneMuons+
00154     globalMuons+
00155     tevMuons
00156 )
00157 
00158 #Muon identification sequence
00159 #from FastSimulation.Configuration.muonIdentification_cff import *
00160 from RecoMuon.MuonIdentification.muonIdProducerSequence_cff import *
00161 # Use FastSim tracks and calo hits for muon id
00162 muons.inputCollectionLabels = cms.VInputTag(
00163     'generalTracks',
00164     'globalMuons',
00165     cms.InputTag("standAloneMuons","UpdatedAtVtx")
00166 )
00167 # Use FastSim tracks and calo hits for calo muon id
00168 calomuons.inputTracks = 'generalTracks'
00169 
00170 # Muon isolation
00171 from RecoMuon.MuonIsolationProducers.muIsolation_cff import *
00172 
00173 famosMuonIdAndIsolationSequence = cms.Sequence(
00174     ak5CaloJets+
00175     muonIdProducerSequence+
00176     muIsolation
00177 )
00178 
00179 # Electron reconstruction
00180 from FastSimulation.Tracking.globalCombinedSeeds_cfi import *
00181 #from RecoEgamma.Configuration.RecoEgamma_cff import *
00182 from RecoEgamma.EgammaHFProducers.hfEMClusteringSequence_cff import *
00183 from RecoEgamma.EgammaElectronProducers.ecalDrivenElectronSeeds_cfi import *
00184 from FastSimulation.EgammaElectronAlgos.electronGSGsfTrackCandidates_cff import *
00185 from RecoEgamma.EgammaElectronProducers.gsfElectronSequence_cff import *
00186 from TrackingTools.GsfTracking.GsfElectronFit_cff import *
00187 from RecoEgamma.EgammaPhotonProducers.conversionTrackSequence_cff import *
00188 from RecoEgamma.EgammaPhotonProducers.allConversionSequence_cff import *
00189 from RecoEgamma.Configuration.RecoEgamma_cff import egammaHighLevelRecoPostPF
00190 allConversions.src = 'gsfGeneralConversionTrackMerger'
00191 famosConversionSequence = cms.Sequence(conversionTrackSequenceNoEcalSeeded*allConversionSequence)
00192 
00193 from TrackingTools.GsfTracking.CkfElectronCandidateMaker_cff import *
00194 from TrackingTools.GsfTracking.FwdElectronPropagator_cfi import *
00195 import TrackingTools.GsfTracking.GsfElectronFit_cfi
00196 
00197 egammaEcalDrivenReco = cms.Sequence(gsfEcalDrivenElectronSequence)
00198 electronGsfTracks = TrackingTools.GsfTracking.GsfElectronFit_cfi.GsfGlobalElectronTest.clone()
00199 electronGsfTracks.src = 'electronGSGsfTrackCandidates'
00200 electronGsfTracks.TTRHBuilder = 'WithoutRefit'
00201 electronGsfTracks.TrajectoryInEvent = True
00202 
00203 
00204 # PF related electron sequences defined in FastSimulation.ParticleFlow.ParticleFlowFastSim_cff
00205 from RecoEgamma.ElectronIdentification.electronIdSequence_cff import *
00206 
00207 famosGsfTrackSequence = cms.Sequence(
00208     iterativeFirstSeeds+
00209     newCombinedSeeds+
00210     particleFlowCluster+ 
00211     ecalDrivenElectronSeeds+
00212     trackerDrivenElectronSeeds+
00213     electronMergedSeeds+
00214     electronGSGsfTrackCandidates+
00215     electronGsfTracks
00216 )
00217 
00218 # Photon reconstruction
00219 from RecoEgamma.EgammaPhotonProducers.photonSequence_cff import *
00220 photons.hbheInstance = ''
00221 #photons.pixelSeedProducer = 'fastElectronSeeds'
00222 from RecoEgamma.PhotonIdentification.photonId_cff import *
00223 
00224 famosPhotonSequence = cms.Sequence(
00225     photonSequence+
00226     photonIDSequence
00227 )
00228 
00229 # Add pre-calculated isolation sums for electrons (NB for photons they are stored in the Photon. All is done in the
00230 # sequence above
00231 from RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff import *
00232 
00233 #Add egamma ecal interesting rec hits
00234 from RecoEgamma.EgammaIsolationAlgos.interestingEleIsoDetIdModule_cff import *
00235 from RecoEgamma.EgammaIsolationAlgos.interestingGamIsoDetIdModule_cff import *
00236 
00237 from RecoEgamma.EgammaIsolationAlgos.interestingEgammaIsoDetIdsSequence_cff import *
00238 #import  RecoEgamma.EgammaIsolationAlgos.interestingEgammaIsoDetIdsSequence_cff
00239 
00240 
00241 
00242 # B tagging
00243 from RecoJets.JetAssociationProducers.ak5JTA_cff import *
00244 ak5JetTracksAssociatorAtVertex.tracks = 'generalTracks'
00245 from RecoVertex.Configuration.RecoVertex_cff import *
00246 from RecoVertex.BeamSpotProducer.BeamSpot_cff import *
00247 from RecoBTag.Configuration.RecoBTag_cff import *
00248 offlinePrimaryVerticesWithBS.TrackLabel = 'generalTracks'
00249 
00250 famosBTaggingSequence = cms.Sequence(
00251     btagging
00252 )
00253 
00254 # Tau tagging
00255 # All tau tagging sequences defined in FastSimulation/ParticleFlow/python
00256 
00257 # The sole simulation sequence
00258 famosSimulationSequence = cms.Sequence(
00259     offlineBeamSpot+
00260     famosPileUp+
00261     addPileupInfo+
00262     famosSimHits+
00263     MuonSimHits+
00264     mix
00265 )
00266 
00267 # Famos pre-defined sequences (and self-explanatory names)
00268 famosWithTrackerHits = cms.Sequence(
00269     famosSimulationSequence+
00270     siTrackerGaussianSmearingRecHits
00271 )
00272 
00273 famosWithTrackerAndCaloHits = cms.Sequence(
00274     famosWithTrackerHits+
00275     caloRecHits
00276 )
00277 
00278 famosWithTracks = cms.Sequence(
00279     famosWithTrackerHits+
00280     iterativeTracking
00281 )
00282 
00283 famosWithTracksAndMuonHits = cms.Sequence(
00284     famosSimulationSequence+
00285     siTrackerGaussianSmearingRecHits+
00286     iterativeTracking+
00287     vertexreco+
00288     famosMuonSequence
00289 )
00290 
00291 famosWithTracksAndMuons = cms.Sequence(
00292     famosSimulationSequence+
00293     siTrackerGaussianSmearingRecHits+
00294     iterativeTracking+
00295     vertexreco+
00296     famosMuonSequence+
00297     caloRecHits+
00298     caloTowersRec+
00299     famosMuonIdAndIsolationSequence
00300 )
00301 
00302 famosWithCaloHits = cms.Sequence(
00303     famosSimulationSequence+
00304     caloRecHits
00305 )
00306 
00307 famosWithEcalClusters = cms.Sequence(
00308     famosWithCaloHits+
00309     ecalClusters+
00310     particleFlowCluster
00311 )
00312 
00313 famosWithTracksAndCaloHits = cms.Sequence(
00314     famosWithTracks+
00315     caloRecHits
00316 )
00317 
00318 famosWithTracksAndEcalClusters = cms.Sequence(
00319     famosWithTracksAndCaloHits+
00320     ecalClusters+
00321     particleFlowCluster
00322 )
00323 
00324     
00325 famosWithParticleFlow = cms.Sequence(
00326     famosWithTracksAndEcalClusters+
00327     vertexreco+
00328     famosGsfTrackSequence+
00329     famosConversionSequence+
00330     caloTowersRec+ 
00331     famosParticleFlowSequence+
00332     PFJetMet
00333 )
00334 
00335 famosWithCaloTowers = cms.Sequence(
00336     famosWithCaloHits+
00337     caloTowersRec
00338 )
00339 
00340 famosEcalDrivenElectronSequence = cms.Sequence(
00341     famosGsfTrackSequence+
00342     egammaEcalDrivenReco
00343 )
00344 
00345 famosElectronSequence = cms.Sequence(
00346     famosGsfTrackSequence+
00347     famosEcalDrivenElectronSequence+
00348     famosWithParticleFlow+
00349     egammaHighLevelRecoPostPF+
00350     gsfElectronSequence+
00351     eIdSequence
00352 )
00353 
00354 famosWithTracksAndCaloTowers = cms.Sequence(
00355     famosWithTracksAndCaloHits+
00356     caloTowersRec
00357 )
00358 
00359 famosWithTracksAndJets = cms.Sequence(
00360     famosWithTracksAndCaloTowers+
00361     vertexreco+
00362     caloJetMetGen+
00363     caloJetMet
00364 )
00365 
00366 ### Standard Jets _cannot_ be done without many other things...
00367 #######################################################################
00368 famosWithJets = cms.Sequence(
00369     famosWithTracksAndCaloTowers+
00370     vertexreco+
00371     ecalClusters+
00372     particleFlowCluster+
00373     famosGsfTrackSequence+
00374     famosMuonSequence+
00375     famosMuonIdAndIsolationSequence+
00376     famosParticleFlowSequence+
00377     gsfElectronSequence+        
00378     caloJetMetGen+
00379     caloJetMet
00380 )
00381 
00382 ##--- simplified IC05 jets only
00383 famosWithSimpleJets = cms.Sequence(
00384     famosWithTracksAndCaloTowers+
00385     vertexreco+
00386     caloJetMetGen+
00387     iterativeCone5CaloJets+
00388     ic5JetTracksAssociatorAtVertex
00389 )
00390 
00391 famosWithCaloTowersAndParticleFlow = cms.Sequence(
00392     famosWithParticleFlow+
00393     caloTowersRec
00394 )
00395 
00396 #famosWithMuons = cms.Sequence(
00397 #    famosWithTracks+
00398 #    paramMuons
00399 #)
00400 #
00401 #famosWithMuonsAndIsolation = cms.Sequence(
00402 #    famosWithTracksAndCaloTowers+
00403 #    paramMuons+
00404 #    ak5CaloJets+
00405 #    muIsolation_ParamGlobalMuons
00406 #)
00407 
00408 famosWithElectrons = cms.Sequence(
00409     famosWithTracksAndEcalClusters+
00410     caloTowersRec+
00411     famosGsfTrackSequence+
00412     famosParticleFlowSequence+
00413     famosElectronSequence+
00414     interestingEleIsoDetIdEB+
00415     interestingEleIsoDetIdEE+
00416     egammaIsolationSequence
00417 )
00418 
00419 famosWithPhotons = cms.Sequence(
00420     famosWithTracks+
00421     vertexreco+
00422     caloRecHits+
00423     ecalClusters+
00424     famosPhotonSequence+
00425     interestingGamIsoDetIdEB+
00426     interestingGamIsoDetIdEE
00427 )
00428 
00429 famosWithElectronsAndPhotons = cms.Sequence(
00430     famosWithTracks+
00431     vertexreco+
00432     caloRecHits+
00433     ecalClusters+
00434     caloTowersRec+
00435     famosElectronSequence+
00436     famosPhotonSequence+
00437     interestingEgammaIsoDetIds+
00438     egammaIsolationSequence
00439 )
00440 
00441 famosWithBTagging = cms.Sequence(
00442     famosWithTracksAndCaloTowers+
00443     vertexreco+
00444     ak5CaloJets+
00445     ak5JetTracksAssociatorAtVertex+
00446     ecalClusters+
00447     famosMuonSequence+
00448     reducedRecHits+ 
00449     famosBTaggingSequence
00450     )
00451 
00452 famosWithTauTagging = cms.Sequence(
00453     famosWithTracksAndCaloTowers+
00454     vertexreco+
00455     iterativeCone5CaloJets+
00456     ic5JetTracksAssociatorAtVertex+
00457     ecalClusters+
00458     famosTauTaggingSequence
00459 )
00460 
00461 famosWithPFTauTagging = cms.Sequence(
00462     famosWithCaloTowersAndParticleFlow+
00463     famosPFTauTaggingSequence
00464 )
00465 
00466 # The simulation sequence without muon digitization
00467 simulationNoMuonDigiWithFamos = cms.Sequence(
00468     famosSimulationSequence+
00469     siTrackerGaussianSmearingRecHits+
00470     caloRecHits
00471 )
00472 
00473 # The simulation and digitization sequence
00474 simulationWithFamos = cms.Sequence(
00475     famosSimulationSequence+
00476     muonDigi+
00477     siTrackerGaussianSmearingRecHits+
00478     caloRecHits
00479 )
00480 
00481 
00482 # The reconstruction sequence
00483 reconstructionWithFamos = cms.Sequence(
00484     iterativeTracking+
00485     vertexreco+
00486     caloTowersRec+
00487     ecalClusters+
00488     particleFlowCluster+
00489     famosGsfTrackSequence+
00490     famosMuonSequence+
00491     famosMuonIdAndIsolationSequence+
00492     famosConversionSequence+
00493     particleFlowTrackWithDisplacedVertex+
00494     famosEcalDrivenElectronSequence+
00495     famosPhotonSequence+
00496     famosParticleFlowSequence+
00497     egammaHighLevelRecoPostPF+
00498     caloJetMetGen+
00499     caloJetMet+
00500     PFJetMet+
00501     ic5JetTracksAssociatorAtVertex+
00502     ak5JetTracksAssociatorAtVertex+
00503     famosTauTaggingSequence+
00504     reducedRecHits+
00505     famosBTaggingSequence+
00506     famosPFTauTaggingSequence
00507 )
00508 
00509 # Simulation plus reconstruction
00510 famosWithEverything = cms.Sequence(
00511     simulationWithFamos+
00512     reconstructionWithFamos
00513 )
00514