Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-07-08 22:42:34

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from DQMOffline.Trigger.JetMonitor_cfi import hltJetMETmonitoring
0004 from DQMOffline.Trigger.HTMonitor_cfi import hltHTmonitoring
0005 from DQMOffline.Trigger.MjjMonitor_cfi import hltMjjmonitoring
0006 from DQMOffline.Trigger.SoftdropMonitor_cfi import hltSoftdropmonitoring
0007 from DQMOffline.Trigger.B2GTnPMonitor_cfi import B2GegmGsfElectronIDsForDQM,B2GegHLTDQMOfflineTnPSource
0008 from DQMOffline.Trigger.TopMonitor_cfi import hltTOPmonitoring
0009 
0010 ### B2G triggers:
0011 # HLT_AK8PFHT*_TrimMass50
0012 # HLT_AK8PFJet*_TrimMass30
0013 # HLT_AK8PFJet*_MassSD30
0014 
0015 # HLT_Mu37_Ele27_CaloIdL_MW
0016 # HLT_Mu27_Ele37_CaloIdL_MW
0017 # HLT_Mu37_TkMu27
0018 #
0019 # Additionally, we monitor mjj and mSD for PFHT1050 and AK8PFJet500
0020 
0021 # HT and AK8jet monitoring
0022 
0023 PFHT1050_Mjjmonitoring = hltMjjmonitoring.clone(
0024     FolderName = 'HLT/B2G/PFHT1050',
0025     jets = "ak8PFJetsPuppi",
0026     jetSelection = "pt > 200 && eta < 2.4",
0027     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_PFHT1050_v*"])     
0028 )
0029 
0030 PFHT1050_Softdropmonitoring = hltSoftdropmonitoring.clone(
0031     FolderName = 'HLT/B2G/PFHT1050',
0032     jetSelection = "pt > 65 && eta < 2.4",
0033     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_PFHT1050_v*"])        
0034 )
0035 
0036 AK8PFJet500_Mjjmonitoring = hltMjjmonitoring.clone(
0037     FolderName = 'HLT/B2G/AK8PFJet500',
0038     jets = "ak8PFJetsPuppi",
0039     jetSelection = "pt > 200 && eta < 2.4",
0040     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFJet500_v*"])
0041 )
0042 
0043 AK8PFJet500_Softdropmonitoring = hltSoftdropmonitoring.clone(
0044     FolderName = 'HLT/B2G/AK8PFJet500',
0045     jetSelection = "pt > 65 && eta < 2.4",
0046     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_AK8PFJet500_v*"])
0047 )
0048 
0049 # AK8PFHT800_TrimMass50 monitoring
0050 
0051 AK8PFHT800_TrimMass50_HTmonitoring = hltHTmonitoring.clone(
0052     FolderName = 'HLT/B2G/AK8PFHT800_TrimMass50',
0053     jets = "ak8PFJetsPuppi",
0054     jetSelection      = "pt > 0 && eta < 2.5",
0055     jetSelection_HT = "pt > 200 && eta < 2.5",
0056     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFHT800_TrimMass50_v*"])
0057 )
0058 
0059 AK8PFHT800_TrimMass50_Mjjmonitoring = hltMjjmonitoring.clone(
0060     FolderName = 'HLT/B2G/AK8PFHT800_TrimMass50',
0061     jets = "ak8PFJetsPuppi",
0062     jetSelection = "pt > 200 && eta < 2.4",
0063     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_AK8PFHT800_TrimMass50_v*"])
0064 )
0065 
0066 AK8PFHT800_TrimMass50_Softdropmonitoring = hltSoftdropmonitoring.clone(
0067     FolderName = 'HLT/B2G/AK8PFHT800_TrimMass50',
0068     jetSelection = "pt > 65 && eta < 2.4",
0069     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFHT800_TrimMass50_v*"])
0070 )
0071 
0072 # AK8PFJet400_TrimMass30 monitoring
0073 
0074 AK8PFJet400_TrimMass30_PromptMonitoring = hltJetMETmonitoring.clone(
0075     FolderName = 'HLT/B2G/AK8PFJet400_TrimMass30',
0076     ptcut = 400,
0077     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFJet400_TrimMass30_v*"])
0078 )
0079 
0080 AK8PFJet400_TrimMass30_Mjjmonitoring = hltMjjmonitoring.clone(
0081     FolderName = 'HLT/B2G/AK8PFJet400_TrimMass30',
0082     jets = "ak8PFJetsPuppi",
0083     jetSelection = "pt > 200 && eta < 2.4",
0084     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_AK8PFJet400_TrimMass30_v*"])
0085 )
0086 
0087 AK8PFJet400_TrimMass30_Softdropmonitoring = hltSoftdropmonitoring.clone(
0088     FolderName = 'HLT/B2G/AK8PFJet400_TrimMass30',
0089     jetSelection = "pt > 200 && eta < 2.4",
0090     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFJet400_TrimMass30_v*"]),
0091     histoPSet = dict(
0092         htBinning = [0., 10., 20., 30., 40., 50.,  60., 70., 80., 90., 100., 110., 120., 130., 140., 150., 160., 170., 180., 190., 200., 210., 220., 230., 240., 250., 260., 270., 280., 290., 300., 310., 320., 330., 340., 350.],
0093         htPSet = dict(nbins = 200, xmin = -0.5, xmax = 19999.5)
0094     )
0095 )
0096 
0097 # AK8PFJet400_MassSD30 monitoring
0098 
0099 AK8PFJet400_MassSD30_PromptMonitoring = hltJetMETmonitoring.clone(
0100     FolderName = 'HLT/B2G/AK8PFJet400_MassSD30',
0101     ptcut = 400,
0102     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFJet400_MassSD30_v*"])
0103 )
0104 
0105 AK8PFJet400_MassSD30_Mjjmonitoring = hltMjjmonitoring.clone(
0106     FolderName = 'HLT/B2G/AK8PFJet400_MassSD30',
0107     jets = "ak8PFJetsPuppi",
0108     jetSelection = "pt > 200 && eta < 2.4",
0109     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_AK8PFJet400_MassSD30_v*"])
0110 )
0111 
0112 AK8PFJet400_MassSD30_Softdropmonitoring = hltSoftdropmonitoring.clone(
0113     FolderName = 'HLT/B2G/AK8PFJet400_MassSD30',
0114     jetSelection = "pt > 200 && eta < 2.4",
0115     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8PFJet400_MassSD30_v*"]),
0116     histoPSet = dict(
0117         htBinning = [0., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100., 110., 120., 130., 140., 150., 160., 170., 180., 190., 200., 210., 220., 230., 240., 250., 260., 270., 280., 290., 300., 310., 320., 330., 340., 350.],
0118         htPSet = dict(nbins = 200, xmin = -0.5, xmax = 19999.5)
0119     )
0120 )
0121 
0122 # AK8DiPFJet250_250_MassSD30 monitoring
0123 
0124 AK8DiPFJet250_250_MassSD30_PromptMonitoring = hltJetMETmonitoring.clone(
0125     FolderName = 'HLT/B2G/AK8DiPFJet250_250_MassSD30',
0126     ptcut = 400,
0127     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8DiPFJet250_250_MassSD30_v*"])
0128 )
0129 
0130 AK8DiPFJet250_250_MassSD30_Mjjmonitoring = hltMjjmonitoring.clone(
0131     FolderName = 'HLT/B2G/AK8DiPFJet250_250_MassSD30',
0132     jets = "ak8PFJetsPuppi",
0133     jetSelection = "pt > 200 && eta < 2.4",
0134     numGenericTriggerEventPSet= dict(hltPaths = ["HLT_AK8DiPFJet250_250_MassSD30_v*"])
0135 )
0136 
0137 AK8DiPFJet250_250_MassSD30_Softdropmonitoring = hltSoftdropmonitoring.clone(
0138     FolderName = 'HLT/B2G/AK8DiPFJet250_250_MassSD30',
0139     jetSelection = "pt > 200 && eta < 2.4",
0140     numGenericTriggerEventPSet = dict(hltPaths = ["HLT_AK8DiPFJet250_250_MassSD30_v*"]),
0141     histoPSet = dict(
0142         htBinning = [0., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100., 110., 120., 130., 140., 150., 160., 170., 180., 190., 200., 210., 220., 230., 240., 250., 260., 270., 280., 290., 300., 310., 320., 330., 340., 350.],
0143         htPSet = dict(nbins = 200, xmin = -0.5, xmax = 19999.5)
0144     )
0145 )
0146 
0147 # Lepton cross trigger monitoring
0148 
0149 hltDQMonitorB2G_MuEle = hltTOPmonitoring.clone(
0150     FolderName = 'HLT/B2G/Dileptonic/HLT_MuXX_EleXX_CaloIdL_MW',
0151     nelectrons = 1,
0152     eleSelection = 'pt>20 & abs(eta)<2.5',
0153     nmuons = 1,
0154     muoSelection = 'pt>20 & abs(eta)<2.4 & ((pfIsolationR04.sumChargedHadronPt + max(pfIsolationR04.sumNeutralHadronEt + pfIsolationR04.sumPhotonEt - (pfIsolationR04.sumPUPt)/2.,0.))/pt < 0.25)  & isPFMuon & (isTrackerMuon || isGlobalMuon)',
0155     numGenericTriggerEventPSet = dict(hltPaths = ['HLT_Mu37_Ele27_CaloIdL_MW_v*', 'HLT_Mu27_Ele37_CaloIdL_MW_v*'])
0156 )
0157 
0158 hltDQMonitorB2G_MuTkMu = hltTOPmonitoring.clone(
0159     FolderName = 'HLT/B2G/Dileptonic/HLT_Mu37_TkMu27',
0160     nmuons = 2,
0161     muoSelection = 'pt>20 & abs(eta)<2.4 & ((pfIsolationR04.sumChargedHadronPt + max(pfIsolationR04.sumNeutralHadronEt + pfIsolationR04.sumPhotonEt - (pfIsolationR04.sumPUPt)/2.,0.))/pt < 0.25)  & isPFMuon & (isTrackerMuon || isGlobalMuon)',
0162     numGenericTriggerEventPSet = dict(hltPaths = ['HLT_Mu37_TkMu27_v*'])
0163 )
0164 
0165 
0166 # the sequence
0167 
0168 b2gMonitorHLT = cms.Sequence(
0169 
0170     PFHT1050_Mjjmonitoring +
0171 
0172     AK8PFJet500_Mjjmonitoring +
0173 
0174     AK8PFHT800_TrimMass50_HTmonitoring +
0175     AK8PFHT800_TrimMass50_Mjjmonitoring +
0176 
0177     AK8PFJet400_TrimMass30_PromptMonitoring +
0178     AK8PFJet400_TrimMass30_Mjjmonitoring +
0179 
0180     AK8PFJet400_MassSD30_PromptMonitoring +
0181     AK8PFJet400_MassSD30_Mjjmonitoring +
0182 
0183     AK8DiPFJet250_250_MassSD30_PromptMonitoring +
0184     AK8DiPFJet250_250_MassSD30_Mjjmonitoring +
0185 
0186     B2GegHLTDQMOfflineTnPSource
0187 
0188   * hltDQMonitorB2G_MuEle
0189   * hltDQMonitorB2G_MuTkMu
0190 
0191   , cms.Task(B2GegmGsfElectronIDsForDQM) ## unschedule execution [Use of electron VID requires this module being executed first]
0192 )
0193 
0194 ## as reported in https://github.com/cms-sw/cmssw/issues/24444
0195 ## it turned out that all softdrop modules rely on a jet collection which is available only if the miniAOD step is run @Tier0
0196 ## ==> it is fine in the PromptReco workflow, but this collection is not available in the Express reconstruction
0197 ## in addition, it is not available in the AOD (!!!!) ==> these modules needs to be run *WithRECO* step workflow (actually w/ the miniAOD step ....)
0198 b2gHLTDQMSourceWithRECO = cms.Sequence(
0199     PFHT1050_Softdropmonitoring +
0200     AK8PFJet500_Softdropmonitoring +
0201     AK8PFHT800_TrimMass50_Softdropmonitoring +
0202     AK8PFJet400_TrimMass30_Softdropmonitoring +
0203     AK8PFJet400_MassSD30_Softdropmonitoring +
0204     AK8DiPFJet250_250_MassSD30_Softdropmonitoring
0205 )
0206 
0207 b2gHLTDQMSourceExtra = cms.Sequence(
0208 )