Skip to content

Commit

Permalink
Merge pull request #39146 from rgerosa/particle_net_monitoring_dqm_124X
Browse files Browse the repository at this point in the history
Particle net monitoring dqm 124 x
  • Loading branch information
cmsbuild authored Sep 8, 2022
2 parents b16bd6e + a453299 commit 3413b63
Show file tree
Hide file tree
Showing 12 changed files with 1,465 additions and 1 deletion.
1 change: 1 addition & 0 deletions DQMOffline/Trigger/plugins/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<use name="RecoVertex/KalmanVertexFit"/>
<use name="HLTrigger/HLTcore"/>
<use name="DQMServices/Core"/>
<use name="CommonTools/CandUtils"/>
<use name="CommonTools/Utils"/>
<use name="CommonTools/TriggerUtils"/>
<use name="DataFormats/VertexReco"/>
Expand Down
1,110 changes: 1,110 additions & 0 deletions DQMOffline/Trigger/plugins/ParticleNetJetTagMonitor.cc

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions DQMOffline/Trigger/python/DQMOffline_HLT_Client_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
from DQMOffline.Trigger.JetMETPromptMonitoring_Client_cff import *
from DQMOffline.Trigger.DiJetMonitor_Client_cff import *

from DQMOffline.Trigger.ParticleNetJetTag_Client_cff import *

hltOfflineDQMClient = cms.Sequence(
# hltGeneralSeqClient
sipixelHarvesterHLTsequence
Expand All @@ -55,6 +57,7 @@
* bphClient
* JetMetPromClient
* dijetClient
* particleNetClientHLT
)

hltOfflineDQMClientExtra = cms.Sequence(
Expand Down
6 changes: 5 additions & 1 deletion DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
from DQMOffline.Trigger.BTVHLTOfflineSource_cfi import *
from DQMOffline.Trigger.BTaggingMonitoring_cff import *

# ParticleNet jet flavor tagging monitoring
from DQMOffline.Trigger.ParticleNetJetTagMonitoring_cff import *

# vertexing
from DQMOffline.Trigger.PrimaryVertexMonitoring_cff import *

Expand Down Expand Up @@ -192,7 +195,8 @@
trackingMonitorHLTDisplacedJet* # EXO : DisplacedJet Tracking
egmTrackingMonitorHLT * # EGM tracking
hltToOfflineTrackValidatorSequence * # Relative Online to Offline performace
vertexingMonitorHLT # vertexing
vertexingMonitorHLT * # vertexing
particleNetMonitoringHLT # HIG: monitoring of HLT PNET taggers (incl. comparisons to Offline PNET)
)

# sequences run @tier0 on HLTMonitor PD
Expand Down
43 changes: 43 additions & 0 deletions DQMOffline/Trigger/python/ParticleNetAK4BTagClient_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import FWCore.ParameterSet.Config as cms
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester

