Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-15 04:21:53

0001 # -*- coding: utf-8 -*-
0002 import FWCore.ParameterSet.Config as cms
0003 process = cms.Process("L1TMuonEmulation")
0004 import os
0005 import sys
0006 import re
0007 from os import listdir
0008 from os.path import isfile, join
0009 
0010 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0011 
0012 verbose = True
0013 
0014 versionIn = "ExtraplMB1nadMB2Simplified_t27_DTQ_2_4_mcWaw2023_OneOverPt_and_iPt2"
0015 #versionIn = "ExtraplMB1nadMB2DTQualAndEtaValueP1Scale_t18"
0016 #versionIn = "0x00011_oldSample_3_30Files"
0017 #Patterns_layerStat_ExtraplMB1nadMB2Simplified_t27_DTQ_2_4_mcWaw2023_OneOverPt_and_iPt2.root
0018 
0019 versionOut =  "0x0020_" + versionIn + "_classProb22_recalib2"
0020 
0021 if verbose: 
0022     process.MessageLogger = cms.Service("MessageLogger",
0023        #suppressInfo       = cms.untracked.vstring('AfterSource', 'PostModule'),
0024        destinations   = cms.untracked.vstring(
0025                                                #'detailedInfo',
0026                                                #'critical',
0027                                                #'cout',
0028                                                #'cerr',
0029                                                'omtfEventPrint'
0030                     ),
0031        categories        = cms.untracked.vstring('l1tOmtfEventPrint', 'OMTFReconstruction'),
0032        omtfEventPrint = cms.untracked.PSet(    
0033                          filename  = cms.untracked.string('Patterns_' + versionOut),
0034                          extension = cms.untracked.string('.txt'),                
0035                          threshold = cms.untracked.string('DEBUG'),
0036                          default = cms.untracked.PSet( limit = cms.untracked.int32(0) ), 
0037                          #INFO   =  cms.untracked.int32(0),
0038                          #DEBUG   = cms.untracked.int32(0),
0039                          l1tOmtfEventPrint = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) ),
0040                          OMTFReconstruction = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) )
0041                        ),
0042        debugModules = cms.untracked.vstring('simOmtfDigis') 
0043        #debugModules = cms.untracked.vstring('*')
0044     )
0045 
0046     #process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(100)
0047 if not verbose:
0048     process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(-1)
0049     process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(False), 
0050                                          #SkipEvent = cms.untracked.vstring('ProductNotFound') 
0051                                      )
0052     
0053 # PostLS1 geometry used
0054 process.load('Configuration.Geometry.GeometryExtended2015Reco_cff')
0055 process.load('Configuration.Geometry.GeometryExtended2015_cff')    
0056     
0057 # import of standard configurations
0058 process.load('Configuration.StandardSequences.Services_cff')
0059 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0060 process.load('Configuration.EventContent.EventContent_cff')
0061 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0062 #process.load('Configuration.Geometry.GeometryExtended2026D41Reco_cff')
0063 #process.load('Configuration.Geometry.GeometryExtended2026D41_cff')
0064 process.load('Configuration.StandardSequences.MagneticField_cff')
0065 #process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0066 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0067 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0068 
0069 from Configuration.AlCa.GlobalTag import GlobalTag
0070 #process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:upgradePLS3', '')
0071 process.GlobalTag = GlobalTag(process.GlobalTag, '103X_upgrade2023_realistic_v2', '') 
0072 
0073 path = '/eos/user/k/kbunkow/cms_data/SingleMuFullEta/721_FullEta_v4/' #old sample, but very big
0074 #path = '/eos/user/a/akalinow/Data/SingleMu/9_3_14_FullEta_v2/' #new sample, but small and more noisy
0075 #path = '/eos/user/a/akalinow/Data/SingleMu/9_3_14_FullEta_v1/'
0076 
0077 #path = '/afs/cern.ch/work/a/akalinow/public/MuCorrelator/Data/SingleMu/9_3_14_FullEta_v1/'
0078 #path = '/afs/cern.ch/work/k/kbunkow/public/data/SingleMuFullEta/721_FullEta_v4/'
0079 
0080 chosenFiles = []
0081 
0082 #chosenFiles = ['file://' + path + f for f in onlyfiles if (('_p_10_' in f) or ('_m_10_' in f))]
0083 chosenFiles.append('file://' + path + "SingleMu_18_p_1_1_rD8.root")
0084 
0085 
0086 print("chosenFiles")
0087 for chFile in chosenFiles:
0088     print(chFile)
0089 
0090 if len(chosenFiles) == 0 :
0091     print("no files selected!!!!!!!!!!!!!!!")
0092     exit
0093 
0094 firstEv = 0#40000
0095 #nEvents = 1000
0096 
0097 # input files (up to 255 files accepted)
0098 process.source = cms.Source('PoolSource',
0099 fileNames = cms.untracked.vstring( 
0100     #'file:/eos/user/k/kbunkow/cms_data/SingleMuFullEta/721_FullEta_v4/SingleMu_16_p_1_1_xTE.root',
0101     #'file:/afs/cern.ch/user/k/kpijanow/Neutrino_Pt-2to20_gun_50.root',
0102     list(chosenFiles), ),
0103     skipEvents =  cms.untracked.uint32(0),
0104     inputCommands=cms.untracked.vstring(
0105         'keep *',
0106         'drop l1tEMTFHit2016Extras_simEmtfDigis_CSC_HLT',
0107         'drop l1tEMTFHit2016Extras_simEmtfDigis_RPC_HLT',
0108         'drop l1tEMTFHit2016s_simEmtfDigis__HLT',
0109         'drop l1tEMTFTrack2016Extras_simEmtfDigis__HLT',
0110         'drop l1tEMTFTrack2016s_simEmtfDigis__HLT')
0111 )
0112                         
0113 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1))
0114 
0115 
0116 ####Event Setup Producer
0117 process.load('L1Trigger.L1TMuonOverlapPhase1.fakeOmtfParams_cff')
0118 process.omtfParams.configXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/hwToLogicLayer_0x0009_patGen.xml")
0119 process.omtfParams.patternsXMLFiles = cms.VPSet(
0120         cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_template.xml")), )
0121 
0122 process.esProd = cms.EDAnalyzer("EventSetupRecordDataGetter",
0123    toGet = cms.VPSet(
0124       cms.PSet(record = cms.string('L1TMuonOverlapParamsRcd'),
0125                data = cms.vstring('L1TMuonOverlapParams'))
0126                    ),
0127    verbose = cms.untracked.bool(False)
0128 )
0129 
0130 #process.TFileService = cms.Service("TFileService", fileName = cms.string('omtfAnalysis1_1.root'), closeFileFast = cms.untracked.bool(True) )
0131                                    
0132 ####OMTF Emulator
0133 process.load('L1Trigger.L1TMuonOverlapPhase1.simOmtfDigis_cfi')
0134 
0135 process.simOmtfDigis.bxMin = cms.int32(0)
0136 process.simOmtfDigis.bxMax = cms.int32(0)
0137 
0138 process.simOmtfDigis.dumpResultToXML = cms.bool(False)
0139 process.simOmtfDigis.eventCaptureDebug = cms.bool(False)
0140 
0141 process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_template.xml")
0142 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00012_oldSample_3_30Files_grouped1_classProb1_recalib.xml")
0143 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00012_oldSample_3_30Files_grouped1_classProb11_recalib2.xml")
0144 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_0x0009_oldSample_3_10Files_classProb2.xml")
0145 #process.simOmtfDigis.patternsXMLFiles = cms.VPSet(cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/GPs_parametrised_plus_v1.xml")),
0146 #                                                       cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/GPs_parametrised_minus_v1.xml"))  )
0147 
0148 #process.simOmtfDigis.patternsXMLFiles = cms.VPSet(#cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/PatternsDisplaced_0x0007_minus.xml")),
0149 #                                                        cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/PatternsDisplaced_0x0007_plus.xml"))  
0150 #                                                        )
0151 
0152 
0153 #process.simOmtfDigis.patternGenerator = cms.string("modifyClassProb")
0154 #process.simOmtfDigis.patternGenerator = cms.string("groupPatterns")
0155 process.simOmtfDigis.patternGenerator = cms.string("patternGenFromStat")
0156 #process.simOmtfDigis.patternGenerator = cms.string("") #does nothing except storing the patterns in the root file
0157 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00011_oldSample_3_30Files_layerStat.root")
0158 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_layerStat_ExtraplMB1nadMB2_t14.root")
0159 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_layerStat_ExtraplMB1nadMB2FullAlgo_t16.root")
0160 process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_layerStat_" + versionIn + ".root")
0161 
0162 process.simOmtfDigis.patternType = cms.string("GoldenPatternWithStat")
0163 process.simOmtfDigis.generatePatterns = cms.bool(True)
0164 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_0x0009_oldSample_3_10Files_classProb3.xml")
0165 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_0x00012_oldSample_3_30Files_grouped1_classProb17_recalib2.xml")
0166 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_ExtraplMB1nadMB2FullAlgo_t16_classProb17_recalib2.xml")
0167 process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_" + versionOut + ".xml")
0168 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("PatternsDisplaced_0x0007_p.xml")
0169 
0170 process.simOmtfDigis.rpcMaxClusterSize = cms.int32(3)
0171 process.simOmtfDigis.rpcMaxClusterCnt = cms.int32(2)
0172 process.simOmtfDigis.rpcDropAllClustersIfMoreThanMax = cms.bool(True)
0173 
0174 process.simOmtfDigis.goldenPatternResultFinalizeFunction = cms.int32(3) #valid values are 0, 1, 2, 3, 5
0175 process.simOmtfDigis.lctCentralBx = cms.int32(6);#<<<<<<<<<<<<<<<<!!!!!!!!!!!!!!!!!!!!TODO this was changed in CMSSW 10(?) to 8. if the data were generated with the previous CMSSW then you have to use 6
0176 
0177 process.simOmtfDigis.simTracksTag = cms.InputTag('g4SimHits')
0178 
0179 #process.dumpED = cms.EDAnalyzer("EventContentAnalyzer")
0180 #process.dumpES = cms.EDAnalyzer("PrintEventSetupContent")
0181 
0182 process.L1TMuonSeq = cms.Sequence( process.esProd          
0183                                    + process.simOmtfDigis 
0184                                    #+ process.dumpED
0185                                    #+ process.dumpES
0186 )
0187 
0188 process.L1TMuonPath = cms.Path(process.L1TMuonSeq)
0189 
0190 #process.out = cms.OutputModule("PoolOutputModule", 
0191 #   fileName = cms.untracked.string("l1tomtf_superprimitives1.root")
0192 #)
0193 
0194 #process.output_step = cms.EndPath(process.out)
0195 #process.schedule = cms.Schedule(process.L1TMuonPath)
0196 #process.schedule.extend([process.output_step])