Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:12:56

0001 # -*- coding: utf-8 -*-
0002 import FWCore.ParameterSet.Config as cms
0003 process = cms.Process("L1TMuonEmulation")
0004 import os
0005 import sys
0006 
0007 loadConfigFrom_sqlite_file = False
0008 
0009 loadConfigFrom_fakeOmtfParams = False
0010 
0011 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0012 
0013 process.MessageLogger = cms.Service("MessageLogger",
0014         # suppressInfo       = cms.untracked.vstring('AfterSource', 'PostModule'),
0015         destinations=cms.untracked.vstring(
0016                                                # 'detailedInfo',
0017                                                # 'critical',
0018                                                #'cout',
0019                                                #'cerr',
0020                                                 'omtfEventPrint'
0021                     ),
0022         categories=cms.untracked.vstring('l1tOmtfEventPrint', 'OMTFReconstruction'), #, 'FwkReport'
0023         # cout=cms.untracked.PSet(
0024         #                  threshold=cms.untracked.string('INFO'),
0025         #                  default=cms.untracked.PSet(limit=cms.untracked.int32(0)),
0026         #                  # INFO   =  cms.untracked.int32(0),
0027         #                  # DEBUG   = cms.untracked.int32(0),
0028         #                  l1tOmtfEventPrint=cms.untracked.PSet(limit=cms.untracked.int32(1000000000)),
0029         #                  OMTFReconstruction=cms.untracked.PSet(limit=cms.untracked.int32(1000000000)),
0030         #                  #FwkReport=cms.untracked.PSet(reportEvery = cms.untracked.int32(50) ),
0031         #                ), 
0032         
0033         omtfEventPrint = cms.untracked.PSet(    
0034                          filename  = cms.untracked.string('log_MuonOverlap_run3_data'),
0035                          extension = cms.untracked.string('.txt'),                
0036                          threshold = cms.untracked.string('INFO'),
0037                          default = cms.untracked.PSet( limit = cms.untracked.int32(0) ), 
0038                          #INFO   =  cms.untracked.int32(0),
0039                          #DEBUG   = cms.untracked.int32(0),
0040                          l1tOmtfEventPrint = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) ),
0041                          OMTFReconstruction = cms.untracked.PSet( limit = cms.untracked.int32(1000000000) )
0042                        ),
0043        debugModules=cms.untracked.vstring('simOmtfDigis') 
0044        # debugModules = cms.untracked.vstring('*')
0045     )
0046 
0047 #process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(50)
0048 process.options = cms.untracked.PSet(wantSummary=cms.untracked.bool(False),
0049                                          # SkipEvent = cms.untracked.vstring('ProductNotFound') 
0050                                      )
0051 
0052 process.source = cms.Source('PoolSource',
0053  #fileNames = cms.untracked.vstring('file:/afs/cern.ch/work/g/gflouris/public/SingleMuPt6180_noanti_10k_eta1.root')
0054  #fileNames = cms.untracked.vstring('file:///afs/cern.ch/work/k/kbunkow/private/omtf_data/SingleMu_15_p_1_1_qtl.root')    
0055  #fileNames = cms.untracked.vstring('file:///eos/user/k/kbunkow/cms_data/mc/PhaseIIFall17D/SingleMu_PU200_32DF01CC-A342-E811-9FE7-48D539F3863E_dump500Events.root')
0056 # fileNames = cms.untracked.vstring("file:///eos/user/k/kbunkow/cms_data/mc/PhaseIITDRSpring19DR/PhaseIITDRSpring19DR_Mu_FlatPt2to100_noPU_v31_E0D5C6A5-B855-D14F-9124-0B2C9B28D0EA_dump4000Ev.root")
0057  fileNames = cms.untracked.vstring(
0058      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/342/094/00000/038c179a-d2ce-45f0-a7d5-8b2d40017042.root',
0059      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/344/566/00000/19ef107a-4cd9-4df0-ba93-dbfbab8df1cb.root',
0060      
0061      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/342/094/00000/038c179a-d2ce-45f0-a7d5-8b2d40017042.root', # only DT, fw 0x0008
0062      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/344/266/00000/db2cfbdd-5edf-4ee4-aab0-5bdba105728d.root' #DT and RPC fw 0x0008
0063      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/344/566/00000/19ef107a-4cd9-4df0-ba93-dbfbab8df1cb.root'  
0064      #'/store/express/Commissioning2021/ExpressCosmics/FEVT/Express-v1/000/347/053/00000/7b486245-96ea-4b7c-9fe7-76c957968785.root'  #RPC noise only
0065      
0066      #'file:/eos/cms/store/express/Run2022D/ExpressPhysics/FEVT/Express-v1/000/357/815/00000/ffe8b95d-25cb-45cd-9f45-b96d8e18ed4f.root'
0067      'file:/eos/cms/store/data/Run2022C/BTagMu/RAW/v1/000/356/531/00000/9cd8bc50-5bac-487a-b491-848e7ece92fc.root'
0068      ),             
0069  )
0070                         
0071 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000))
0072 
0073 # import of standard configurations
0074 process.load('Configuration.StandardSequences.Services_cff')
0075 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0076 process.load('Configuration.Geometry.GeometryExtended2017Reco_cff')
0077 process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
0078 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0079 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0080 
0081 #process.load('Configuration.StandardSequences.RawToDigi_Data_cff')
0082 #process.load('EventFilter.L1TRawToDigi.omtfStage2Digis_cfi') #unpacker
0083 
0084 #process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0085 from Configuration.AlCa.GlobalTag import GlobalTag
0086 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data', '')
0087 #process.GlobalTag = GlobalTag(process.GlobalTag, '113X_dataRun3_Prompt_v3', '')
0088 #process.GlobalTag = GlobalTag(process.GlobalTag, '102X_upgrade2018_realistic_v16', '')
0089  
0090 
0091 
0092 if loadConfigFrom_fakeOmtfParams :
0093     ####Event Setup Producer
0094     process.load('L1Trigger.L1TMuonOverlapPhase1.fakeOmtfParams_cff')
0095     #process.omtfParams.configXMLFile =  cms.FileInPath("L1Trigger/L1TMuon/data/omtf_config/hwToLogicLayer_0x0008.xml")
0096     
0097     process.esProd = cms.EDAnalyzer("EventSetupRecordDataGetter",
0098        toGet = cms.VPSet(
0099           cms.PSet(record = cms.string('L1TMuonOverlapParamsRcd'),
0100                    data = cms.vstring('L1TMuonOverlapParams'))
0101                        ),
0102        verbose = cms.untracked.bool(False)
0103     )
0104 
0105 
0106 if loadConfigFrom_sqlite_file :
0107     process.load("CondCore.CondDB.CondDB_cfi")
0108     
0109     process.CondDB.connect = "sqlite_file:Patterns.db"
0110     #process.CondDB.connect = "sqlite_file:l1config.db"
0111     
0112     process.CondDB.DBParameters.messageLevel = 3
0113     
0114     process.PoolDBESSourceSqlite = cms.ESSource("PoolDBESSource",
0115       process.CondDB,
0116       toGet = cms.VPSet( 
0117                         cms.PSet(
0118                           record = cms.string('L1TMuonOverlapParamsRcd'),
0119                           tag = cms.string('params') #check the tag name int the DB: sqlite3 l1config.db  ; select * from TAG;
0120                           )
0121        ),
0122       verbose = cms.untracked.bool(False)
0123     )
0124     
0125     process.es_prefer_EcalTBWeights = cms.ESPrefer("PoolDBESSource", "PoolDBESSourceSqlite")
0126 
0127 #process.TFileService = cms.Service("TFileService", fileName = cms.string('omtfAnalysis1.root'), closeFileFast = cms.untracked.bool(True) )
0128                         
0129                         
0130 process.load('Configuration.StandardSequences.RawToDigi_Data_cff')
0131 process.load('EventFilter.L1TRawToDigi.omtfStage2Digis_cfi') #unpacker
0132 
0133         
0134 ####OMTF Emulator
0135 process.load('L1Trigger.L1TMuonOverlapPhase1.simOmtfDigis_cfi')
0136 
0137 process.simOmtfDigis.srcDTPh = cms.InputTag('omtfStage2Digis')
0138 process.simOmtfDigis.srcDTTh = cms.InputTag('omtfStage2Digis')
0139 process.simOmtfDigis.srcCSC = cms.InputTag('omtfStage2Digis')
0140 process.simOmtfDigis.srcRPC = cms.InputTag('omtfStage2Digis')
0141 
0142 process.simOmtfDigis.bxMin = cms.int32(0)
0143 process.simOmtfDigis.bxMax = cms.int32(0)
0144 
0145 process.simOmtfDigis.dumpResultToXML = cms.bool(False)
0146 process.simOmtfDigis.dumpResultToROOT = cms.bool(False)
0147 process.simOmtfDigis.eventCaptureDebug = cms.bool(True)
0148 
0149 
0150 #!!!!!!!!!!!!!!!!!!!!! all possible algorithm configuration parameters, if it is commented, then a defoult value is used
0151 #below is the configuration used for runnig from the autumn of the 2018
0152 
0153 #process.simOmtfDigis.sorterType = cms.string("byLLH")
0154 # process.simOmtfDigis.ghostBusterType = cms.string("GhostBusterPreferRefDt")
0155 #
0156 # process.simOmtfDigis.minDtPhiQuality = cms.int32(2)
0157 # process.simOmtfDigis.minDtPhiBQuality = cms.int32(2)
0158 #
0159 # process.simOmtfDigis.rpcMaxClusterSize = cms.int32(3)
0160 # process.simOmtfDigis.rpcMaxClusterCnt = cms.int32(2)
0161 # process.simOmtfDigis.rpcDropAllClustersIfMoreThanMax = cms.bool(False)
0162 #
0163 # process.simOmtfDigis.goldenPatternResultFinalizeFunction = cms.int32(0) #valid values are 0, 1, 2, 3, 5, 6, but for other then 0 the candidates quality assignemnt must be updated
0164 #
0165 # process.simOmtfDigis.noHitValueInPdf = cms.bool(False)
0166 
0167 process.simOmtfDigis.lctCentralBx = cms.int32(8);#<<<<<<<<<<<<<<<<!!!!!!!!!!!!!!!!!!!!TODO this was changed in CMSSW 10(?) to 8. if the data were generated with the previous CMSSW then you have to use 6
0168 
0169 
0170 
0171 
0172 process.dumpED = cms.EDAnalyzer("EventContentAnalyzer")
0173 process.dumpES = cms.EDAnalyzer("PrintEventSetupContent")
0174 
0175 if loadConfigFrom_fakeOmtfParams :
0176     process.L1TMuonSeq = cms.Sequence(  process.esProd    +      
0177                                     process.omtfStage2Digis + process.simOmtfDigis 
0178                                    #+ process.dumpED
0179                                    #+ process.dumpES
0180                                    )
0181 else :
0182     process.L1TMuonSeq = cms.Sequence(     
0183                                     process.omtfStage2Digis + 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])