particleNetAK4BTagEfficiency = DQMEDHarvester("DQMGenericClient",
subDirs = cms.untracked.vstring("HLT/HIG/PNETAK4/HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBTagParticleNet_2BTagSum0p65/"),
verbose = cms.untracked.uint32(0), # Set to 2 for all messages
resolution = cms.vstring(),
efficiency = cms.vstring(
"eff_muon_pt 'Efficiency vs p_{T}(#mu); p_{T}(#mu); efficiency' muon_pt_numerator muon_pt_denominator",
"eff_muon_eta 'Efficiency vs #eta(#mu); #eta(#mu); efficiency' muon_eta_numerator muon_eta_denominator",
"eff_electron_pt 'Efficiency vs p_{T}(ele); p_{T}(ele); efficiency' electron_pt_numerator electron_pt_denominator",
"eff_electron_eta 'Efficiency vs #eta(ele); #eta(ele); efficiency' electron_eta_numerator electron_eta_denominator",
"eff_dilepton_pt 'Efficiency vs p_{T}(ll); p_{T}(ll); efficiency' dilepton_pt_numerator dilepton_pt_denominator",
"eff_dilepton_mass 'Efficiency vs m(ll); m(ll); efficiency' dilepton_mass_numerator dilepton_mass_denominator",
"eff_ht 'Efficiency vs H_{T}; H_{T}; efficiency' ht_numerator ht_denominator",
"eff_njets 'Efficiency vs N_{jets}; N_{jets}; efficiency' njets_numerator njets_denominator",
"eff_nbjets 'Efficiency vs N_{bjets}; N_{bjets}; efficiency' nbjets_numerator nbjets_denominator",
"eff_jet1_pt 'Efficiency vs p_{T}(j1); p_{T}(j1); efficiency' jet1_pt_numerator jet1_pt_denominator",
"eff_jet2_pt 'Efficiency vs p_{T}(j2); p_{T}(j2); efficiency' jet2_pt_numerator jet2_pt_denominator",
"eff_jet1_eta 'Efficiency vs #eta(j1); #eta(j1); efficiency' jet1_eta_numerator jet1_eta_denominator",
"eff_jet2_eta 'Efficiency vs #eta(j2); #eta(j2); efficiency' jet2_eta_numerator jet2_eta_denominator",
"eff_jet1_pnetscore 'Efficiency vs Lead PNET-score; Lead PNET-score; efficiency' jet1_pnetscore_numerator jet1_pnetscore_denominator",
"eff_jet2_pnetscore 'Efficiency vs Trail PNET-score; Trail PNET-score; efficiency' jet2_pnetscore_numerator jet2_pnetscore_denominator",
"eff_jet1_pnetscore_trans 'Efficiency vs Lead atanh(PNET-score); Lead atanh(PNET-score); efficiency' jet1_pnetscore_trans_numerator jet1_pnetscore_trans_denominator",
"eff_jet2_pnetscore_trans 'Efficiency vs Trail atanh(PNET-score); Trail atanh(PNET-score); efficiency' jet2_pnetscore_trans_numerator jet2_pnetscore_trans_denominator",
"eff_mean_2j_pnetscore 'Efficiency vs Mean(PNET-score); Mean(PNET-score); efficiency' mean_2j_pnetscore_numerator mean_2j_pnetscore_denominator",
"eff_mean_2j_pnetscore_trans 'Efficiency vs atanh(Mean(PNET-score)); atanh(Mean(PNET-score)); efficiency' mean_2j_pnetscore_trans_numerator mean_2j_pnetscore_trans_denominator",
"eff_jet1_pt_eta 'Efficiency vs j1 p_{T} and #eta; p_{T}(j1); #eta(j1); efficiency' jet1_pt_eta_numerator jet1_pt_eta_denominator",
"eff_jet2_pt_eta 'Efficiency vs j2 p_{T} and #eta; p_{T}(j2); #eta(j2); efficiency' jet2_pt_eta_numerator jet2_pt_eta_denominator",
"eff_jet1_pt_pnetscore1 'Efficiency vs j1 p_{T} and Lead PNET-score; p_{T}(j1); Lead PNET-score; efficiency' jet1_pt_pnetscore1_numerator jet1_pt_pnetscore1_denominator",
"eff_jet1_pt_pnetscore2 'Efficiency vs j1 p_{T} and Trail PNET-score; p_{T}(j1); Trail PNET-score; efficiency' jet1_pt_pnetscore2_numerator jet1_pt_pnetscore2_denominator",
"eff_jet1_pt_mean2pnetscore 'Efficiency vs j1 p_{T} and Mean(PNET-score); p_{T}(j1); Mean(PNET-score); efficiency' jet1_pt_mean2pnetscore_numerator jet1_pt_mean2pnetscore_denominator",
"eff_jet2_pt_pnetscore1 'Efficiency vs j2 p_{T} and Lead PNET-score; p_{T}(j2); Lead PNET-score; efficiency' jet2_pt_pnetscore1_numerator jet2_pt_pnetscore1_denominator",
"eff_jet2_pt_pnetscore2 'Efficiency vs j2 p_{T} and Trail PNET-score; p_{T}(j2); Trail PNET-score; efficiency' jet2_pt_pnetscore2_numerator jet2_pt_pnetscore2_denominator",
"eff_jet2_pt_mean2pnetscore 'Efficiency vs j2 p_{T} and Mean(PNET-score); p_{T}(j2); Mean(PNET-score); efficiency' jet2_pt_mean2pnetscore_numerator jet2_pt_mean2pnetscore_denominator",
"eff_jet1_pt_pnetscore1_trans 'Efficiency vs j1 p_{T} and Lead atanh(PNET-score); p_{T}(j1); Lead atanh(PNET-score); efficiency' jet1_pt_pnetscore1_trans_numerator jet1_pt_pnetscore1_trans_denominator",
"eff_jet1_pt_pnetscore2_trans 'Efficiency vs j1 p_{T} and Trail atanh(PNET-score); p_{T}(j1); Trail atanh(PNET-score); efficiency' jet1_pt_pnetscore2_trans_numerator jet1_pt_pnetscore2_trans_denominator",
"eff_jet1_pt_mean2pnetscore_trans 'Efficiency vs j1 p_{T} and atanh(Mean(PNET-score)); p_{T}(j1); atanh(Mean(PNET-score)); efficiency' jet1_pt_mean2pnetscore_trans_numerator jet1_pt_mean2pnetscore_trans_denominator",
"eff_jet2_pt_pnetscore1_trans 'Efficiency vs j2 p_{T} and Lead atanh(PNET-score); p_{T}(j2); Lead atanh(PNET-score); efficiency' jet2_pt_pnetscore1_trans_numerator jet2_pt_pnetscore1_trans_denominator",
"eff_jet2_pt_pnetscore2_trans 'Efficiency vs j2 p_{T} and Trail atanh(PNET-score); p_{T}(j2); Trail atanh(PNET-score); efficiency' jet2_pt_pnetscore2_trans_numerator jet2_pt_pnetscore2_trans_denominator",
"eff_jet2_pt_mean2pnetscore_trans 'Efficiency vs j2 p_{T} and atanh(Mean(PNET-score)); p_{T}(j2); atanh(Mean(PNET-score)); efficiency' jet2_pt_mean2pnetscore_trans_numerator jet2_pt_mean2pnetscore_trans_denominator",
)
)
110 changes: 110 additions & 0 deletions DQMOffline/Trigger/python/ParticleNetAK4BTagMonitoring_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
import FWCore.ParameterSet.Config as cms

