Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-02-05 23:51:33

0001 '''
0002 Client config file for Scouting Muon DQM. Harvester to compute the efficiencies
0003 for the Tag and Probe (hltScoutingMuonPackerVtx and hltScoutingMuonPackerNoVtx 
0004 collections, read in ScoutingMuonTagProbeAnalyzer_cfi.py) and compute the efficiencies
0005 of the L1 seeds.
0006 
0007 Author: Javier Garcia de Castro, email:javigdc@bu.edu
0008 '''
0009 
0010 import FWCore.ParameterSet.Config as cms
0011 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
0012 from HLTriggerOffline.Scouting.ScoutingMuonTriggerAnalyzer_cfi import *
0013 
0014 #Harvester to measure efficiency for hltScoutingMuonPackerNoVtx collection (Tag and Probe method)
0015 #Inputs for the efficiency vstring are (name, title, xlabel, ylabel, numerator histogram, denominator histogram)
0016 muonEfficiencyNoVtx = DQMEDHarvester("DQMGenericClient",
0017     subDirs        = cms.untracked.vstring("/HLT/ScoutingOffline/Muons/NoVtx"),
0018     verbose        = cms.untracked.uint32(0), # Set to 2 for all messages                                                                                                                                          
0019     resolution     = cms.vstring(),
0020     efficiency     = cms.vstring(
0021         "effic_muonPt       'efficiency vs pt; Muon pt [GeV]; efficiency' resonanceJ_numerator_Probe_sctMuon_Pt       resonanceJ_denominator_Probe_sctMuon_Pt",
0022         "effic_muonEta       'efficiency vs eta; Muon eta; efficiency' resonanceJ_numerator_Probe_sctMuon_Eta       resonanceJ_denominator_Probe_sctMuon_Eta",
0023         "effic_muonPhi       'efficiency vs phi; Muon phi; efficiency' resonanceJ_numerator_Probe_sctMuon_Phi       resonanceJ_denominator_Probe_sctMuon_Phi",
0024         "effic_muondxy       'efficiency vs dxy; Muon dxy; efficiency' resonanceJ_numerator_Probe_sctMuon_dxy       resonanceJ_denominator_Probe_sctMuon_dxy",
0025         "effic_muonInvMass       'efficiency vs inv mass; Muon inv mass [GeV]; efficiency' resonanceJ_numerator_sctMuon_Invariant_Mass       resonanceJ_denominator_sctMuon_Invariant_Mass",
0026         "effic_muonNormChisq      'efficiency vs normChi2; Muon normChi2; efficiency' resonanceJ_numerator_Probe_sctMuon_NormChisq       resonanceJ_denominator_Probe_sctMuon_NormChisq",
0027         "effic_muonTrkdz       'efficiency vs Trkdz; Muon trkdz; efficiency' resonanceJ_numerator_Probe_sctMuon_Trk_dz       resonanceJ_denominator_Probe_sctMuon_Trkdz",
0028         "effic_muonTrkdxy       'efficiency vs Trkdxy; Muon trkdxy; efficiency' resonanceJ_numerator_Probe_sctMuon_Trk_dxy       resonanceJ_denominator_Probe_sctMuon_Trkdxy",
0029         "effic_muonlxy       'efficiency vs lxy; Muon lxy; efficiency' resonanceJ_numerator_Vertex_Lxy       resonanceJ_denominator_Vertex_Lxy",
0030         "effic_muonVertexYerror       'efficiency vs VertexYerror; Muon Vertex Yerror; efficiency' resonanceJ_numerator_Vertex_Yerror       resonanceJ_denominator_Vertex_Yerror",
0031         "effic_muonVertexXerror       'efficiency vs VertexXerror; Muon Vertex Xerror; efficiency' resonanceJ_numerator_Vertex_Xerror       resonanceJ_denominator_Vertex_Xerror",
0032         "effic_muonVertexChi2       'efficiency vs Vertexchi2; Muon Vertex chi2; efficiency' resonanceJ_numerator_Vertex_chi2       resonanceJ_denominator_Vertex_chi2",
0033         "effic_muonVertexYerror       'efficiency vs z; Muon Vertex z; efficiency' resonanceJ_numerator_Vertex_z       resonanceJ_denominator_Vertex_z",
0034         "effic_muontype      'efficiency vs type; Muon type; efficiency' resonanceJ_numerator_Probe_sctMuon_type      resonanceJ_denominator_Probe_sctMuon_type",
0035         "effic_muoncharge       'efficiency vs charge; Muon charge; efficiency' resonanceJ_numerator_Probe_sctMuon_charge       resonanceJ_denominator_Probe_sctMuon_charge",
0036         "effic_muonecalIso       'efficiency vs ecalIso; Muon ecalIso; efficiency' resonanceJ_numerator_Probe_sctMuon_ecalIso       resonanceJ_denominator_Probe_sctMuon_ecalIso",
0037         "effic_muonhcalIso       'efficiency vs hcalIso; Muon hcalIso; efficiency' resonanceJ_numerator_Probe_sctMuon_hcalIso       resonanceJ_denominator_Probe_sctMuon_hcalIso",
0038         "effic_muontrackIso       'efficiency vs trackIso; Muon trackIso; efficiency' resonanceJ_numerator_Probe_sctMuon_trackIso       resonanceJ_denominator_Probe_sctMuon_trackIso",
0039         "effic_nValidStandAloneMuonHits       'efficiency vs nValidStandAloneMuonHits; nValidStandAloneMuonHits; efficiency' resonanceJ_numerator_Probe_sctMuon_nValidStandAloneMuonHits       resonanceJ_denominator_Probe_sctMuon_nValidStandAloneMuonHits",
0040         "effic_nStandAloneMuonMatchedStations       'efficiency vs nStandAloneMuonMatchedStations; nStandAloneMuonMatchedStations; efficiency' resonanceJ_numerator_Probe_sctMuon_nStandAloneMuonMatchedStations       resonanceJ_denominator_Probe_sctMuon_nStandAloneMuonMatchedStations",
0041         "effic_nValidRecoMuonHits       'efficiency vs nValidRecoMuonHits; nValidRecoMuonHits; efficiency' resonanceJ_numerator_Probe_sctMuon_nValidRecoMuonHits       resonanceJ_denominator_Probe_sctMuon_nValidRecoMuonHits",
0042         "effic_nRecoMuonChambers       'efficiency vs nRecoMuonChambers; nRecoMuonChambers; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonChambers       resonanceJ_denominator_Probe_sctMuon_nRecoMuonChambers",
0043         "effic_nRecoMuonChambersCSCorDT       'efficiency vs nRecoMuonChambersCSCorDT; nRecoMuonChambersCSCorDT; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonChambersCSCorDT       resonanceJ_denominator_Probe_sctMuon_nRecoMuonChambersCSCorDT",
0044         "effic_nRecoMuonMatches       'efficiency vs nRecoMuonMatches; nRecoMuonMatches; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonMatches       resonanceJ_denominator_Probe_sctMuon_nRecoMuonMatches",
0045         "effic_nRecoMuonMatchedStations       'efficiency vs nRecoMuonMatchedStations; nRecoMuonMatchedStations; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonMatchedStations       resonanceJ_denominator_Probe_sctMuon_nRecoMuonMatchedStations",
0046         "effic_nRecoMuonExpectedMatchedStations      'efficiency vs nRecoMuonExpectedMatchedStations; nRecoMuonExpectedMatchedStations; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonExpectedMatchedStations       resonanceJ_denominator_Probe_sctMuon_nRecoMuonExpectedMatchedStations",
0047         "effic_nRecoMuonMatchedRPCLayers       'efficiency vs nRecoMuonMatchedRPCLayers; nRecoMuonMatchedRPCLayers; efficiency' resonanceJ_numerator_Probe_sctMuon_nRecoMuonMatchedRPCLayers       resonanceJ_denominator_Probe_sctMuon_nRecoMuonMatchedRPCLayers",
0048         "effic_recoMuonRPClayerMask      'efficiency vs recoMuonRPClayerMask; recoMuonRPClayerMask; efficiency' resonanceJ_numerator_Probe_sctMuon_recoMuonRPClayerMask       resonanceJ_denominator_Probe_sctMuon_recoMuonRPClayerMask",
0049         "effic_nValidPixelHits       'efficiency vs nValidPixelHits; nValidPixelHits; efficiency' resonanceJ_numerator_Probe_sctMuon_nValidPixelHits       resonanceJ_denominator_Probe_sctMuon_nValidPixelHits",
0050         "effic_nValidStripHits       'efficiency vs nValidStripHits; nValidStripHits; efficiency' resonanceJ_numerator_Probe_sctMuon_nValidStripHits       resonanceJ_denominator_Probe_sctMuon_nValidStripHits",
0051         "effic_nPixelLayersWithMeasurement       'efficiency vs nPixelLayersWithMeasurement; nPixelLayersWithMeasurement; efficiency' resonanceJ_numerator_Probe_sctMuon_nPixelLayersWithMeasurement       resonanceJ_denominator_Probe_sctMuon_nPixelLayersWithMeasurement",
0052         "effic_nTrackerLayersWithMeasurement       'efficiency vs nTrackerLayersWithMeasurement; nTrackerLayersWithMeasurement; efficiency' resonanceJ_numerator_Probe_sctMuon_nTrackerLayersWithMeasurement       resonanceJ_denominator_Probe_sctMuon_nTrackerLayersWithMeasurement",
0053         "effic_trk_chi2       'efficiency vs trk_chi2; trk_chi2; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_chi2      resonanceJ_denominator_Probe_sctMuon_trk_chi2",
0054         "effic_trk_ndof       'efficiency vs trk_ndof; trk_ndof; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_ndof      resonanceJ_denominator_Probe_sctMuon_trk_ndof",
0055         "effic_trk_lambda       'efficiency vs trk_lambda; trk_lambda; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_lambda       resonanceJ_denominator_Probe_sctMuon_trk_lambda",
0056         "effic_trk_pt       'efficiency vs trk_pt; trk_pt; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_pt       resonanceJ_denominator_Probe_sctMuon_trk_pt",
0057         "effic_trk_eta      'efficiency vs trk_eta; trk_eta; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_eta    resonanceJ_denominator_Probe_sctMuon_trk_eta",
0058         "effic_trk_dxyError       'efficiency vs trk_dxyError; trk_dxyError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_dxyError       resonanceJ_denominator_Probe_sctMuon_trk_dxyError",
0059         "effic_trk_dzError       'efficiency vs trk_dzError; trk_dzError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_dzError       resonanceJ_denominator_Probe_sctMuon_trk_dzError",
0060         "effic_trk_qoverpError       'efficiency vs trk_qoverpError; trk_qoverpError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_qoverpError       resonanceJ_denominator_Probe_sctMuon_trk_qoverpError",
0061         "effic_trk_lambdaError      'efficiency vs trk_lambdaError; trk_lambdaError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_lambdaError       resonanceJ_denominator_Probe_sctMuon_trk_lambdaError",
0062         "effic_trk_phiError       'efficiency vs trk_phiError; trk_phiError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_phiError       resonanceJ_denominator_Probe_sctMuon_trk_phiError",
0063         "effic_trk_dsz      'efficiency vs trk_dsz; trk_dsz; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_dsz       resonanceJ_denominator_Probe_sctMuon_trk_dsz",
0064         "effic_trk_dszError       'efficiency vs trk_dszError; trk_dszError; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_dszError       resonanceJ_denominator_Probe_sctMuon_trk_dszError",
0065         "effic_ndof       'efficiency vs ndof; ndof; efficiency' resonanceJ_numerator_Probe_sctMuon_ndof      resonanceJ_denominator_Probe_sctMuon_ndof",
0066         "effic_trk_vx       'efficiency vs trk_vx; trk_vx; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_vx       resonanceJ_denominator_Probe_sctMuon_trk_vx",
0067         "effic_trk_vy       'efficiency vs trk_vy; trk_vy; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_vy       resonanceJ_denominator_Probe_sctMuon_trk_vy",
0068         "effic_trk_vz       'efficiency vs trk_vz; trk_vz; efficiency' resonanceJ_numerator_Probe_sctMuon_trk_vz      resonanceJ_denominator_Probe_sctMuon_trk_vz",
0069         "effic_vertex_x       'efficiency vs vertex_x; vertex x; efficiency' resonanceJ_numerator_Probe_sctMuon_x       resonanceJ_denominator_Probe_sctMuon_x",
0070         "effic_vertex_y       'efficiency vs vertex_y; vertex y; efficiency' resonanceJ_numerator_Probe_sctMuon_y       resonanceJ_denominator_Probe_sctMuon_y",
0071         "effic_vertex_Zerror       'efficiency vs Zerror; vertex Zerror; efficiency' resonanceJ_numerator_Probe_sctMuon_Zerror       resonanceJ_denominator_Probe_sctMuon_Zerror",
0072         "effic_tracksSize       'efficiency vs tracksSize; tracksSize; efficiency' resonanceJ_numerator_Probe_sctMuon_tracksSize       resonanceJ_denominator_Probe_sctMuon_tracksSize",
0073     ),
0074 )
0075 
0076 #To declare muonEfficiencyVtx, clone muonEfficiencyNoVtx and change only the output subDir
0077 muonEfficiencyVtx = muonEfficiencyNoVtx.clone()
0078 muonEfficiencyVtx.subDirs = cms.untracked.vstring("/HLT/ScoutingOffline/Muons/Vtx")
0079 
0080 #L1 seeds efficiency measurement
0081 allSeeds = SingleMuL1 + DoubleMuL1
0082 efficiencyList = ["effic_pt1_%s       '%s; Leading muon pt [GeV]; L1 efficiency' h_pt1_numerator_%s h_pt1_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0083 ["effic_eta1_%s       '%s; Leading muon eta; L1 efficiency' h_eta1_numerator_%s h_eta1_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0084 ["effic_phi1_%s       '%s; Leading muon phi; L1 efficiency' h_phi1_numerator_%s h_phi1_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0085 ["effic_dxy1_%s       '%s; Leading muon dxy; L1 efficiency' h_dxy1_numerator_%s h_dxy1_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0086 ["effic_pt2_%s       '%s; Subleading muon pt [GeV]; L1 efficiency' h_pt2_numerator_%s h_pt2_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0087 ["effic_eta2_%s       '%s; Subleading muon eta; L1 efficiency' h_eta2_numerator_%s h_eta2_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0088 ["effic_phi2_%s       '%s; Subleading muon phi; L1 efficiency' h_phi2_numerator_%s h_phi2_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0089 ["effic_dxy2_%s       '%s; Subleading muon dxy; L1 efficiency' h_dxy2_numerator_%s h_dxy2_denominator"%(seed,seed, seed) for seed in allSeeds]+\
0090 ["effic_invMass_%s       '%s; Invariant Mass; L1 efficiency' h_invMass_numerator_%s h_invMass_denominator"%(seed,seed, seed) for seed in allSeeds]
0091 
0092 muonTriggerEfficiency = DQMEDHarvester("DQMGenericClient",
0093     subDirs        = cms.untracked.vstring("/HLT/ScoutingOffline/Muons/L1Efficiency"),
0094     verbose        = cms.untracked.uint32(0), # Set to 2 for all messages                                                                                                                                          
0095     resolution     = cms.vstring(),
0096     efficiency     = cms.vstring( efficiencyList ),
0097 )