Skip to content
Draft
Show file tree
Hide file tree
Changes from 18 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
190 changes: 190 additions & 0 deletions dqmgui/layouts/p2tkmc_relval-layouts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
def phase2tkmclayout(i, p, *rows): i["MCLayouts/Phase2Tk/" + p] = DQMItem(layout=rows)

# Loop to create layouts for all EXCEPT L1Track

# These names shouldn't change
top_files = ["TrackerPhase2ITClusterV/",
"TrackerPhase2ITRecHitV/",
"TrackerPhase2ITTrackingRecHitV/",
"TrackerPhase2OTClusterV/",
"TrackerPhase2OTRecHitV/",
"TrackerPhase2OTTrackingRecHitV/"]
common_structures = ["Barrel/", "EndCap_Side1/", "EndCap_Side2/"]
IT_structures = ["FPix/", "EPix/"]
OT_structures = ["TEDD_1/", "TEDD_2/"]
TEDD_rings = [15, 12]
layout_name_parts = ["IT ", "OT ", "Clusters ", "RecHit ", "TrackingRecHit ", "L1 Track ",
"Barrel ", "Layer ", "MINUS ", "PLUS ", "FPix ", "EPix ", "Ring ", "TEDD1 ", "TEDD2 "]

# If you want to book different values, you'll have to add them here, and then edit the "for histogram in histogram_names[a:b]:" lines
histogram_names = ["Delta_X_Pixel", "Delta_Y_Pixel", "Delta_Y_vs_DeltaX", "Delta_X", "Delta_Y", "Delta_X_Strip", "Delta_Y_Strip"]

for f_index, file in enumerate(top_files): # Loop thru our top folders
layout = []
layout_num = 00 # Two digit counter - layouts are numbered with three digits, with the first indicating the top folder
for s_index, structure in enumerate(common_structures): # Loop thru our "common" tracker structures

# ----- OUTER TRACKER ------
if f_index > 2:
# ----- OUTER TRACKER BARREL -----
if structure == common_structures[0]:
layout_desc_template = layout_name_parts[1] + layout_name_parts[f_index-1] + layout_name_parts[6]
# ---- STRIPS ----
for histogram in histogram_names[5:7]:
layout_name = str(f_index) + f"{layout_num:02}" + " - " + layout_desc_template + histogram
for layer in range(6): # One layout = One histogram * 6 layers (for strips)
layout.append([{"path":(file + structure + "Layer" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[7] + str(layer+1) + " " + histogram)}])
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), (layout[2]+layout[3]), (layout[4]+layout[5]))
layout_num = layout_num + 1
layout = []

# ---- PIXELS ----
for histogram in histogram_names[0:2]:
layout_name = str(f_index) + f"{layout_num:02}" + " - " + layout_desc_template + histogram
for layer in range(3): # One layout = One histogram * 3 layers (for pixels)
layout.append([{"path":(file + structure + "Layer" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[7] + str(layer+1) + " " + histogram)}])
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), layout[2])
layout_num = layout_num + 1
layout = []

# ----- OUTER TRACKER ENDCAPS -----
else:
for tedd in range(2):
layout_desc_template = layout_name_parts[1] + layout_name_parts[f_index-1] + layout_name_parts[s_index+7] + "Endcap " + layout_name_parts[13+tedd]
for layer in range(TEDD_rings[tedd]): # One layout = Four histograms * 1 layer
layout_name = OT_structures[tedd] + structure + str(f_index) + f"{layout_num:02}" + " - " + layout_desc_template + histogram # There are a lot of TEDD histos so we put them in a folder
# ---- STRIPS ----
for histogram in histogram_names[5:7]:
layout.append([{"path":(file + structure + OT_structures[tedd] + "Ring" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[12] + str(layer+1) + " " + histogram)}])
# ---- PIXELS ----
if (layer < TEDD_rings[tedd]-5):
for histogram in histogram_names[0:2]:
layout.append([{"path":(file + structure + OT_structures[tedd] + "Ring" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[12] + str(layer+1) + " " + histogram)}])
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), (layout[2]+layout[3]))
else:
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]))
layout_num = layout_num + 1
layout = []