from DQMOffline.Trigger.ParticleNetJetTagMonitor_cfi import ParticleNetJetTagMonitor as _particleNetJetTagMonitor

particleNetAK4BTagMonitoring = _particleNetJetTagMonitor.clone(
## general options
FolderName = "HLT/HIG/PNETAK4/HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBTagParticleNet_2BTagSum0p65/",
requireValidHLTPaths = True,
requireHLTOfflineJetMatching = True,
## objects
muons = "muons",
electrons = "gedGsfElectrons",
jets = "ak4PFJetsCHS",
jetPNETScore = "pfParticleNetAK4DiscriminatorsJetTagsForRECO:BvsAll",
jetPNETScoreHLT = "hltParticleNetDiscriminatorsJetTags:BvsAll",
jetsForHTandBTag = "",
jetPNETScoreForHTandBTag = "",
jetSoftDropMass = "",
met = "pfMetPuppi",
jecForMC = "ak4PFCHSL1FastL2L3Corrector",
jecForData = "ak4PFCHSL1FastL2L3ResidualCorrector",
## PV selection
vertexSelection = "!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2",
## Muon selection (based on the definition of https://cmssdt.cern.ch/lxr/source/DataFormats/MuonReco/interface/Muon.h)
tagMuonSelection = "pt > 15 && abs(eta) < 2.4 && passed(4) && passed(256)",
vetoMuonSelection = "pt > 10 && abs(eta) < 2.4 && passed(1) && passed(128)",
maxLeptonDxyCut = 0.1,
maxLeptonDzCut = 0.2,
ntagmuons = 1,
nvetomuons = 1,
## Electron selection
tagElectronSelection = "pt > 25 && abs(eta) < 2.5",
vetoElectronSelection = "pt > 15 && abs(eta) < 2.5",
tagElectronID = "egmGsfElectronIDsForDQM:cutBasedElectronID-Fall17-94X-V1-tight",
vetoElectronID = "egmGsfElectronIDsForDQM:cutBasedElectronID-Fall17-94X-V1-loose",
ntagelectrons = 1,
nvetoelectrons = 1,
## Total number of leptons (electron+muons) in the event
ntagleptons = 2,
nvetoleptons = 2,
## Emu pairs
dileptonSelection = "mass > 20 && charge == 0",
nemupairs = 1,
## jet selection (main jet collection)
jetSelection = "pt > 30 && abs(eta) < 2.5",
minPNETScoreCut = 0.1,
minSoftDropMassCut = 0,
maxSoftDropMassCut = 10000,
njets = 2,
## Bjet selection (ak4 jets)
jetSelectionForHTandBTag = "pt > 30 && abs(eta) < 2.5",
nbjets = -1,
## Met selection
metSelection = "pt > 0",
## Cleaning jet-lepton
lepJetDeltaRmin = 0.4,
## Match reco with HLT
hltRecoDeltaRmax = 0.4,
ntrigobjecttomatch = 2,
## binning for efficiency
NjetBinning = [0,1,2,3,4,5,6,7,8],
HTBinning = [0,50,100,150,200,250,300,350,400,500,600,750,1000],
leptonPtBinning = [20,30,40,50,60,75,90,110,135,175,225,300],
leptonEtaBinning = [-2.5,-2.25,-2.0,-1.75,-1.5,-1.25,-1.0,-0.75,-0.5,-0.25,0.,0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.25,2.5],
diLeptonPtBinning = [0,20,30,40,50,60,75,90,110,135,175,225,300],
diLeptonMassBinning = [20,30,40,50,60,70,80,90,100,110,120,130,140,155,170,185,200,220,240,260,300],
jet1PtBinning = [20,30,40,50,60,75,90,110,130,150,175,200,225,250,300,400,500],
jet2PtBinning = [20,30,40,50,60,75,90,110,130,150,175,200,225,250,300],
jet1EtaBinning = [-2.5,-2.25,-2.0,-1.75,-1.5,-1.25,-1.0,-0.75,-0.5,-0.25,0.,0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.25,2.5],
jet2EtaBinning = [-2.5,-2.25,-2.0,-1.75,-1.5,-1.25,-1.0,-0.75,-0.5,-0.25,0.,0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.25,2.5],
jet1PNETscoreBinning = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.75,0.8,0.85,0.9,0.925,0.95,0.975,1],
jet2PNETscoreBinning = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.75,0.8,0.85,0.9,0.925,0.95,0.975,1],
jet1PNETscoreTransBinning = [0,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.25,1.50,1.75,2.25,2.75,4],
jet2PNETscoreTransBinning = [0,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.25,1.50,1.75,2.25,2.75,4],
jet1PtBinning2d = [20,30,40,50,75,100,150,250,500],
jet2PtBinning2d = [20,30,40,50,75,100,125,150,250],
jet1EtaBinning2d = [-2.5,-2.0,-1.5,-1.0,-0.5,0.,0.5,1.0,1.5,2.0,2.5],
jet2EtaBinning2d = [-2.5,-2.0,-1.5,-1.0,-0.5,0.,0.5,1.0,1.5,2.0,2.5],
jet1PNETscoreBinning2d = [0,0.15,0.30,0.45,0.60,0.75,0.85,0.90,0.95,0.975,1],
jet2PNETscoreBinning2d = [0,0.15,0.30,0.45,0.60,0.75,0.85,0.90,0.95,0.975,1],
jet1PNETscoreTransBinning2d = [0,0.15,0.30,0.45,0.60,0.75,1,1.5,2,2.5,4],
jet2PNETscoreTransBinning2d = [0,0.15,0.30,0.45,0.60,0.75,1,1.5,2,2.5,4],
## trigger for numerator and denominator
numGenericTriggerEvent = dict(
hltPaths = ["HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBTagParticleNet_2BTagSum0p65_v*"],
andOr = False,
andOrHlt = True,
#hltInputTag = "TriggerResults::reHLT", ## when testing in the DQM workflow (https://twiki.cern.ch/twiki/bin/viewauth/CMS/HLTValidationAndDQM)
hltInputTag = "TriggerResults::HLT",
errorReplyHlt = False,
dcsInputTag = "scalersRawToDigi",
dcsPartitions = [24, 25, 26, 27, 28, 29],
andOrDcs = False,
errorReplyDcs = True,
verbosityLevel = 1,
),
denGenericTriggerEvent = dict(
hltPaths = ["HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v*"],
andOr = False,
andOrHlt = True,
#hltInputTag = "TriggerResults::reHLT", ## when testing in the DQM workflow (https://twiki.cern.ch/twiki/bin/viewauth/CMS/HLTValidationAndDQM)
hltInputTag = "TriggerResults::HLT",
errorReplyHlt = False,
dcsInputTag = "scalersRawToDigi",
dcsPartitions = [24, 25, 26, 27, 28, 29],
andOrDcs = False,
errorReplyDcs = True,
verbosityLevel = 1,
),
)
24 changes: 24 additions & 0 deletions DQMOffline/Trigger/python/ParticleNetAK8HbbTagClient_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import FWCore.ParameterSet.Config as cms
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester

