Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-06-11 03:00:13

0001 ################################################################################################
0002 # This script runs DTC + prompt tracklet + KF interface + new KF emulator with analyzer for each step
0003 # allowing to identify problems quickly during developement.
0004 # This script is a specialized and light-weight version of L1TrackNtupleMaker_cfg.py
0005 # To run execute do
0006 # cmsRun L1Trigger/TrackFindingTracklet/test/HybridTracksNewKF_cfg.py
0007 # where the arguments take default values if you don't specify them. You can change defaults below.
0008 #################################################################################################
0009 
0010 import FWCore.ParameterSet.Config as cms
0011 
0012 process = cms.Process( "Demo" )
0013 process.load( 'FWCore.MessageService.MessageLogger_cfi' )
0014 process.load( 'Configuration.EventContent.EventContent_cff' )
0015 process.load( 'Configuration.Geometry.GeometryExtendedRun4D110Reco_cff' ) 
0016 process.load( 'Configuration.Geometry.GeometryExtendedRun4D110_cff' )
0017 process.load( 'Configuration.StandardSequences.MagneticField_cff' )
0018 process.load( 'Configuration.StandardSequences.FrontierConditions_GlobalTag_cff' )
0019 process.load( 'L1Trigger.TrackTrigger.TrackTrigger_cff' )
0020 
0021 from Configuration.AlCa.GlobalTag import GlobalTag
0022 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic', '')
0023 
0024 # load code that associates stubs with mctruth
0025 process.load( 'SimTracker.TrackTriggerAssociation.StubAssociator_cff' )
0026 # load code that produces DTCStubs
0027 process.load( 'L1Trigger.TrackerDTC.DTC_cff' )
0028 # load code that analyzes DTCStubs
0029 process.load( 'L1Trigger.TrackerDTC.Analyzer_cff' )
0030 # L1 tracking => hybrid emulation 
0031 process.load("L1Trigger.TrackFindingTracklet.L1HybridEmulationTracks_cff")
0032 #--- Load code that analyzes hybrid emulation 
0033 process.load( 'L1Trigger.TrackFindingTracklet.Analyzer_cff' )
0034 # load code that fits hybrid tracks
0035 process.load( 'L1Trigger.TrackFindingTracklet.Producer_cff' )
0036 from L1Trigger.TrackFindingTracklet.Customize_cff import *
0037 fwConfig( process )
0038 oldKFConfig( process )
0039 process.l1tTTTracksFromTrackletEmulation.readMoreMcTruth = False
0040 
0041 # build schedule
0042 process.mc       = cms.Sequence( process.StubAssociator                             )
0043 process.dtc      = cms.Sequence( process.ProducerDTC     + process.AnalyzerDTC      )
0044 process.tracklet = cms.Sequence( process.L1THybridTracks + process.AnalyzerTracklet )
0045 process.tm       = cms.Sequence( process.ProducerTM      + process.AnalyzerTM       )
0046 process.dr       = cms.Sequence( process.ProducerDR      + process.AnalyzerDR       )
0047 process.kf       = cms.Sequence( process.ProducerKF      + process.AnalyzerKF       )
0048 process.tq       = cms.Sequence( process.ProducerTQ      + process.AnalyzerTQ       )
0049 process.tfp      = cms.Sequence( process.ProducerTFP     + process.AnalyzerTFP      )
0050 process.tt       = cms.Path( process.mc + process.dtc + process.tracklet + process.tm + process.dr + process.kf + process.tq + process.tfp )
0051 process.schedule = cms.Schedule( process.tt )
0052 
0053 # create options
0054 import FWCore.ParameterSet.VarParsing as VarParsing
0055 options = VarParsing.VarParsing( 'analysis' )
0056 # specify input MC
0057 #from MCsamples.Scripts.getCMSdata_cfi import *
0058 #from MCsamples.Scripts.getCMSlocaldata_cfi import *
0059 #from MCsamples.RelVal_1260_D88.PU200_TTbar_14TeV_cfi import *
0060 #inputMC = getCMSdataFromCards()
0061 Samples = ["/store/mc/Phase2Spring24DIGIRECOMiniAOD/TT_TuneCP5_14TeV-powheg-pythia8/GEN-SIM-DIGI-RAW-MINIAOD/PU200_Trk1GeV_140X_mcRun4_realistic_v4-v2/130000/00c7f40e-b44e-4eea-a86b-def8f7d82b0e.root"]
0062 options.register( 'inputMC', Samples, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Files to be processed" )
0063 # specify number of events to process.
0064 options.register( 'Events',100,VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.int, "Number of Events to analyze" )
0065 options.parseArguments()
0066 
0067 process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) )
0068 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(options.Events) )
0069 process.source = cms.Source(
0070   "PoolSource",
0071   fileNames = cms.untracked.vstring( options.inputMC ),
0072   #skipEvents = cms.untracked.uint32( 3537 ),
0073   secondaryFileNames = cms.untracked.vstring(),
0074   duplicateCheckMode = cms.untracked.string( 'noDuplicateCheck' )
0075 )
0076 process.Timing = cms.Service( "Timing", summaryOnly = cms.untracked.bool( True ) )
0077 process.MessageLogger.cerr.enableStatistics = False
0078 process.MessageLogger.L1track = dict(limit = -1)
0079 process.TFileService = cms.Service( "TFileService", fileName = cms.string( "Hist.root" ) )
0080 
0081 if ( False ):
0082   process.out = cms.OutputModule (
0083     "PoolOutputModule",
0084     fileName = cms.untracked.string("L1Tracks.root"),
0085     fastCloning = cms.untracked.bool( False ),
0086     outputCommands = cms.untracked.vstring('drop *', 'keep *_TTTrack*_*_*', 'keep *_TTStub*_*_*' )
0087   )
0088   process.FEVToutput_step = cms.EndPath( process.out )
0089   process.schedule.append( process.FEVToutput_step )