File indexing completed on 2024-11-06 06:06:46
0001
0002 import FWCore.ParameterSet.Config as cms
0003 process = cms.Process("L1TMuonEmulation")
0004 import os
0005 import sys
0006
0007 import re
0008 from os import listdir
0009 from os.path import isfile, join
0010 import fnmatch
0011
0012 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0013
0014 verbose = True
0015
0016 filesNameLike = sys.argv[1]
0017
0018 runDebug = "DEBUG"
0019
0020
0021
0022 version = "ExtraplMB1nadMB2DTQualAndRFixedP_ValueP1Scale_DT_4_4_t25c_" + filesNameLike
0023
0024 regeneratedL1DT = True
0025
0026 if not regeneratedL1DT :
0027 version = version + "_noDTReGen"
0028
0029 if verbose:
0030 process.MessageLogger = cms.Service("MessageLogger",
0031
0032 destinations = cms.untracked.vstring(
0033
0034
0035
0036
0037 'omtfEventPrint'
0038 ),
0039 categories = cms.untracked.vstring('l1tOmtfEventPrint', 'OMTFReconstruction'),
0040 omtfEventPrint = cms.untracked.PSet(
0041 filename = cms.untracked.string('Patterns_layerStat_' + version + "_" + filesNameLike),
0042 extension = cms.untracked.string('.txt'),
0043 threshold = cms.untracked.string('INFO'),
0044 default = cms.untracked.PSet( limit = cms.untracked.int32(0) ),
0045
0046
0047 l1tOmtfEventPrint = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) ),
0048 OMTFReconstruction = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) )
0049 ),
0050 debugModules = cms.untracked.vstring('simOmtfPhase2Digis')
0051
0052 )
0053
0054
0055 if not verbose:
0056 process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(-1)
0057 process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(False),
0058
0059 )
0060
0061
0062 process.load('Configuration.StandardSequences.Services_cff')
0063
0064
0065
0066
0067 process.load('Configuration.Geometry.GeometryExtendedRun4D95Reco_cff')
0068 process.load('Configuration.StandardSequences.MagneticField_cff')
0069
0070
0071
0072
0073 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0074 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0075
0076 from Configuration.AlCa.GlobalTag import GlobalTag
0077 process.GlobalTag = GlobalTag(process.GlobalTag, '131X_mcRun4_realistic_v9', '')
0078
0079 chosenFiles = []
0080
0081 cscBx = 8
0082 fileCnt = 100000
0083 if filesNameLike == 'mcWaw2023_OneOverPt_and_iPt2':
0084 cscBx = 8
0085 matchUsingPropagation = False
0086 paths = [
0087 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_20_04_2023/SingleMu_ch0_OneOverPt_12_5_2_p1_20_04_2023/", "fileCnt" : 500},
0088 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_20_04_2023/SingleMu_ch2_OneOverPt_12_5_2_p1_20_04_2023/", "fileCnt" : 500},
0089
0090 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_14_04_2023/SingleMu_ch0_OneOverPt_12_5_2_p1_14_04_2023/", "fileCnt" : 500},
0091 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_14_04_2023/SingleMu_ch2_OneOverPt_12_5_2_p1_14_04_2023/", "fileCnt" : 500},
0092
0093 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch0_OneOverPt_12_5_2_p1_04_04_2023/", "fileCnt" : 500},
0094 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch2_OneOverPt_12_5_2_p1_04_04_2023/", "fileCnt" : 500},
0095
0096 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_22_02_2023/SingleMu_ch0_OneOverPt_12_5_2_p1_22_02_2023/", "fileCnt" : 500},
0097 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_22_02_2023/SingleMu_ch2_OneOverPt_12_5_2_p1_22_02_2023/", "fileCnt" : 500},
0098
0099
0100
0101 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch0_iPt2_12_5_2_p1_04_04_2023/", "fileCnt" : 200},
0102 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch2_iPt2_12_5_2_p1_04_04_2023/", "fileCnt" : 200},
0103 ]
0104
0105 if filesNameLike == 'mcWaw2023_iPt1':
0106 cscBx = 8
0107 matchUsingPropagation = False
0108 paths = [
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch0_iPt1_12_5_2_p1_04_04_2023/", "fileCnt" : 100},
0124 {"path": "/eos/user/a/akalinow/Data/SingleMu/12_5_2_p1_04_04_2023/SingleMu_ch2_iPt1_12_5_2_p1_04_04_2023/", "fileCnt" : 100},
0125 ]
0126
0127
0128 print("input data paths", paths)
0129
0130 if(runDebug == "DEBUG") :
0131 fileCnt = 1;
0132
0133 for path in paths :
0134 root_files = []
0135 for root, dirs, files in os.walk(path["path"]):
0136 for file in fnmatch.filter(files, '*.root'):
0137 root_files.append(os.path.join(root, file))
0138
0139 file_num = 0
0140 for root_file in root_files :
0141 if isfile(root_file) :
0142 chosenFiles.append('file://' + root_file)
0143 file_num += 1
0144 else :
0145 print("file not found!!!!!!!: " + root_file)
0146
0147 if file_num >= path["fileCnt"] :
0148 break
0149 if file_num >= fileCnt :
0150 break
0151
0152 print("chosenFiles")
0153 for chFile in chosenFiles:
0154 print(chFile)
0155
0156
0157 print("chosen file count", len(chosenFiles) )
0158
0159 if len(chosenFiles) == 0 :
0160 print("no files selected!!!!!!!!!!!!!!!")
0161 exit
0162
0163 print("running version", version)
0164
0165
0166 process.source = cms.Source('PoolSource',
0167 fileNames = cms.untracked.vstring(
0168 *(list(chosenFiles)) ),
0169 skipEvents = cms.untracked.uint32(0),
0170 inputCommands=cms.untracked.vstring(
0171 'keep *',
0172 'drop l1tEMTFHit2016Extras_simEmtfDigis_CSC_HLT',
0173 'drop l1tEMTFHit2016Extras_simEmtfDigis_RPC_HLT',
0174 'drop l1tEMTFHit2016s_simEmtfDigis__HLT',
0175 'drop l1tEMTFTrack2016Extras_simEmtfDigis__HLT',
0176 'drop l1tEMTFTrack2016s_simEmtfDigis__HLT')
0177 )
0178
0179 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1))
0180
0181
0182
0183 process.load("L1Trigger.DTTriggerPhase2.CalibratedDigis_cfi")
0184 process.CalibratedDigis.dtDigiTag = "simMuonDTDigis"
0185 process.CalibratedDigis.scenario = 0
0186
0187
0188 process.load("L1Trigger.DTTriggerPhase2.dtTriggerPhase2PrimitiveDigis_cfi")
0189 process.dtTriggerPhase2PrimitiveDigis.debug = False
0190 process.dtTriggerPhase2PrimitiveDigis.dump = False
0191 process.dtTriggerPhase2PrimitiveDigis.scenario = 0
0192
0193
0194
0195
0196
0197
0198
0199
0200 process.load('L1Trigger.L1TMuonOverlapPhase2.simOmtfPhase2Digis_cfi')
0201
0202
0203 process.load("TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorAlong_cfi")
0204
0205
0206
0207
0208 process.simOmtfPhase2Digis.simTracksTag = cms.InputTag('g4SimHits')
0209
0210
0211
0212
0213 process.simOmtfPhase2Digis.bxMin = cms.int32(0)
0214 process.simOmtfPhase2Digis.bxMax = cms.int32(0)
0215
0216 process.simOmtfPhase2Digis.dumpResultToXML = cms.bool(False)
0217 process.simOmtfPhase2Digis.eventCaptureDebug = cms.bool(False)
0218
0219 process.simOmtfPhase2Digis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_template.xml")
0220
0221
0222
0223
0224 process.simOmtfPhase2Digis.patternGenerator = cms.string("patternGen")
0225
0226 process.simOmtfPhase2Digis.patternType = cms.string("GoldenPatternWithStat")
0227 process.simOmtfPhase2Digis.generatePatterns = cms.bool(True)
0228 process.simOmtfPhase2Digis.cleanStubs = cms.bool(True)
0229
0230 process.simOmtfPhase2Digis.optimisedPatsXmlFile = cms.string("Patterns_layerStat_" + version + "_" + filesNameLike + ".xml")
0231
0232 process.simOmtfPhase2Digis.rpcMaxClusterSize = cms.int32(3)
0233 process.simOmtfPhase2Digis.rpcMaxClusterCnt = cms.int32(2)
0234 process.simOmtfPhase2Digis.rpcDropAllClustersIfMoreThanMax = cms.bool(True)
0235
0236 process.simOmtfPhase2Digis.minCSCStubRME12 = cms.int32(410)
0237 process.simOmtfPhase2Digis.minCSCStubR = cms.int32(500)
0238
0239 process.simOmtfPhase2Digis.minDtPhiQuality = cms.int32(4)
0240 process.simOmtfPhase2Digis.minDtPhiBQuality = cms.int32(4)
0241
0242 process.simOmtfPhase2Digis.dtRefHitMinQuality = cms.int32(4)
0243
0244 process.simOmtfPhase2Digis.usePhiBExtrapolationFromMB1 = cms.bool(True)
0245 process.simOmtfPhase2Digis.usePhiBExtrapolationFromMB2 = cms.bool(True)
0246
0247 process.simOmtfPhase2Digis.useStubQualInExtr = cms.bool(True)
0248 process.simOmtfPhase2Digis.useEndcapStubsRInExtr = cms.bool(True)
0249 process.simOmtfPhase2Digis.useFloatingPointExtrapolation = cms.bool(False)
0250 process.simOmtfPhase2Digis.extrapolFactorsFilename = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/ExtrapolationFactors_ExtraplMB1nadMB2DTQualAndR_EtaValueP1Scale_t25c.xml")
0251
0252 process.simOmtfPhase2Digis.stubEtaEncoding = cms.string("valueP1Scale")
0253
0254 process.simOmtfPhase2Digis.goldenPatternResultFinalizeFunction = cms.int32(3)
0255
0256
0257
0258
0259 process.L1TMuonSeq = cms.Sequence( process.simOmtfPhase2Digis
0260
0261
0262 )
0263
0264 if not regeneratedL1DT :
0265 process.L1TMuonPath = cms.Path(process.L1TMuonSeq)
0266 else :
0267 process.L1TMuonPath = cms.Path(process.CalibratedDigis * process.dtTriggerPhase2PrimitiveDigis * process.L1TMuonSeq)
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278