particleNetAK8HbbTagEfficiency = DQMEDHarvester("DQMGenericClient",
subDirs = cms.untracked.vstring("HLT/HIG/PNETAK8/HLT_IsoMu50_AK8PFJet230_SoftDropMass40_PFAK8ParticleNetBB0p35_or_HLT_Ele50_CaloIdVT_GsfTrkIdT_AK8PFJet230_SoftDropMass40/"),
verbose = cms.untracked.uint32(0), # Set to 2 for all messages
resolution = cms.vstring(),
efficiency = cms.vstring(
"eff_muon_pt 'Efficiency vs p_{T}(#mu); p_{T}(#mu); efficiency' muon_pt_numerator muon_pt_denominator",
"eff_muon_eta 'Efficiency vs #eta(#mu); #eta(#mu); efficiency' muon_eta_numerator muon_eta_denominator",
"eff_electron_pt 'Efficiency vs p_{T}(ele); p_{T}(ele); efficiency' electron_pt_numerator electron_pt_denominator",
"eff_electron_eta 'Efficiency vs #eta(ele); #eta(ele); efficiency' electron_eta_numerator electron_eta_denominator",
"eff_ht 'Efficiency vs H_{T}; H_{T}; efficiency' ht_numerator ht_denominator",
"eff_njets 'Efficiency vs N_{jets}; N_{jets}; efficiency' njets_numerator njets_denominator",
"eff_nbjets 'Efficiency vs N_{bjets}; N_{bjets}; efficiency' nbjets_numerator nbjets_denominator",
"eff_jet1_pt 'Efficiency vs p_{T}(j1); p_{T}(j1); efficiency' jet1_pt_numerator jet1_pt_denominator",
"eff_jet1_eta 'Efficiency vs #eta(j1); #eta(j1); efficiency' jet1_eta_numerator jet1_eta_denominator",
"eff_jet1_pnetscore 'Efficiency vs Lead PNET-score; Lead PNET-score; efficiency' jet1_pnetscore_numerator jet1_pnetscore_denominator",
"eff_jet1_pnetscore_trans 'Efficiency vs Lead atanh(PNET-score); Lead atanh(PNET-score); efficiency' jet1_pnetscore_trans_numerator jet1_pnetscore_trans_denominator",
"eff_jet1_pt_eta 'Efficiency vs j1 p_{T} and #eta; p_{T}(j1); #eta(j1); efficiency' jet1_pt_eta_numerator jet1_pt_eta_denominator",
"eff_jet1_pt_pnetscore1 'Efficiency vs j1 p_{T} and Lead PNET-score; p_{T}(j1); Lead PNET-score; efficiency' jet1_pt_pnetscore1_numerator jet1_pt_pnetscore1_denominator",
"eff_jet1_pt_pnetscore1_trans 'Efficiency vs j1 p_{T} and Lead atanh(PNET-score); p_{T}(j1); Lead atanh(PNET-score); efficiency' jet1_pt_pnetscore1_trans_numerator jet1_pt_pnetscore1_trans_denominator",
)
)
Loading

0 comments on commit 3413b63

Please sign in to comment.