Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-13 03:23: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 = "ExtraplMB1nadMB2DTQualAndRFixedP_ValueP1Scale_t25c__mcWaw2023_OneOverPt_and_iPt2_mcWaw2023_OneOverPt_and_iPt2"
0015 #versionIn = "ExtraplMB1nadMB2DTQualAndEtaFixedP_ValueP1Scale_t20_SingleMu_mcWaw2023_OneOverPt"
0016 #versionIn = "ExtraplMB1nadMB2DTQualAndEtaValueP1Scale_t18"
0017 #versionIn = "0x00011_oldSample_3_30Files"
0018 
0019 #versionOut =  versionIn + "_classProb17_recalib2" #_classProb17_recalib2_minDP0
0020 
0021 versionOut =  "ExtraplMB1nadMB2DTQualAndRFixedP_ValueP1Scale_t25c_" + "_classProb17_recalib2"
0022 
0023 if verbose: 
0024     process.MessageLogger = cms.Service("MessageLogger",
0025        #suppressInfo       = cms.untracked.vstring('AfterSource', 'PostModule'),
0026        destinations   = cms.untracked.vstring(
0027                                                #'detailedInfo',
0028                                                #'critical',
0029                                                #'cout',
0030                                                #'cerr',
0031                                                'omtfEventPrint'
0032                     ),
0033        categories        = cms.untracked.vstring('l1tOmtfEventPrint', 'OMTFReconstruction'),
0034        omtfEventPrint = cms.untracked.PSet(    
0035                          filename  = cms.untracked.string('Patterns_' + versionOut),
0036                          extension = cms.untracked.string('.txt'),                
0037                          threshold = cms.untracked.string('DEBUG'),
0038                          default = cms.untracked.PSet( limit = cms.untracked.int32(0) ), 
0039                          #INFO   =  cms.untracked.int32(0),
0040                          #DEBUG   = cms.untracked.int32(0),
0041                          l1tOmtfEventPrint = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) ),
0042                          OMTFReconstruction = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) )
0043                        ),
0044        debugModules = cms.untracked.vstring('simOmtfDigis') 
0045        #debugModules = cms.untracked.vstring('*')
0046     )
0047 
0048     #process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(100)
0049 if not verbose:
0050     process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(-1)
0051     process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(False), 
0052                                          #SkipEvent = cms.untracked.vstring('ProductNotFound') 
0053                                      )
0054     
0055 process.load('Configuration.Geometry.GeometryExtended2026D49Reco_cff')
0056 process.load('Configuration.Geometry.GeometryExtended2026D49_cff')   
0057     
0058 # import of standard configurations
0059 process.load('Configuration.StandardSequences.Services_cff')
0060 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0061 process.load('Configuration.EventContent.EventContent_cff')
0062 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0063 
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:phase2_realistic', '') 
0071 
0072 path = '/eos/user/k/kbunkow/cms_data/SingleMuFullEta/721_FullEta_v4/' #old sample, but very big
0073 #path = '/eos/user/a/akalinow/Data/SingleMu/9_3_14_FullEta_v2/' #new sample, but small and more noisy
0074 #path = '/eos/user/a/akalinow/Data/SingleMu/9_3_14_FullEta_v1/'
0075 
0076 #path = '/afs/cern.ch/work/a/akalinow/public/MuCorrelator/Data/SingleMu/9_3_14_FullEta_v1/'
0077 #path = '/afs/cern.ch/work/k/kbunkow/public/data/SingleMuFullEta/721_FullEta_v4/'
0078 
0079 chosenFiles = []
0080 
0081 #chosenFiles = ['file://' + path + f for f in onlyfiles if (('_p_10_' in f) or ('_m_10_' in f))]
0082 chosenFiles.append('file://' + path + "SingleMu_18_p_1_1_rD8.root")
0083 
0084 
0085 print("chosenFiles")
0086 for chFile in chosenFiles:
0087     print(chFile)
0088 
0089 if len(chosenFiles) == 0 :
0090     print("no files selected!!!!!!!!!!!!!!!")
0091     exit
0092 
0093 firstEv = 0#40000
0094 #nEvents = 1000
0095 
0096 # input files (up to 255 files accepted)
0097 process.source = cms.Source('PoolSource',
0098 fileNames = cms.untracked.vstring( 
0099     #'file:/eos/user/k/kbunkow/cms_data/SingleMuFullEta/721_FullEta_v4/SingleMu_16_p_1_1_xTE.root',
0100     #'file:/afs/cern.ch/user/k/kpijanow/Neutrino_Pt-2to20_gun_50.root',
0101     list(chosenFiles), ),
0102     skipEvents =  cms.untracked.uint32(0),
0103     inputCommands=cms.untracked.vstring(
0104         'keep *',
0105         'drop l1tEMTFHit2016Extras_simEmtfDigis_CSC_HLT',
0106         'drop l1tEMTFHit2016Extras_simEmtfDigis_RPC_HLT',
0107         'drop l1tEMTFHit2016s_simEmtfDigis__HLT',
0108         'drop l1tEMTFTrack2016Extras_simEmtfDigis__HLT',
0109         'drop l1tEMTFTrack2016s_simEmtfDigis__HLT')
0110 )
0111                         
0112 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1))
0113 
0114 #process.TFileService = cms.Service("TFileService", fileName = cms.string('omtfAnalysis1_1.root'), closeFileFast = cms.untracked.bool(True) )
0115                                    
0116 ####OMTF Emulator
0117 process.load('L1Trigger.L1TMuonOverlapPhase1.simOmtfDigis_cfi')
0118 
0119 process.simOmtfDigis.bxMin = cms.int32(0)
0120 process.simOmtfDigis.bxMax = cms.int32(0)
0121 
0122 process.simOmtfDigis.dumpResultToXML = cms.bool(False)
0123 process.simOmtfDigis.eventCaptureDebug = cms.bool(False)
0124 
0125 process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_template.xml")
0126 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00012_oldSample_3_30Files_grouped1_classProb1_recalib.xml")
0127 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00012_oldSample_3_30Files_grouped1_classProb11_recalib2.xml")
0128 #process.simOmtfDigis.patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_0x0009_oldSample_3_10Files_classProb2.xml")
0129 #process.simOmtfDigis.patternsXMLFiles = cms.VPSet(cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/GPs_parametrised_plus_v1.xml")),
0130 #                                                       cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/GPs_parametrised_minus_v1.xml"))  )
0131 
0132 #process.simOmtfDigis.patternsXMLFiles = cms.VPSet(#cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/PatternsDisplaced_0x0007_minus.xml")),
0133 #                                                        cms.PSet(patternsXMLFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/PatternsDisplaced_0x0007_plus.xml"))  
0134 #                                                        )
0135 
0136 
0137 #process.simOmtfDigis.patternGenerator = cms.string("modifyClassProb")
0138 #process.simOmtfDigis.patternGenerator = cms.string("groupPatterns")
0139 process.simOmtfDigis.patternGenerator = cms.string("patternGenFromStat")
0140 #process.simOmtfDigis.patternGenerator = cms.string("") #does nothing except storing the patterns in the root file
0141 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_0x00011_oldSample_3_30Files_layerStat.root")
0142 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_layerStat_ExtraplMB1nadMB2_t14.root")
0143 #process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuonOverlapPhase1/test/expert/omtf/Patterns_layerStat_ExtraplMB1nadMB2FullAlgo_t16.root")
0144 process.simOmtfDigis.patternsROOTFile = cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/Patterns_layerStat_" + versionIn + ".root")
0145 
0146 process.simOmtfDigis.patternType = cms.string("GoldenPatternWithStat")
0147 process.simOmtfDigis.generatePatterns = cms.bool(True)
0148 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_0x0009_oldSample_3_10Files_classProb3.xml")
0149 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_0x00012_oldSample_3_30Files_grouped1_classProb17_recalib2.xml")
0150 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_ExtraplMB1nadMB2FullAlgo_t16_classProb17_recalib2.xml")
0151 process.simOmtfDigis.optimisedPatsXmlFile = cms.string("Patterns_" + versionOut + ".xml")
0152 #process.simOmtfDigis.optimisedPatsXmlFile = cms.string("PatternsDisplaced_0x0007_p.xml")
0153 
0154 process.simOmtfDigis.rpcMaxClusterSize = cms.int32(3)
0155 process.simOmtfDigis.rpcMaxClusterCnt = cms.int32(2)
0156 process.simOmtfDigis.rpcDropAllClustersIfMoreThanMax = cms.bool(True)
0157 
0158 process.simOmtfDigis.goldenPatternResultFinalizeFunction = cms.int32(3) #valid values are 0, 1, 2, 3, 5
0159 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
0160 
0161 process.simOmtfDigis.simTracksTag = cms.InputTag('g4SimHits')
0162 
0163 #process.dumpED = cms.EDAnalyzer("EventContentAnalyzer")
0164 #process.dumpES = cms.EDAnalyzer("PrintEventSetupContent")
0165 
0166 process.L1TMuonSeq = cms.Sequence( process.simOmtfDigis 
0167                                    #+ process.dumpED
0168                                    #+ process.dumpES
0169 )
0170 
0171 process.L1TMuonPath = cms.Path(process.L1TMuonSeq)
0172 
0173 #process.out = cms.OutputModule("PoolOutputModule", 
0174 #   fileName = cms.untracked.string("l1tomtf_superprimitives1.root")
0175 #)
0176 
0177 #process.output_step = cms.EndPath(process.out)
0178 #process.schedule = cms.Schedule(process.L1TMuonPath)
0179 #process.schedule.extend([process.output_step])