diff --git a/DQMServices/FileIO/scripts/blacklist.py b/DQMServices/FileIO/scripts/blacklist.py new file mode 100644 index 0000000000000..273f91af9201d --- /dev/null +++ b/DQMServices/FileIO/scripts/blacklist.py @@ -0,0 +1,380 @@ + +def get_blacklist(RUN_NR): + return { + ('DQMData', 'Run %s' % RUN_NR, 'AlCaReco', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'AlCaReco', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'AlCaReco', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'AlCaReco', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_real_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_thread_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'event time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_real_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_thread_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'explicit time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_real_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_thread_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process DQM time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process PAT time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process RECO time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_real_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_thread_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'process reRECO time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source allocated_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source allocated_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source allocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source deallocated_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source deallocated_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source deallocated_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_real'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_real_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_real_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_real_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_thread'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_thread_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_thread_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'source time_thread_byls'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead allocated_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead allocated_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead deallocated_VsPU'), + ('DQMData', 'Run %s' % RUN_NR, 'DQM', 'Run summary', 'TimerService', 'overhead deallocated_VsScalLumi'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'DT', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Ecal', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'HLT', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TStage2uGMT', 'ugmtMuonPhi.muon_phiSpectrum'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TStage2uGMT', 'ugmtMuonPhiAtVtx.muon_phiSpectrum'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TStage2uGMT', 'ugmtMuonPhiEmtf.uGMT_EMTFMuonPhiSpectrum'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1T', 'Run summary', 'L1TriggerVsReco', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'L1TEMU', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'MessageLogger', 'Run summary', 'Errors', 'total_errors'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phiVSeta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phiVSeta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phiVseta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phiVseta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phiVSeta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phiVSeta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_qComparison.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'GlbRh_Div_RhAssoStaTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_GlbSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkGlb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_GlbSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkGlb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_GlbSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_TkGlb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'Res_TuneP_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaEta_ifCombinedAlso.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaPhi_ifCombinedAlso.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaRh_Frac_inGlb.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'StaRh_inGlb_Div_RhAssoSta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkRh_Frac_inGlb.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'TkRh_inGlb_Div_RhAssoTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'invalidRh_Frac_inTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'muVStkSytemRotation_negMu.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons', 'Run summary', 'MuonRecoAnalyzer', 'muVStkSytemRotation_posMu.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phiVSeta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_phiVSeta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Glb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phiVseta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_phiVseta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Sta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phiVSeta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_phiVSeta_badlumi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_Tk_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbMuon_qComparison.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'GlbRh_Div_RhAssoStaTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Pull_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_GlbSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkGlb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsEta_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_GlbSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkGlb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPhi_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsPt_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_GlbSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_TkGlb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'ResVsTheta_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_GlbSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkGlb_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_oneOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_oneOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_qOverp.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_qOverpt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TkSta_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'Res_TuneP_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaEta_ifCombinedAlso.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaMuon_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaPhi_ifCombinedAlso.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaRh_Frac_inGlb.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'StaRh_inGlb_Div_RhAssoSta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_chi2OverDf.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_eta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_p.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_phi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_probchi.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_pt.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_q.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkMuon_theta.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkRh_Frac_inGlb.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'TkRh_inGlb_Div_RhAssoTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'invalidRh_Frac_inTk.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'muVStkSytemRotation_negMu.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Muons_miniAOD', 'Run summary', 'MuonRecoAnalyzer', 'muVStkSytemRotation_posMu.Mu_Comp2RefChi2'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Pixel', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'RPC', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'RecoTauV', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'SiStrip', 'Run summary', 'EventInfo', 'workingDir'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'hostName'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'processEventRate'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'processID'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'processLatency'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'processStartTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'processTimeStamp'), + ('DQMData', 'Run %s' % RUN_NR, 'Tracking', 'Run summary', 'EventInfo', 'workingDir'), + } diff --git a/DQMServices/FileIO/scripts/compareDQMOutput.py b/DQMServices/FileIO/scripts/compareDQMOutput.py new file mode 100755 index 0000000000000..8f9cf648003df --- /dev/null +++ b/DQMServices/FileIO/scripts/compareDQMOutput.py @@ -0,0 +1,145 @@ +#!/bin/env python + +import os +import sys +import glob +import argparse +import subprocess +from threading import Thread + +COMPARISON_RESULTS = [] + +def collect_and_compare_files(base_dir, pr_dir, output_dir, num_procs, pr_number, test_number, release_format): + files = get_file_pairs(base_dir, pr_dir) + + threads = [] + for _ in range(num_procs): + thread = Thread(target=compare, args=(base_dir, pr_dir, output_dir, files, pr_number, test_number, release_format)) + thread.start() + threads.append(thread) + + [thread.join() for thread in threads] + + COMPARISON_RESULTS.sort(key=lambda k: float(k['workflow'])) + +def compare(base_dir, pr_dir, output_dir, files, pr_number, test_number, release_format): + while files: + try: + file_name = files.pop() + command = ['python', os.path.join(os.path.dirname(__file__), 'compareHistograms.py'), '-b', os.path.join(base_dir, file_name), \ + '-p', os.path.join(pr_dir, file_name), '-o', output_dir, '-n', pr_number, '-t', test_number, '-r', release_format] + print('Running comparison:') + print(' '.join(command)) + + output = subprocess.check_output(command) + + output_elements = output.split('\n')[1:] + base_output_filename = output_elements[0] + pr_output_filename = output_elements[1] + run_nr = base_output_filename.split('_')[2].lstrip('R').lstrip('0') + output_numbers = output_elements[2].split(' ') + + workflow = os.path.basename(os.path.dirname(os.path.join(base_dir, file_name))).split('_')[0] + base_dataset = '/' + '/'.join(base_output_filename.rstrip('.root').split('__')[1:]) + pr_dataset = '/' + '/'.join(pr_output_filename.rstrip('.root').split('__')[1:]) + + COMPARISON_RESULTS.append({'workflow': workflow, 'base_dataset': base_dataset, 'pr_dataset': pr_dataset, 'run_nr': run_nr,\ + 'changed_elements': int(output_numbers[0]), 'removed_elements': int(output_numbers[1]), 'added_elements': int(output_numbers[2])}) + except: + pass + +def get_file_pairs(base_dir, pr_dir): + base_files = glob.glob(os.path.join(base_dir, '*.*_*/DQM_*.root')) + pr_files = glob.glob(os.path.join(pr_dir, '*.*_*/DQM_*.root')) + + # Remove base directories and leave + # only parts of paths that are same + base_files = map(lambda x: os.path.relpath(x, base_dir), base_files) + pr_files = map(lambda x: os.path.relpath(x, pr_dir), pr_files) + + # Find intersection + return [value for value in base_files if value in pr_files] + +def upload_to_gui(output_dir, num_procs): + base_files = glob.glob(os.path.join(output_dir, 'base/*.root')) + pr_files = glob.glob(os.path.join(output_dir, 'pr/*.root')) + + files = base_files + pr_files + + for _ in range(num_procs): + thread = Thread(target=upload, args=(files,)) + thread.start() + +def upload(files): + while files: + try: + file = files.pop() + command = ['python', os.path.join(os.path.dirname(__file__), 'visDQMUpload.py'), 'https://cmsweb.cern.ch/dqm/dev', file] + print('Uploading output:') + print(' '.join(command)) + + subprocess.call(command) + print('') + except: + pass + +def generate_summary_html(output_dir, pr_number, summary_dir): + template_file = open(os.path.join(os.path.dirname(__file__), 'dqm-histo-comparison-summary-template.html'), 'r') + result = template_file.read() + + result = result.replace('$PR_NUMBER$', pr_number) + + table_items = '' + total_changes = 0 + + for comp in COMPARISON_RESULTS: + total_changes += comp['removed_elements'] + comp['added_elements'] + comp['changed_elements'] + baseline_count = comp['changed_elements'] + comp['removed_elements'] + pr_count = comp['changed_elements'] + comp['added_elements'] + overlay_count = baseline_count + + # Make urls + base_url = 'https://cmsweb.cern.ch/dqm/dev/start?runnr=%s;dataset%%3D%s;sampletype%%3Doffline_relval;workspace%%3DEverything;' % (comp['run_nr'], comp['base_dataset']) + pr_url = 'https://cmsweb.cern.ch/dqm/dev/start?runnr=%s;dataset%%3D%s;sampletype%%3Doffline_relval;workspace%%3DEverything;' % (comp['run_nr'], comp['pr_dataset']) + overlay_url = 'https://cmsweb.cern.ch/dqm/dev/start?runnr=%s;dataset%%3D%s;referenceshow%%3Dall;referenceobj1%%3Dother::%s::;sampletype%%3Doffline_relval;workspace%%3DEverything;' \ + % (comp['run_nr'], comp['pr_dataset'], comp['base_dataset']) + + table_items += '
Baseline | +Pull Request | +Overlay (PR + base) | +Removed, added and changed plots | +
---|