File indexing completed on 2024-04-06 12:22:08
0001
0002
0003
0004
0005
0006
0007
0008 import FWCore.ParameterSet.Config as cms
0009 import FWCore.Utilities.FileUtils as FileUtils
0010 import os
0011 process = cms.Process("L1TrackNtuple")
0012
0013
0014
0015
0016
0017
0018
0019 GEOMETRY = "D98"
0020
0021
0022
0023
0024
0025
0026 L1TRKALGO = 'HYBRID'
0027
0028 WRITE_DATA = False
0029
0030
0031
0032
0033
0034 process.load('Configuration.StandardSequences.Services_cff')
0035 process.load('Configuration.EventContent.EventContent_cff')
0036 process.load('Configuration.StandardSequences.MagneticField_cff')
0037
0038 process.load('FWCore.MessageService.MessageLogger_cfi')
0039 process.MessageLogger.L1track = dict(limit = -1)
0040 process.MessageLogger.Tracklet = dict(limit = -1)
0041 process.MessageLogger.TrackTriggerHPH = dict(limit = -1)
0042
0043 if GEOMETRY == "D88" or GEOMETRY == 'D98':
0044 print("using geometry " + GEOMETRY + " (tilted)")
0045 process.load('Configuration.Geometry.GeometryExtended2026' + GEOMETRY + 'Reco_cff')
0046 process.load('Configuration.Geometry.GeometryExtended2026' + GEOMETRY +'_cff')
0047 else:
0048 print("this is not a valid geometry!!!")
0049
0050 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0051 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0052
0053 from Configuration.AlCa.GlobalTag import GlobalTag
0054 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic', '')
0055
0056
0057
0058
0059
0060
0061 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(100))
0062
0063
0064
0065
0066
0067
0068
0069 if GEOMETRY == "D98":
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083 inputMC = ["/store/relval/CMSSW_14_0_0_pre2/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_133X_mcRun4_realistic_v1_STD_2026D98_PU200_RV229-v1/2580000/0b2b0b0b-f312-48a8-9d46-ccbadc69bbfd.root"]
0084
0085 elif GEOMETRY == "D88":
0086
0087
0088 inputMC = ["/store/mc/CMSSW_12_6_0/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_125X_mcRun4_realistic_v5_2026D88PU200RV183v2-v1/30000/0959f326-3f52-48d8-9fcf-65fc41de4e27.root"]
0089
0090 else:
0091
0092 print("this is not a valid geometry!!!")
0093
0094 process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring(*inputMC))
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109 process.TFileService = cms.Service("TFileService", fileName = cms.string('L1TrkNtuple.root'), closeFileFast = cms.untracked.bool(True))
0110 process.Timing = cms.Service("Timing", summaryOnly = cms.untracked.bool(True))
0111
0112
0113
0114
0115
0116
0117 process.load('L1Trigger.TrackTrigger.TrackTrigger_cff')
0118 process.load('L1Trigger.TrackerTFP.ProducerES_cff')
0119 process.load('L1Trigger.TrackerTFP.ProducerLayerEncoding_cff')
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133 process.load('L1Trigger.TrackerDTC.ProducerED_cff')
0134
0135
0136
0137
0138
0139
0140
0141
0142 process.dtc = cms.Path(process.TrackerDTCProducer)
0143
0144 process.TrackerDTCProducer.CheckHistory = True
0145
0146
0147
0148
0149
0150 process.load("L1Trigger.TrackFindingTracklet.L1HybridEmulationTracks_cff")
0151
0152
0153 if (L1TRKALGO == 'HYBRID'):
0154 process.TTTracksEmulation = cms.Path(process.L1THybridTracks)
0155 process.TTTracksEmulationWithTruth = cms.Path(process.L1THybridTracksWithAssociators)
0156 NHELIXPAR = 4
0157 L1TRK_NAME = "l1tTTTracksFromTrackletEmulation"
0158 L1TRK_LABEL = "Level1TTTracks"
0159 L1TRUTH_NAME = "TTTrackAssociatorFromPixelDigis"
0160
0161
0162 elif (L1TRKALGO == 'HYBRID_DISPLACED'):
0163 process.TTTracksEmulation = cms.Path(process.L1TExtendedHybridTracks)
0164 process.TTTracksEmulationWithTruth = cms.Path(process.L1TExtendedHybridTracksWithAssociators)
0165 NHELIXPAR = 5
0166 L1TRK_NAME = "l1tTTTracksFromExtendedTrackletEmulation"
0167 L1TRK_LABEL = "Level1TTTracks"
0168 L1TRUTH_NAME = "TTTrackAssociatorFromPixelDigisExtended"
0169
0170
0171 elif (L1TRKALGO == 'HYBRID_NEWKF' or L1TRKALGO == 'HYBRID_REDUCED'):
0172 process.load( 'L1Trigger.TrackFindingTracklet.Producer_cff' )
0173 NHELIXPAR = 4
0174 L1TRK_NAME = process.TrackFindingTrackletProducer_params.LabelTT.value()
0175 L1TRK_LABEL = process.TrackFindingTrackletProducer_params.BranchAcceptedTracks.value()
0176 L1TRUTH_NAME = "TTTrackAssociatorFromPixelDigis"
0177 process.TTTrackAssociatorFromPixelDigis.TTTracks = cms.VInputTag( cms.InputTag(L1TRK_NAME, L1TRK_LABEL) )
0178 process.HybridNewKF = cms.Sequence(process.L1THybridTracks + process.TrackFindingTrackletProducerTBout + process.TrackFindingTrackletProducerDRin + process.TrackFindingTrackletProducerDR + process.TrackFindingTrackletProducerKFin + process.TrackFindingTrackletProducerKF + process.TrackFindingTrackletProducerTT + process.TrackFindingTrackletProducerAS + process.TrackFindingTrackletProducerKFout)
0179 process.TTTracksEmulation = cms.Path(process.HybridNewKF)
0180
0181
0182 process.load( 'SimTracker.TrackTriggerAssociation.StubAssociator_cff' )
0183 process.load( 'L1Trigger.TrackFindingTracklet.Analyzer_cff' )
0184 process.TTTracksEmulationWithTruth = cms.Path(process.HybridNewKF + process.TrackTriggerAssociatorTracks + process.StubAssociator + process.TrackFindingTrackletAnalyzerTracklet + process.TrackFindingTrackletAnalyzerTBout + process.TrackFindingTrackletAnalyzerDRin + process.TrackFindingTrackletAnalyzerDR + process.TrackFindingTrackletAnalyzerKFin + process.TrackFindingTrackletAnalyzerKF + process.TrackFindingTrackletAnalyzerKFout)
0185 from L1Trigger.TrackFindingTracklet.Customize_cff import *
0186 if (L1TRKALGO == 'HYBRID_NEWKF'):
0187 fwConfig( process )
0188 if (L1TRKALGO == 'HYBRID_REDUCED'):
0189 reducedConfig( process )
0190
0191 process.HitPatternHelperSetup.useNewKF = True
0192
0193
0194 elif (L1TRKALGO == 'TRACKLET'):
0195 print("\n WARNING: This is not the baseline algorithm! Prefer HYBRID or HYBRID_DISPLACED!")
0196 print("\n To run the Tracklet-only algorithm, ensure you have commented out 'CXXFLAGS=-DUSEHYBRID' in BuildFile.xml & recompiled! \n")
0197 process.TTTracksEmulation = cms.Path(process.L1THybridTracks)
0198 process.TTTracksEmulationWithTruth = cms.Path(process.L1THybridTracksWithAssociators)
0199 NHELIXPAR = 4
0200 L1TRK_NAME = "l1tTTTracksFromTrackletEmulation"
0201 L1TRK_LABEL = "Level1TTTracks"
0202 L1TRUTH_NAME = "TTTrackAssociatorFromPixelDigis"
0203
0204
0205 elif (L1TRKALGO == 'TMTT'):
0206 print("\n WARNING: This is not the baseline algorithm! Prefer HYBRID or HYBRID_DISPLACED! \n")
0207 process.load("L1Trigger.TrackFindingTMTT.TMTrackProducer_Ultimate_cff")
0208 L1TRK_PROC = process.TMTrackProducer
0209 L1TRK_NAME = "TMTrackProducer"
0210 L1TRK_LABEL = "TML1TracksKF4ParamsComb"
0211 L1TRUTH_NAME = "TTTrackAssociatorFromPixelDigis"
0212 NHELIXPAR = 4
0213 L1TRK_PROC.EnableMCtruth = cms.bool(False)
0214 L1TRK_PROC.EnableHistos = cms.bool(False)
0215 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cfi")
0216 process.load("SimTracker.TrackTriggerAssociation.TrackTriggerAssociator_cff")
0217 process.TTTrackAssociatorFromPixelDigis.TTTracks = cms.VInputTag( cms.InputTag(L1TRK_NAME, L1TRK_LABEL) )
0218 process.TTTracksEmulation = cms.Path(process.offlineBeamSpot*L1TRK_PROC)
0219 process.TTTracksEmulationWithTruth = cms.Path(process.offlineBeamSpot*L1TRK_PROC*process.TrackTriggerAssociatorTracks)
0220
0221 else:
0222 print("ERROR: Unknown L1TRKALGO option")
0223 exit(1)
0224
0225
0226
0227 from L1Trigger.TrackFindingTracklet.L1TrackNtupleMaker_cfi import *
0228 process.L1TrackNtuple = L1TrackNtupleMaker.clone(
0229 L1Tk_nPar = NHELIXPAR,
0230 L1TrackInputTag = (L1TRK_NAME, L1TRK_LABEL),
0231 MCTruthTrackInputTag = (L1TRUTH_NAME, L1TRK_LABEL),
0232 )
0233
0234 process.ana = cms.Path(process.L1TrackNtuple)
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248 process.schedule = cms.Schedule(process.dtc,process.TTTracksEmulationWithTruth,process.ana)
0249
0250
0251
0252
0253
0254
0255 if (WRITE_DATA):
0256 process.writeDataset = cms.OutputModule("PoolOutputModule",
0257 splitLevel = cms.untracked.int32(0),
0258 eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0259 outputCommands = process.RAWSIMEventContent.outputCommands,
0260 fileName = cms.untracked.string('output_dataset.root'),
0261 dataset = cms.untracked.PSet(
0262 filterName = cms.untracked.string(''),
0263 dataTier = cms.untracked.string('GEN-SIM')
0264 )
0265 )
0266 process.writeDataset.outputCommands.append('keep *TTTrack*_*_*_*')
0267 process.writeDataset.outputCommands.append('keep *TTStub*_*_*_*')
0268
0269 process.pd = cms.EndPath(process.writeDataset)
0270 process.schedule.append(process.pd)
0271
0272
0273