# ----- INNER TRACKER -----
else:
# For IT, the histogram names change between clust/rechit/tracking
# So this selects which ones we use based on the top file index
if f_index == 0:
lower = 0
upper = 2
elif f_index == 1:
lower = 2
upper = 3
elif f_index == 2:
lower = 3
upper = 5

# ----- INNER TRACKER BARREL -----
if structure == common_structures[0]:
layout_desc_template = layout_name_parts[0] + layout_name_parts[2+f_index] + layout_name_parts[6]
for histogram in histogram_names[lower:upper]:
layout_name = str(f_index) + f"{layout_num:02}" + " - " + layout_desc_template + histogram
for layer in range(4): # One layout = One histogram * 4 layers
layout.append([{"path":(file + structure + "Layer" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[7] + str(layer+1) + " " + histogram)}])
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), (layout[2]+layout[3]))
layout_num = layout_num + 1
layout = []

# ----- INNER TRACKER ENDCAPS -----
else:
for histogram in histogram_names[lower:upper]:
for efpix in range(2):
layout_desc_template = layout_name_parts[0] + layout_name_parts[2+f_index] + layout_name_parts[s_index+7] + "Endcap " + layout_name_parts[10+efpix]
layout_name = str(f_index) + f"{layout_num:02}" + " - " + layout_desc_template + histogram
for layer in range(4+efpix): # One layout = One histogram * 4/5 rings, depending on FPix or EPix
layout.append([{"path":(file + structure + IT_structures[efpix] + "Ring" + str(layer+1) + "/" + histogram), "description":(layout_desc_template + layout_name_parts[12] + str(layer+1) + " " + histogram)}])
if efpix == 0:
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), (layout[2]+layout[3]))
else:
phase2tkmclayout(dqmitems, layout_name, (layout[0]+layout[1]), (layout[2]+layout[3]), layout[4])
layout_num = layout_num + 1
layout = []

# ----- END LOOP ------
# L1 TRACK
phase2tkmclayout(dqmitems, "600 - OT L1Track Eta Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalEfficiency/EtaEfficiency",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be shortened by defining a string equal to "TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalEfficiency"?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a loop for the L1T histograms as well

'description': "Eta Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalResolution/EtaResolution",
'description': "Eta Resolution"}]
)

phase2tkmclayout(dqmitems, "601 - OT L1Track Phi Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalResolution/PhiResolution",
'description': "Phi Resolution"}]
)

phase2tkmclayout(dqmitems, "602 - OT L1Track Lxy Efficiency",
[{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalEfficiency/LxyEfficiency",
'description': "Lxy Efficiency"}]
)

phase2tkmclayout(dqmitems, "603 - OT L1Track d0 Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalEfficiency/d0Efficiency",
'description': "d0 Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalResolution/d0Resolution",
'description': "d0 Resolution"}]
)

phase2tkmclayout(dqmitems, "604 - OT L1Track z0 Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalEfficiency/z0Efficiency",
'description': "z0 Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Nominal_L1TF/FinalResolution/z0Resolution",
'description': "z0 Resolution"}]
)

phase2tkmclayout(dqmitems, "605 - OT Extended L1Track Displaced Eta Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalEfficiency/EtaEfficiency",
'description': "Eta Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalResolution/EtaResolution_displaced",
'description': "Eta Resolution"}]
)

phase2tkmclayout(dqmitems, "606 - OT Extended L1Track Displaced Phi Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalResolution/PhiResolution_displaced",
'description': "Phi Resolution"}]
)

phase2tkmclayout(dqmitems, "607 - OT Extended L1Track Displaced Lxy Efficiency",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalEfficiency/LxyEfficiency",
'description': "Lxy Efficiency"}]
)

phase2tkmclayout(dqmitems, "608 - OT Extended L1Track Displaced d0 Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalEfficiency/d0Efficiency",
'description': "d0 Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Displaced/FinalResolution/d0Resolution_displaced",
'description': "d0 Resolution"}]
)

phase2tkmclayout(dqmitems, "609 - OT Extended L1Track Prompt Eta Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalEfficiency/EtaEfficiency",
'description': "Eta Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalResolution/EtaResolution_prompt",
'description': "Eta Resolution"}]
)

