Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:43:52

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("alcaBeamSpotWorkflow")
0004 
0005 ###################################################################
0006 # initialize MessageLogger
0007 ###################################################################
0008 process.load('FWCore.MessageService.MessageLogger_cfi')
0009 process.MessageLogger.cerr.enable = False
0010 process.MessageLogger.AlcaBeamSpotProducer=dict()
0011 process.MessageLogger.cout = cms.untracked.PSet(
0012     enable = cms.untracked.bool(True),
0013     threshold = cms.untracked.string("INFO"),
0014     default   = cms.untracked.PSet(limit = cms.untracked.int32(0)),
0015     FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1),
0016                                    reportEvery = cms.untracked.int32(100)
0017                                    ),
0018     AlcaBeamSpotProducer = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0019     enableStatistics = cms.untracked.bool(True)
0020 )
0021 
0022 process.load("Calibration.TkAlCaRecoProducers.AlcaBeamSpotProducer_cff")
0023 readFiles=['/store/data/Run2022C/JetMET/ALCARECO/TkAlJetHT-PromptReco-v1/000/357/482/00000/08365631-c05f-4584-b8a4-5cc7e23c1ac8.root']
0024 
0025 process.source = cms.Source("PoolSource",
0026                             fileNames = cms.untracked.vstring(readFiles)
0027                             )
0028 
0029 process.maxEvents = cms.untracked.PSet(
0030     input = cms.untracked.int32(1000)
0031 )
0032 
0033 process.options = cms.untracked.PSet(
0034     wantSummary = cms.untracked.bool(True)
0035 )
0036 
0037 ###################################################################
0038 # standard includes
0039 ###################################################################
0040 process.load("Configuration.StandardSequences.MagneticField_cff")
0041 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0042 from Configuration.AlCa.GlobalTag import GlobalTag
0043 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run3_data', '')
0044 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0045 
0046 ###################################################################
0047 # reco PV
0048 ###################################################################
0049 process.load("Configuration.StandardSequences.Reconstruction_cff")
0050 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cfi")
0051 
0052 ###################################################################
0053 # remove beam scraping events
0054 ###################################################################
0055 process.noScraping= cms.EDFilter("FilterOutScraping",
0056                                  applyfilter = cms.untracked.bool(True),
0057                                  debugOn = cms.untracked.bool(False), ## Or 'True' to get some per-event info
0058                                  numtrack = cms.untracked.uint32(10),
0059                                  thresh = cms.untracked.double(0.20)
0060                                  )
0061 
0062 ###################################################################
0063 # Primary Vertex
0064 ###################################################################
0065 from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import offlinePrimaryVertices
0066 process.offlinePrimaryVerticesFromTrks  = offlinePrimaryVertices.clone()
0067 process.offlinePrimaryVerticesFromTrks.TrackLabel = cms.InputTag("ALCARECOTkAlJetHT")
0068 process.offlinePrimaryVerticesFromTrks.vertexCollections.maxDistanceToBeam = 1
0069 process.offlinePrimaryVerticesFromTrks.TkFilterParameters.maxNormalizedChi2 = 20
0070 process.offlinePrimaryVerticesFromTrks.TkFilterParameters.minSiliconLayersWithHits = 5
0071 process.offlinePrimaryVerticesFromTrks.TkFilterParameters.maxD0Significance = 5.0
0072 process.offlinePrimaryVerticesFromTrks.TkFilterParameters.minPixelLayersWithHits = 2
0073 
0074 ###################################################################
0075 # BeamSpot producer config
0076 ###################################################################
0077 process.alcaBeamSpotProducer.BeamFitter.TrackCollection = 'ALCARECOTkAlJetHT'
0078 process.alcaBeamSpotProducer.BeamFitter.MinimumTotalLayers = 6
0079 process.alcaBeamSpotProducer.BeamFitter.MinimumPixelLayers = -1
0080 process.alcaBeamSpotProducer.BeamFitter.MaximumNormChi2 = 10
0081 process.alcaBeamSpotProducer.BeamFitter.MinimumInputTracks = 50
0082 process.alcaBeamSpotProducer.BeamFitter.MinimumPt = 1.0
0083 process.alcaBeamSpotProducer.BeamFitter.MaximumImpactParameter = 1.0
0084 process.alcaBeamSpotProducer.BeamFitter.TrackAlgorithm =  cms.untracked.vstring()
0085 #process.alcaBeamSpotProducer.BeamFitter.Debug = True
0086 
0087 process.alcaBeamSpotProducer.PVFitter.VertexCollection = 'offlinePrimaryVerticesFromTrks'
0088 process.alcaBeamSpotProducer.PVFitter.Apply3DFit = True
0089 process.alcaBeamSpotProducer.PVFitter.minNrVerticesForFit = 10
0090 
0091 ###################################################################
0092 # fit as function of lumi sections
0093 ###################################################################
0094 process.alcaBeamSpotProducer.AlcaBeamSpotProducerParameters.fitEveryNLumi = 1
0095 process.alcaBeamSpotProducer.AlcaBeamSpotProducerParameters.resetEveryNLumi = 1
0096 
0097 ###################################################################
0098 # Output module
0099 ###################################################################
0100 process.out = cms.OutputModule("PoolOutputModule",
0101                                fileName = cms.untracked.string( 'AlcaBeamSpot.root' ),
0102                                outputCommands = cms.untracked.vstring("keep *"))
0103 
0104 
0105 ###################################################################
0106 # paths and endpaths
0107 ###################################################################
0108 process.e = cms.EndPath( process.out )
0109 
0110 process.p = cms.Path(process.offlineBeamSpot +
0111                      # process.TrackRefitter + # in case of refit
0112                      process.offlinePrimaryVerticesFromTrks+
0113                      # process.noScraping +    # not needed in recent data
0114                      process.alcaBeamSpotProducer)