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