phase2tkmclayout(dqmitems, "610 - OT Extended L1Track Prompt Phi Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalResolution/PhiResolution_prompt",
'description': "Phi Resolution"}]
)

phase2tkmclayout(dqmitems, "611 - OT Extended L1Track Prompt Lxy Efficiency",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalEfficiency/LxyEfficiency",
'description': "Lxy Efficiency"}]
)

phase2tkmclayout(dqmitems, "612 - OT Extended L1Track Prompt d0 Efficiency and Resolution",
[{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalEfficiency/d0Efficiency",
'description': "d0 Efficiency"},
{'path':"TrackerPhase2OTL1TrackV/Extended_L1TF/Prompt/FinalResolution/d0Resolution_prompt",
'description': "d0 Resolution"}]
)


1 change: 1 addition & 0 deletions dqmgui/server-conf-relval.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
LAYOUTS += glob("%s/layouts/shift_%s_relval_layout.py" % (CONFIGDIR, "pflow"))
LAYOUTS += glob("%s/layouts/%smc_relval-layouts.py" % (CONFIGDIR, "ecal"))
LAYOUTS += glob("%s/layouts/%smc_relval-layouts.py" % (CONFIGDIR, "tk"))
LAYOUTS += glob("%s/layouts/%smc_relval-layouts.py" % (CONFIGDIR, "p2tk"))
LAYOUTS += glob("%s/layouts/%smc_relval-layouts.py" % (CONFIGDIR, "pflow"))
LAYOUTS += glob("%s/layouts/%s_relval-layouts.py" % (CONFIGDIR, "hlt"))
LAYOUTS += glob("%s/layouts/%s_relval-layouts.py" % (CONFIGDIR, "ecal"))
Expand Down
87 changes: 69 additions & 18 deletions dqmgui/workspaces-relval.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,24 +95,75 @@
'MCLayouts/Tk/04 - TrackingMCTruth',
'MCLayouts/Tk/05 - TrackingRecHits',
)
server.workspace('DQMContent', 31, 'Monte Carlo', 'MC Tk Phase-2' , '^(TrackerPhase2.*/|SiOuter.*)', 'MCLayouts/PhaseTk')
server.workspace('DQMContent', 31, 'Monte Carlo', 'MC Ecal' , '^Ecal.*/', 'MCLayouts/Ecal')
server.workspace('DQMContent', 32, 'Monte Carlo', 'MC Hcal' , '(^Hcal(|NoiseRatesD|RecHitsD|DigisV|HitsV)|^CaloTowersD)/', 'MCLayouts/Hcal')
server.workspace('DQMContent', 33, 'Monte Carlo', 'MC DT' , '^DT/', '')
server.workspace('DQMContent', 34, 'Monte Carlo', 'MC CSC' , '^CSC/', '')
server.workspace('DQMContent', 35, 'Monte Carlo', 'MC RPC' , '^RPC/', '')
server.workspace('DQMContent', 36, 'Monte Carlo', 'MC Tracking' , '^Tracking/', '')
server.workspace('DQMContent', 37, 'Monte Carlo', 'MC L1T', '^L1T/', '')
server.workspace('DQMContent', 38, 'Monte Carlo', 'MC L1TEMU', '^L1TEMU/', '')
server.workspace('DQMContent', 39, 'Monte Carlo', 'MC HLT', '^HLT/', '')
server.workspace('DQMContent', 40, 'Monte Carlo', 'MC Electron' , '^Electron/', '')
server.workspace('DQMContent', 41, 'Monte Carlo', 'MC Photon' , '^Photon/', '')
server.workspace('DQMContent', 42, 'Monte Carlo', 'MC Muon' , '^Muon/', '')
server.workspace('DQMContent', 43, 'Monte Carlo', 'MC Jet' , '^Jet/', '')
server.workspace('DQMContent', 44, 'Monte Carlo', 'MC MET' , '^MET/', '')
server.workspace('DQMContent', 45, 'Monte Carlo', 'MC BTag' , '^BTag/', '')
server.workspace('DQMContent', 46, 'Monte Carlo', 'MC Tau' , '^.*Tau.*/', 'RecoTauV/Layouts')
server.workspace('DQMContent', 47, 'Monte Carlo', 'MC PFlow' , '^ParticleFlow/', 'MCLayouts/PFlow',
server.workspace('DQMContent', 31, 'Monte Carlo', 'MC Tk Phase-2' , '^TrackerPhase2(OT|IT)(Cluster|L1Track|RecHit|Stub|TrackingRecHit)V', 'MCLayouts/Phase2Tk',
"MCLayouts/Phase2Tk/000 - IT Clusters Barrel Delta_X_Pixel",
"MCLayouts/Phase2Tk/001 - IT Clusters Barrel Delta_Y_Pixel",
"MCLayouts/Phase2Tk/002 - IT Clusters MINUS Endcap FPix Delta_X_Pixel",
"MCLayouts/Phase2Tk/003 - IT Clusters MINUS Endcap EPix Delta_X_Pixel",
"MCLayouts/Phase2Tk/004 - IT Clusters MINUS Endcap FPix Delta_Y_Pixel",
"MCLayouts/Phase2Tk/005 - IT Clusters MINUS Endcap EPix Delta_Y_Pixel",
"MCLayouts/Phase2Tk/006 - IT Clusters PLUS Endcap FPix Delta_X_Pixel",
"MCLayouts/Phase2Tk/007 - IT Clusters PLUS Endcap EPix Delta_X_Pixel",
"MCLayouts/Phase2Tk/008 - IT Clusters PLUS Endcap FPix Delta_Y_Pixel",
"MCLayouts/Phase2Tk/009 - IT Clusters PLUS Endcap EPix Delta_Y_Pixel",
"MCLayouts/Phase2Tk/100 - IT RecHit Barrel Delta_Y_vs_DeltaX",
"MCLayouts/Phase2Tk/101 - IT RecHit MINUS Endcap FPix Delta_Y_vs_DeltaX",
"MCLayouts/Phase2Tk/102 - IT RecHit MINUS Endcap EPix Delta_Y_vs_DeltaX",
"MCLayouts/Phase2Tk/103 - IT RecHit PLUS Endcap FPix Delta_Y_vs_DeltaX",
"MCLayouts/Phase2Tk/104 - IT RecHit PLUS Endcap EPix Delta_Y_vs_DeltaX",
"MCLayouts/Phase2Tk/200 - IT TrackingRecHit Barrel Delta_X",
"MCLayouts/Phase2Tk/201 - IT TrackingRecHit Barrel Delta_Y",
"MCLayouts/Phase2Tk/202 - IT TrackingRecHit MINUS Endcap FPix Delta_X",
"MCLayouts/Phase2Tk/203 - IT TrackingRecHit MINUS Endcap EPix Delta_X",
"MCLayouts/Phase2Tk/204 - IT TrackingRecHit MINUS Endcap FPix Delta_Y",
"MCLayouts/Phase2Tk/205 - IT TrackingRecHit MINUS Endcap EPix Delta_Y",
"MCLayouts/Phase2Tk/206 - IT TrackingRecHit PLUS Endcap FPix Delta_X",
"MCLayouts/Phase2Tk/207 - IT TrackingRecHit PLUS Endcap EPix Delta_X",
"MCLayouts/Phase2Tk/208 - IT TrackingRecHit PLUS Endcap FPix Delta_Y",
"MCLayouts/Phase2Tk/209 - IT TrackingRecHit PLUS Endcap EPix Delta_Y",
"MCLayouts/Phase2Tk/300 - OT Clusters Barrel Delta_X_Strip",
"MCLayouts/Phase2Tk/301 - OT Clusters Barrel Delta_Y_Strip",
"MCLayouts/Phase2Tk/302 - OT Clusters Barrel Delta_X_Pixel",
"MCLayouts/Phase2Tk/303 - OT Clusters Barrel Delta_Y_Pixel",
"MCLayouts/Phase2Tk/400 - OT RecHit Barrel Delta_X_Strip",
"MCLayouts/Phase2Tk/401 - OT RecHit Barrel Delta_Y_Strip",
"MCLayouts/Phase2Tk/402 - OT RecHit Barrel Delta_X_Pixel",
"MCLayouts/Phase2Tk/403 - OT RecHit Barrel Delta_Y_Pixel",
"MCLayouts/Phase2Tk/500 - OT TrackingRecHit Barrel Delta_X_Strip",
"MCLayouts/Phase2Tk/501 - OT TrackingRecHit Barrel Delta_Y_Strip",
"MCLayouts/Phase2Tk/502 - OT TrackingRecHit Barrel Delta_X_Pixel",
"MCLayouts/Phase2Tk/503 - OT TrackingRecHit Barrel Delta_Y_Pixel",
"MCLayouts/Phase2Tk/600 - OT L1Track Eta Efficiency and Resolution",
"MCLayouts/Phase2Tk/601 - OT L1Track Phi Resolution",
"MCLayouts/Phase2Tk/602 - OT L1Track Lxy Efficiency",
"MCLayouts/Phase2Tk/603 - OT L1Track d0 Efficiency and Resolution",
"MCLayouts/Phase2Tk/604 - OT L1Track z0 Efficiency and Resolution",
"MCLayouts/Phase2Tk/605 - OT Extended L1Track Displaced Eta Efficiency and Resolution",
"MCLayouts/Phase2Tk/606 - OT Extended L1Track Displaced Phi Resolution",
"MCLayouts/Phase2Tk/607 - OT Extended L1Track Displaced Lxy Efficiency",
"MCLayouts/Phase2Tk/608 - OT Extended L1Track Displaced d0 Efficiency and Resolution",
"MCLayouts/Phase2Tk/609 - OT Extended L1Track Prompt Eta Efficiency and Resolution",
"MCLayouts/Phase2Tk/610 - OT Extended L1Track Prompt Phi Resolution",
"MCLayouts/Phase2Tk/611 - OT Extended L1Track Prompt Lxy Efficiency",
"MCLayouts/Phase2Tk/612 - OT Extended L1Track Prompt d0 Efficiency and Resolution",)

server.workspace('DQMContent', 32, 'Monte Carlo', 'MC Ecal' , '^Ecal.*/', 'MCLayouts/Ecal')
server.workspace('DQMContent', 33, 'Monte Carlo', 'MC Hcal' , '(^Hcal(|NoiseRatesD|RecHitsD|DigisV|HitsV)|^CaloTowersD)/', 'MCLayouts/Hcal')
server.workspace('DQMContent', 34, 'Monte Carlo', 'MC DT' , '^DT/', '')
server.workspace('DQMContent', 35, 'Monte Carlo', 'MC CSC' , '^CSC/', '')
server.workspace('DQMContent', 36, 'Monte Carlo', 'MC RPC' , '^RPC/', '')
server.workspace('DQMContent', 37, 'Monte Carlo', 'MC Tracking' , '^Tracking/', '')
server.workspace('DQMContent', 38, 'Monte Carlo', 'MC L1T', '^L1T/', '')
server.workspace('DQMContent', 39, 'Monte Carlo', 'MC L1TEMU', '^L1TEMU/', '')
server.workspace('DQMContent', 40, 'Monte Carlo', 'MC HLT', '^HLT/', '')
server.workspace('DQMContent', 41, 'Monte Carlo', 'MC Electron' , '^Electron/', '')
server.workspace('DQMContent', 42, 'Monte Carlo', 'MC Photon' , '^Photon/', '')
server.workspace('DQMContent', 43, 'Monte Carlo', 'MC Muon' , '^Muon/', '')
server.workspace('DQMContent', 44, 'Monte Carlo', 'MC Jet' , '^Jet/', '')
server.workspace('DQMContent', 45, 'Monte Carlo', 'MC MET' , '^MET/', '')
server.workspace('DQMContent', 46, 'Monte Carlo', 'MC BTag' , '^BTag/', '')
server.workspace('DQMContent', 47, 'Monte Carlo', 'MC Tau' , '^.*Tau.*/', 'RecoTauV/Layouts')
server.workspace('DQMContent', 48, 'Monte Carlo', 'MC PFlow' , '^ParticleFlow/', 'MCLayouts/PFlow',
'MCLayouts/PFlow/01 - Jet Pt Resolution - Barrel',
'MCLayouts/PFlow/02 - Jet Pt Resolution - Endcap',
'MCLayouts/PFlow/03 - Jet Pt Resolution distribution - Barrel',
Expand Down