CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 # Conversion to GenParticleCandidates 
00006 from PhysicsTools.HepMCCandAlgos.genParticleCandidatesFast_cfi import *
00007 
00008 # Pile-up options: FAMOS-style or with the Mixing Module
00009 #the sequence is defined as a p[lace holder, to be defined separatedly
00010 #from FastSimulation.Configuration.MixingFamos_cff import *
00011 #from FastSimulation.Configuration.MixingFull_cff import *
00012 
00013 # Famos SimHits producer
00014 from FastSimulation.EventProducer.FamosSimHits_cff import *
00015 
00016 # Gaussian Smearing RecHit producer
00017 from FastSimulation.TrackingRecHitProducer.SiTrackerGaussianSmearingRecHitConverter_cfi import *
00018 
00019 # Rec Hit Tranlator to the Full map with DeTId'
00020 from FastSimulation.TrackingRecHitProducer.TrackingRecHitTranslator_cfi import *
00021 
00022 # CTF and Iterative Tracking (contains pixelTracks and pixelVertices)
00023 
00024 # 1) Common algorithms and Configuration taken from full reconstruction
00025 # Note: The runge-kutta propagator is not used here 
00026 # (because no magnetic field inhomogeneities are simulated between layers)
00027 from FastSimulation.Tracking.GSTrackFinalFitCommon_cff import *
00028 
00029 # 2) Specific cuts - not needed anymore, as a specific KFFittingSmoother deals with that.
00030 # Add a chi**2 cut to retain/reject hits
00031 # KFFittingSmoother.EstimateCut = 15.0
00032 # Request three hits to make a track
00033 # KFFittingSmoother.MinNumberOfHits = 3
00034 
00035 # 3) Fast Simulation Tracking sequences
00036 # this one is added before 340pre3 to cope with adding SiPixelTemplateDBObjectESProducer and corresponding objects to the ConfDB (MC_3XY_V11, STARTUP3X_V10)
00037 from CalibTracker.SiPixelESProducers.SiPixelTemplateDBObjectESProducer_cfi import *
00038 from FastSimulation.Tracking.GlobalPixelTracking_cff import *
00039 from FastSimulation.Tracking.IterativeTracking_cff import *
00040 
00041 # Calo RecHits producer (with no HCAL miscalibration by default)
00042 from FastSimulation.CaloRecHitsProducer.CaloRecHits_cff import *
00043 from RecoLocalCalo.HcalRecAlgos.hcalRecAlgoESProd_cfi import *
00044 
00045 # ECAL clusters
00046 from RecoEcal.Configuration.RecoEcal_cff import *
00047 reducedEcalRecHitsSequence.remove(seldigis)
00048 # HCAL clusters
00049 from RecoLocalCalo.HcalRecProducers.HcalHitSelection_cfi import *
00050 reducedHcalRecHitsSequence = cms.Sequence( reducedHcalRecHits )
00051 
00052 reducedRecHits = cms.Sequence ( reducedEcalRecHitsSequence * reducedHcalRecHitsSequence )
00053 
00054 
00055 # Calo Towers
00056 from RecoJets.Configuration.CaloTowersRec_cff import *
00057 
00058 # Particle Flow (all interactions with ParticleFlow are dealt with in the following Configuration)
00059 #from FastSimulation.ParticleFlow.ParticleFlowFastSim_cff import *
00060 from FastSimulation.ParticleFlow.ParticleFlowFastSimNeutralHadron_cff import * # this is the famous "PF patch", see https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFastSimFAQ#I_observe_a_discrepancy_in_energ
00061 
00062 
00063 # Reco Jets and MET
00064 from RecoJets.Configuration.RecoJetsGlobal_cff import *
00065 from RecoMET.Configuration.RecoMET_cff import *
00066 metreco.remove(BeamHaloId)
00067 
00068 caloJets = cms.Sequence(
00069     RecoJets+
00070     recoJetIds+
00071     recoTrackJets
00072 )
00073 
00074 jetTrackAssoc = cms.Sequence (
00075     recoJetAssociations
00076     )
00077 
00078 jetPlusTracks = cms.Sequence(
00079     recoJPTJets
00080     )
00081 
00082 metReco = cms.Sequence(
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 caloJetMetGen = cms.Sequence(
00095     genParticles+
00096     genJetParticles+
00097     recoGenJets+
00098     genMETParticles+
00099     recoGenMET
00100 )
00101 
00102 
00103 # Muon simHit sequence 
00104 from FastSimulation.MuonSimHitProducer.MuonSimHitProducer_cfi import *
00105 
00106 # Muon Digi sequence
00107 from SimMuon.Configuration.SimMuon_cff import *
00108 simMuonCSCDigis.strips.doCorrelatedNoise = False ## Saves a little bit of time
00109 
00110 
00111 if (MixingMode==2):
00112     simMuonCSCDigis.mixLabel = 'mixSimCaloHits'
00113     simMuonDTDigis.mixLabel = 'mixSimCaloHits'
00114     simMuonRPCDigis.mixLabel = 'mixSimCaloHits'
00115 else:
00116     simMuonCSCDigis.InputCollection = 'MuonSimHitsMuonCSCHits'
00117     simMuonDTDigis.InputCollection = 'MuonSimHitsMuonDTHits'
00118     simMuonRPCDigis.InputCollection = 'MuonSimHitsMuonRPCHits'
00119 
00120 # Muon RecHit sequence
00121 from RecoLocalMuon.Configuration.RecoLocalMuon_cff import *
00122 csc2DRecHits.stripDigiTag = cms.InputTag("simMuonCSCDigis","MuonCSCStripDigi")
00123 csc2DRecHits.wireDigiTag = cms.InputTag("simMuonCSCDigis","MuonCSCWireDigi")
00124 rpcRecHits.rpcDigiLabel = 'simMuonRPCDigis'
00125 dt1DRecHits.dtDigiLabel = 'simMuonDTDigis'
00126 dt1DCosmicRecHits.dtDigiLabel = 'simMuonDTDigis'
00127 
00128 # Muon reconstruction sequence
00129 from RecoMuon.TrackingTools.MuonServiceProxy_cff import *
00130 from RecoMuon.TrackingTools.MuonTrackLoader_cff import *
00131 KFSmootherForMuonTrackLoader.Propagator = 'SmartPropagatorAny'
00132 from RecoMuon.MuonSeedGenerator.standAloneMuonSeeds_cff import *
00133 from RecoMuon.StandAloneMuonProducer.standAloneMuons_cff import *
00134 from RecoMuon.Configuration.RecoMuonPPonly_cff import refittedStandAloneMuons
00135 from FastSimulation.Configuration.globalMuons_cff import *
00136 globalMuons.GLBTrajBuilderParameters.TrackTransformer.TrackerRecHitBuilder = 'WithoutRefit'
00137 globalMuons.GLBTrajBuilderParameters.TrackerRecHitBuilder = 'WithoutRefit'
00138 globalMuons.GLBTrajBuilderParameters.TransformerOutPropagator = cms.string('SmartPropagatorAny')
00139 globalMuons.GLBTrajBuilderParameters.MatcherOutPropagator = cms.string('SmartPropagator')
00140 
00141 from RecoMuon.GlobalMuonProducer.tevMuons_cfi import *
00142 GlobalMuonRefitter.TrackerRecHitBuilder = 'WithoutRefit'
00143 GlobalMuonRefitter.Propagator = 'SmartPropagatorAny'
00144 GlobalTrajectoryBuilderCommon.TrackerRecHitBuilder = 'WithoutRefit'
00145 tevMuons.RefitterParameters.TrackerRecHitBuilder = 'WithoutRefit'
00146 tevMuons.RefitterParameters.Propagator =  'SmartPropagatorAny'
00147 KFSmootherForRefitInsideOut.Propagator = 'SmartPropagatorAny'
00148 KFSmootherForRefitOutsideIn.Propagator = 'SmartPropagator'
00149 KFFitterForRefitInsideOut.Propagator = 'SmartPropagatorAny'
00150 KFFitterForRefitOutsideIn.Propagator = 'SmartPropagatorAny'
00151 
00152 if (CaloMode==3):
00153     famosMuonSequence = cms.Sequence(
00154         muonlocalreco+
00155         ancientMuonSeed+
00156         standAloneMuons+
00157         refittedStandAloneMuons+    
00158         globalMuons+
00159         tevMuons
00160         )
00161 else:
00162     famosMuonSequence = cms.Sequence(
00163         muonDigi+ 
00164         muonlocalreco+
00165         ancientMuonSeed+
00166         standAloneMuons+
00167         refittedStandAloneMuons+    
00168         globalMuons+
00169         tevMuons
00170         )
00171 
00172 #Muon identification sequence
00173 from RecoMuon.MuonIdentification.muonIdProducerSequence_cff import *
00174 
00175 # Muon isolation
00176 from RecoMuon.MuonIsolationProducers.muIsolation_cff import *
00177 
00178 famosMuonIdAndIsolationSequence = cms.Sequence(
00179     ak5CaloJets+
00180     muonIdProducerSequence+
00181     muIsolation
00182 )
00183 
00184 from RecoMuon.MuonIdentification.muons_cfi import *
00185 muons.FillSelectorMaps = False
00186 muons.FillCosmicsIdMap = False
00187 from RecoMuon.MuonIsolation.muonPFIsolation_cff import *
00188 
00189 muonshighlevelreco = cms.Sequence(muonPFIsolationSequence*muons)
00190 
00191 
00192 # Electron reconstruction
00193 from FastSimulation.Tracking.globalCombinedSeeds_cfi import *
00194 from RecoEgamma.EgammaHFProducers.hfEMClusteringSequence_cff import *
00195 from RecoEgamma.EgammaElectronProducers.ecalDrivenElectronSeeds_cfi import *
00196 from FastSimulation.EgammaElectronAlgos.electronGSGsfTrackCandidates_cff import *
00197 from RecoEgamma.EgammaElectronProducers.gsfElectronSequence_cff import *
00198 from RecoEgamma.EgammaElectronProducers.gedGsfElectronSequence_cff import *
00199 from TrackingTools.GsfTracking.GsfElectronFit_cff import *
00200 from RecoEgamma.EgammaPhotonProducers.conversionTrackSequence_cff import *
00201 from RecoEgamma.EgammaPhotonProducers.allConversionSequence_cff import *
00202 from RecoEgamma.EgammaPhotonProducers.gedPhotonSequence_cff import *
00203 from RecoEgamma.Configuration.RecoEgamma_cff import egammaHighLevelRecoPostPF
00204 allConversions.src = 'gsfGeneralConversionTrackMerger'
00205 famosConversionSequence = cms.Sequence(conversionTrackSequenceNoEcalSeeded*allConversionSequence)
00206 
00207 from TrackingTools.GsfTracking.CkfElectronCandidateMaker_cff import *
00208 from TrackingTools.GsfTracking.FwdElectronPropagator_cfi import *
00209 import TrackingTools.GsfTracking.GsfElectronFit_cfi
00210 
00211 egammaEcalDrivenReco = cms.Sequence(gsfEcalDrivenElectronSequence)
00212 electronGsfTracks = TrackingTools.GsfTracking.GsfElectronFit_cfi.GsfGlobalElectronTest.clone()
00213 electronGsfTracks.src = 'electronGSGsfTrackCandidates'
00214 electronGsfTracks.TTRHBuilder = 'WithoutRefit'
00215 electronGsfTracks.TrajectoryInEvent = True
00216 
00217 
00218 # PF related electron sequences defined in FastSimulation.ParticleFlow.ParticleFlowFastSim_cff
00219 from RecoEgamma.ElectronIdentification.electronIdSequence_cff import *
00220 
00221 iterativeTrackingBeginning = cms.Sequence(
00222     iterativeInitialSeeds+
00223     iterativePixelPairSeeds+
00224     iterativeMixedTripletStepSeeds+
00225     iterativePixelLessSeeds
00226     )
00227 
00228 famosGsfTrackSequence = cms.Sequence(
00229     iterativeTrackingBeginning+ 
00230     newCombinedSeeds+
00231     particleFlowCluster+ 
00232     ecalDrivenElectronSeeds+
00233     trackerDrivenElectronSeeds+
00234     electronMergedSeeds+
00235     electronGSGsfTrackCandidates+
00236     electronGsfTracks
00237 )
00238 
00239 # Photon reconstruction
00240 from RecoEgamma.EgammaPhotonProducers.photonSequence_cff import *
00241 photons.hbheInstance = ''
00242 from RecoEgamma.PhotonIdentification.photonId_cff import *
00243 
00244 famosPhotonSequence = cms.Sequence(
00245     photonSequence+
00246     photonIDSequence
00247 )
00248 
00249 # Add pre-calculated isolation sums for electrons (NB for photons they are stored in the Photon. All is done in the
00250 # sequence above
00251 from RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff import *
00252 
00253 #Add egamma ecal interesting rec hits
00254 from RecoEgamma.EgammaIsolationAlgos.interestingEleIsoDetIdModule_cff import *
00255 from RecoEgamma.EgammaIsolationAlgos.interestingGamIsoDetIdModule_cff import *
00256 
00257 from RecoEgamma.EgammaIsolationAlgos.interestingEgammaIsoDetIdsSequence_cff import *
00258 
00259 
00260 
00261 # B tagging
00262 from RecoJets.JetAssociationProducers.ak5JTA_cff import *
00263 from RecoVertex.Configuration.RecoVertex_cff import *
00264 from RecoVertex.BeamSpotProducer.BeamSpot_cff import *
00265 from RecoBTag.Configuration.RecoBTag_cff import *
00266 
00267 famosBTaggingSequence = cms.Sequence(
00268     btagging
00269 )
00270 
00271 
00272 ############### FastSim sequences
00273 
00274 # Calo simulation mode is defined in FastSimulation/CaloRecHitsProducer/python/CaloRecHits_cff.py
00275 if(CaloMode==0):
00276     simulationSequence = cms.Sequence(
00277         offlineBeamSpot+
00278         cms.SequencePlaceholder("famosMixing")+
00279         famosSimHits+
00280         MuonSimHits+
00281         cms.SequencePlaceholder("mix")
00282         )
00283     lowLevelRecoSequence = cms.Sequence(
00284         siTrackerGaussianSmearingRecHits+
00285         caloRecHits
00286         )
00287     famosSimulationSequence = cms.Sequence(
00288         simulationSequence+
00289         lowLevelRecoSequence
00290         )
00291     trackVertexReco = cms.Sequence(
00292         cms.SequencePlaceholder("mix")+
00293         iterativeTracking+
00294         vertexreco
00295         )
00296     caloTowersSequence = cms.Sequence(
00297         caloTowersRec
00298         )
00299 elif(CaloMode==1):
00300     simulationSequence = cms.Sequence(
00301         offlineBeamSpot+
00302         cms.SequencePlaceholder("famosMixing")+
00303         famosSimHits+
00304         MuonSimHits+
00305         cms.SequencePlaceholder("mix")
00306         )
00307     lowLevelRecoSequence = cms.Sequence(
00308         siTrackerGaussianSmearingRecHits+
00309         caloDigis+
00310         caloRecHits 
00311         )
00312     famosSimulationSequence = cms.Sequence(
00313         simulationSequence+
00314         lowLevelRecoSequence
00315         )
00316     trackVertexReco = cms.Sequence(
00317         cms.SequencePlaceholder("mix")+
00318         iterativeTracking+
00319         vertexreco
00320         )
00321     caloTowersSequence = cms.Sequence(
00322         caloTowersRec
00323         )
00324 elif(CaloMode==2):
00325     simulationSequence = cms.Sequence(
00326         offlineBeamSpot+
00327         cms.SequencePlaceholder("famosMixing")+
00328         famosSimHits+
00329         MuonSimHits+
00330         cms.SequencePlaceholder("mix")
00331         )
00332     lowLevelRecoSequence = cms.Sequence(
00333         siTrackerGaussianSmearingRecHits+
00334         iterativeTracking+ # because tracks are used for noise cleaning in HCAL low-level reco
00335         caloDigis+
00336         caloRecHits 
00337         )
00338     famosSimulationSequence = cms.Sequence(
00339         simulationSequence+
00340         lowLevelRecoSequence
00341         )
00342     trackVertexReco = cms.Sequence(
00343         cms.SequencePlaceholder("mix")+
00344         iterativeTracking+ # this repetition is normally harmless, but it is annoying if you want to run SIM and RECO in two steps
00345         vertexreco
00346         )
00347     caloTowersSequence = cms.Sequence(
00348         caloTowersRec
00349         )
00350 elif(CaloMode==3):
00351     if(MixingMode==1):
00352         simulationSequence = cms.Sequence(
00353             offlineBeamSpot+
00354             cms.SequencePlaceholder("famosMixing")+
00355             famosSimHits+
00356             MuonSimHits
00357             )
00358         digitizationSequence = cms.Sequence(
00359             cms.SequencePlaceholder("mix")+
00360             muonDigi+
00361             caloDigis
00362             )
00363         trackVertexReco = cms.Sequence(
00364             siTrackerGaussianSmearingRecHits+
00365             iterativeTracking+ 
00366             vertexreco
00367             )
00368     else:
00369         simulationSequence = cms.Sequence(
00370             offlineBeamSpot+
00371             famosSimHits+
00372             MuonSimHits
00373             )
00374         digitizationSequence = cms.Sequence(
00375             cms.SequencePlaceholder("mixHits")+
00376             muonDigi+
00377             caloDigis
00378             )
00379         trackVertexReco = cms.Sequence(
00380             siTrackerGaussianSmearingRecHits+
00381             iterativeTracking+ 
00382             cms.SequencePlaceholder("mixTracks")+ 
00383             vertexreco
00384             )
00385 # out of the 'if':
00386     caloTowersSequence = cms.Sequence(
00387         caloRecHits+
00388         caloTowersRec
00389         )
00390     famosSimulationSequence = cms.Sequence( # valid for both MixingMode values
00391         simulationSequence+
00392         digitizationSequence#+ # temporary; eventually it will be a block of its own, but it requires intervention on ConfigBuilder
00393         # Note: of course it is a bit odd that the next two sequences are made part of the SIM step, but this is a temporary solution needed because currently HLT is run before reconstructionWithFamos, and HLT needs to access the caloRecHits, which in turn depend on tracks because HCAL hits use the TrackExtrapolator
00394 #        trackVertexReco+
00395 #        caloTowersSequence
00396         )
00397 
00398 
00399 famosEcalDrivenElectronSequence = cms.Sequence(
00400     famosGsfTrackSequence+
00401     egammaEcalDrivenReco
00402 )
00403 
00404 # The reconstruction sequence
00405 if(CaloMode==3):
00406     reconstructionWithFamos = cms.Sequence(
00407         digitizationSequence+ # temporary; repetition!
00408         trackVertexReco+
00409         caloTowersSequence+
00410         particleFlowCluster+
00411         ecalClusters+
00412         famosGsfTrackSequence+
00413         famosMuonSequence+
00414         famosMuonIdAndIsolationSequence+
00415         famosConversionSequence+
00416         particleFlowTrackWithDisplacedVertex+
00417         famosEcalDrivenElectronSequence+
00418         famosPhotonSequence+
00419         famosParticleFlowSequence+
00420         egammaHighLevelRecoPostPF+
00421         muonshighlevelreco+
00422         particleFlowLinks+
00423         caloJetMetGen+
00424         caloJets+
00425         PFJetMet+
00426         jetTrackAssoc+
00427         recoJPTJets+
00428         metreco+
00429         reducedRecHits+
00430         famosBTaggingSequence+
00431         famosPFTauTaggingSequence
00432         )
00433 else:
00434     reconstructionWithFamos = cms.Sequence(
00435         trackVertexReco+
00436         caloTowersSequence+
00437         particleFlowCluster+
00438         ecalClusters+
00439         famosGsfTrackSequence+
00440         famosMuonSequence+
00441         famosMuonIdAndIsolationSequence+
00442         famosConversionSequence+
00443         particleFlowTrackWithDisplacedVertex+
00444         famosEcalDrivenElectronSequence+
00445         famosPhotonSequence+
00446         famosParticleFlowSequence+
00447         egammaHighLevelRecoPostPF+
00448         muonshighlevelreco+
00449         particleFlowLinks+
00450         caloJetMetGen+
00451         caloJets+
00452         PFJetMet+
00453         jetTrackAssoc+
00454         recoJPTJets+
00455         metreco+
00456         reducedRecHits+
00457         famosBTaggingSequence+
00458         famosPFTauTaggingSequence
00459         )
00460 
00461 
00462 
00463 
00464 # Special sequences for two-step operation
00465 simulationWithSomeReconstruction = cms.Sequence(
00466     famosSimulationSequence+
00467     siTrackerGaussianSmearingRecHits+
00468     iterativeTracking+
00469     vertexreco+
00470     caloTowersSequence+
00471     particleFlowCluster+
00472     ecalClusters+
00473     famosGsfTrackSequence+
00474     famosMuonSequence+
00475     famosMuonIdAndIsolationSequence+
00476     famosConversionSequence+
00477     particleFlowTrackWithDisplacedVertex+
00478     famosEcalDrivenElectronSequence+
00479     famosPhotonSequence+
00480     famosParticleFlowSequence+
00481     egammaHighLevelRecoPostPF
00482     )
00483 
00484 reconstructionHighLevel = cms.Sequence(
00485     cms.SequencePlaceholder("mix")+
00486     muonshighlevelreco+
00487     particleFlowLinks+
00488     caloJetMetGen+
00489     caloJets+
00490     PFJetMet+
00491     jetTrackAssoc+
00492     recoJPTJets+
00493     metreco+
00494     reducedRecHits+
00495     famosBTaggingSequence+
00496     famosPFTauTaggingSequence
00497 )
00498 
00499 # Famos pre-defined sequences (and self-explanatory names)
00500 
00501 famosWithTrackerHits = cms.Sequence(
00502     famosSimulationSequence+
00503     siTrackerGaussianSmearingRecHits
00504 )
00505 
00506 famosWithTracks = cms.Sequence(
00507     famosWithTrackerHits+
00508     iterativeTracking
00509     )
00510 
00511 famosWithTracksAndMuonHits = cms.Sequence(
00512     famosSimulationSequence+
00513     siTrackerGaussianSmearingRecHits+
00514     iterativeTracking+
00515     vertexreco+
00516     famosMuonSequence
00517 )
00518 
00519 famosWithTracksAndMuons = cms.Sequence(
00520     famosSimulationSequence+
00521     siTrackerGaussianSmearingRecHits+
00522     iterativeTracking+
00523     vertexreco+
00524     famosMuonSequence+
00525     caloTowersSequence+
00526     famosMuonIdAndIsolationSequence
00527 )
00528 
00529 famosWithCaloHits = cms.Sequence(
00530     famosSimulationSequence+
00531     caloTowersSequence
00532 )
00533 
00534 famosWithEcalClusters = cms.Sequence(
00535     famosWithCaloHits+
00536     particleFlowCluster+
00537     ecalClusters
00538 )
00539 
00540 famosWithTracksAndCaloHits = cms.Sequence(
00541     famosWithTracks+
00542     caloTowersSequence
00543 )
00544 
00545 famosWithTracksAndEcalClusters = cms.Sequence(
00546     famosWithTracksAndCaloHits+
00547     particleFlowCluster+
00548     ecalClusters
00549 )
00550 
00551     
00552 famosWithParticleFlow = cms.Sequence(
00553     famosWithTracksAndEcalClusters+
00554     vertexreco+
00555     famosGsfTrackSequence+
00556     famosConversionSequence+
00557     caloTowersSequence+ 
00558     famosParticleFlowSequence+
00559     PFJetMet
00560 )
00561 
00562 famosWithCaloTowers = cms.Sequence(
00563     famosWithCaloHits+
00564     caloTowersSequence
00565 )
00566 
00567 famosElectronSequence = cms.Sequence(
00568     famosGsfTrackSequence+
00569     famosEcalDrivenElectronSequence+
00570     famosWithParticleFlow+
00571     egammaHighLevelRecoPostPF+
00572     gsfElectronSequence+
00573     eIdSequence
00574 )
00575 
00576 famosWithTracksAndCaloTowers = cms.Sequence(
00577     famosWithTracksAndCaloHits+
00578     caloTowersSequence
00579 )
00580 
00581 famosWithTracksAndJets = cms.Sequence(
00582     famosWithTracksAndCaloTowers+
00583     vertexreco+
00584     caloJetMetGen+
00585     caloJets+
00586     metreco
00587 )
00588 
00589 ### Standard Jets _cannot_ be done without many other things...
00590 #######################################################################
00591 famosWithJets = cms.Sequence(
00592     famosWithTracksAndCaloTowers+
00593     vertexreco+
00594     particleFlowCluster+
00595     ecalClusters+
00596     famosGsfTrackSequence+
00597     famosMuonSequence+
00598     famosMuonIdAndIsolationSequence+
00599     famosParticleFlowSequence+
00600     gsfElectronSequence+        
00601     caloJetMetGen+
00602     caloJets+
00603     metreco
00604 )
00605 
00606 famosWithCaloTowersAndParticleFlow = cms.Sequence(
00607     famosWithParticleFlow+
00608     caloTowersSequence
00609 )
00610 
00611 
00612 famosWithElectrons = cms.Sequence(
00613     famosWithTracksAndEcalClusters+
00614     caloTowersSequence+
00615     famosGsfTrackSequence+
00616     famosParticleFlowSequence+
00617     famosElectronSequence+
00618     interestingEleIsoDetIdEB+
00619     interestingEleIsoDetIdEE+
00620     egammaIsolationSequence
00621 )
00622 
00623 famosWithPhotons = cms.Sequence(
00624     famosWithTracks+
00625     vertexreco+
00626     caloRecHits+
00627     ecalClustersNoPFBox+
00628     famosPhotonSequence+
00629     interestingGamIsoDetIdEB+
00630     interestingGamIsoDetIdEE
00631 )
00632 
00633 famosWithElectronsAndPhotons = cms.Sequence(
00634     famosWithTracks+
00635     vertexreco+
00636     caloTowersSequence+
00637     ecalClustersNoPFBox+
00638     famosElectronSequence+
00639     famosPhotonSequence+
00640     interestingEgammaIsoDetIds+
00641     egammaIsolationSequence
00642 )
00643 
00644 famosWithBTagging = cms.Sequence(
00645     famosWithTracksAndCaloTowers+
00646     vertexreco+
00647     ak5PFJetsCHS+
00648     PFJetMet+
00649     jetTrackAssoc+
00650     metreco+
00651     ecalClustersNoPFBox+
00652     famosMuonSequence+
00653     reducedRecHits+ 
00654     famosBTaggingSequence
00655     )
00656 
00657 
00658 famosWithPFTauTagging = cms.Sequence(
00659     famosWithCaloTowersAndParticleFlow+
00660     famosPFTauTaggingSequence
00661 )
00662 
00663 # The simulation sequence without muon digitization
00664 simulationNoMuonDigiWithFamos = cms.Sequence(
00665     famosSimulationSequence+
00666     siTrackerGaussianSmearingRecHits
00667 )
00668 
00669 # The simulation and digitization sequence
00670 simulationWithFamos = cms.Sequence(
00671     famosSimulationSequence#+
00672 #    muonDigi+
00673 #    siTrackerGaussianSmearingRecHits
00674 )
00675 
00676 
00677 
00678 reconstructionWithFamosNoTk = cms.Sequence(
00679     vertexreco+
00680     caloTowersSequence+
00681     particleFlowCluster+
00682     ecalClusters+
00683     famosGsfTrackSequence+
00684     famosMuonSequence+
00685     famosMuonIdAndIsolationSequence+
00686     famosConversionSequence+
00687     particleFlowTrackWithDisplacedVertex+
00688     famosEcalDrivenElectronSequence+
00689     famosPhotonSequence+
00690     famosParticleFlowSequence+
00691     egammaHighLevelRecoPostPF+
00692     muonshighlevelreco+
00693     caloJetMetGen+
00694     caloJets+
00695     metreco+
00696     PFJetMet+
00697     jetTrackAssoc+
00698     recoJPTJets+
00699     metreco+
00700     reducedRecHits+
00701     famosBTaggingSequence+
00702     famosPFTauTaggingSequence
00703 )
00704 
00705 # Simulation plus reconstruction
00706 famosWithEverything = cms.Sequence(
00707     simulationWithFamos+
00708     reconstructionWithFamos
00709 )
00710