Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:12

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi import *
0004 pixelTracksMonitor = TrackerCollisionTrackMon.clone(
0005     FolderName = 'Tracking/PixelTrackParameters/pixelTracks',
0006     TrackProducer = 'pixelTracks',
0007     allTrackProducer = 'pixelTracks',
0008     beamSpot = 'offlineBeamSpot',
0009     primaryVertex = 'pixelVertices',
0010     pvNDOF = 1,
0011     doAllPlots = False,
0012     doLumiAnalysis = True,
0013     doProfilesVsLS = True,
0014     doDCAPlots = True,
0015     doEffFromHitPatternVsPU = False,
0016     doEffFromHitPatternVsBX = False,
0017     doEffFromHitPatternVsLUMI = False,
0018     doPlotsVsGoodPVtx = True,
0019     doPlotsVsLUMI = True,
0020     doPlotsVsBX = True
0021 )
0022 
0023 _trackSelector = cms.EDFilter('TrackSelector',
0024     src = cms.InputTag('pixelTracks'),
0025     cut = cms.string("")
0026 )
0027 
0028 quality = {
0029     "L"  : "loose",
0030     "T"  : "tight",
0031     "HP" : "highPurity",
0032 }
0033 
0034 for key,value in quality.items():
0035     label = "pixelTrks"+key
0036 #    print label
0037     cutstring = "quality('" + value + "')" 
0038 #    print cutstring
0039     if label not in globals():
0040         locals()[label] = _trackSelector.clone( cut = cutstring )
0041         locals()[label].setLabel(label)
0042     else :
0043         print(label,"already configured")
0044 
0045 for key,value in quality.items():
0046     label = "pixelTrksMonitor"+key
0047     locals()[label] = pixelTracksMonitor.clone(
0048         TrackProducer = "pixelTrks"+key,
0049         FolderName    = "Tracking/PixelTrackParameters/"+value
0050     )
0051     locals()[label].setLabel(label)
0052 
0053 ntuplet = {
0054     '3' : "3Hits", # ==3
0055     '4' : "4Hits"  # >=4 
0056 }
0057 for kN,vN in ntuplet.items():
0058     for key,value in quality.items():
0059         label = "pixelTrks" + vN + key
0060 #        print label
0061 
0062         cutstring = "numberOfValidHits == " + kN + " & quality('" + value + "')" 
0063 #        print cutstring
0064         locals()[label] = _trackSelector.clone( cut = cutstring )
0065         locals()[label].setLabel(label)
0066 
0067 for kN,vN in ntuplet.items():
0068     for key,value in quality.items():
0069         label = "pixelTrks" + vN + "Monitor" + key
0070 #        print label
0071         locals()[label] = pixelTracksMonitor.clone(
0072             TrackProducer = "pixelTrks" + vN + key,
0073             FolderName    = "Tracking/PixelTrackParameters/" + vN + "/" + value
0074         )
0075         locals()[label].setLabel(label)
0076 
0077 
0078 from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import goodOfflinePrimaryVertices as _goodOfflinePrimaryVertices
0079 goodPixelVertices = _goodOfflinePrimaryVertices.clone(
0080     src = "pixelVertices"
0081 )
0082 
0083 from DQM.TrackingMonitor.primaryVertexResolution_cfi import primaryVertexResolution as _primaryVertexResolution
0084 pixelVertexResolution = _primaryVertexResolution.clone(
0085     vertexSrc = "goodPixelVertices",
0086     rootFolder = "OfflinePixelPV/Resolution"
0087 )
0088 
0089 pixelTracksMonitoringTask = cms.Task(
0090     goodPixelVertices,
0091 )
0092 
0093 for category in ["pixelTrks", "pixelTrks3Hits", "pixelTrks4Hits"]:
0094     for key in quality:
0095         label = category+key
0096 #        print label
0097         pixelTracksMonitoringTask.add(locals()[label])
0098 
0099 allPixelTracksMonitoring = cms.Sequence()
0100 for category in ["pixelTrksMonitor", "pixelTrks3HitsMonitor", "pixelTrks4HitsMonitor" ]:
0101     for key in quality:
0102         label = category+key
0103 #        print label
0104         allPixelTracksMonitoring += locals()[label]
0105 
0106 pixelTracksMonitoring = cms.Sequence(
0107     allPixelTracksMonitoring +
0108     pixelVertexResolution,
0109     pixelTracksMonitoringTask
0110 )
0111 
0112 
0113 
0114