jacanchaplais / colliderscope Goto Github PK
View Code? Open in Web Editor NEWInteractive visualisation tools for collider data.
Home Page: https://colliderscope.readthedocs.io
License: BSD 3-Clause "New" or "Revised" License
Interactive visualisation tools for collider data.
Home Page: https://colliderscope.readthedocs.io
License: BSD 3-Clause "New" or "Revised" License
Should include mass peaks, etc. More details to come.
Should enable visualisation of an undirected network, similar to a scatter plot of the final state, but with edges connecting the particles.
This example was originally written to evaluate the success of a clustering model.
# assuming exist ParticleSet object at final_pcls
x = final_pcls.pmu.eta
y = final_pcls.pmu.phi
dR = gcl.matrix.delta_R_aff(final_pcls.pmu)
adj_matrix = gcl.matrix.cut_adj(dR, conf.dataset.radius)
degrees = adj_matrix.sum(axis=0)
def edge_pos(pcl_pos: npt.NDArray[np.float64], adj: npt.NDArray[np.bool_]) -> list[list[Optional[float]]]:
edges = []
for ux, row in zip(pcl_pos, adj):
for vx in pcl_pos[row]:
edges += [ux, vx, None]
return edges
edge_trace = go.Scatter(
x=edge_pos(x, adj_matrix), y=edge_pos(y, adj_matrix),
line=dict(width=0.5, color="#686a72"),
hoverinfo="none", mode="lines",
showlegend=False,
)
node_trace = go.Scatter(
x=list(x),
y=list(y),
mode="markers",
hoverinfo="text",
# text=list(final_pcls.pdg.name),
text=list(map("degree={}, confidence={:.3f}".format, degrees, preds)),
showlegend=False,
marker=dict(
showscale=True,
symbol=labels,
colorscale='Bluered',
reversescale=True,
color=degrees,
size=10,
colorbar=dict(
thickness=15,
title='degree',
xanchor='left',
titleside='right'
),
line_width=1
),
)
fig = go.Figure(
data=[edge_trace, node_trace],
layout=go.Layout(
title='Input graph data structure',
titlefont_size=16,
hovermode='closest',
margin=dict(b=20,l=5,r=5,t=40),
xaxis=dict(showgrid=True, zeroline=False, showticklabels=True, title_text="Pseudorapidity"),
yaxis=dict(showgrid=True, zeroline=False, showticklabels=True, title_text="Azimuth"),
)
)
fig.show()
fig.write_html(fig_dir / f"{num:02}-preds-degree.html")
The Histogram
object itself should be at the top of the figure. Change the ordering so the overlays don't obscure it.
Add __eq__
and __add__
special methods to Histogram
object for comparing and combining histogram data.
Histogram.update()
currently takes one value at a time. Enable the val
parameter to be an iterable s.t. pre-computed arrays can be efficiently binned, and the user doesn't have to resort to iteratively calling Histogram.update()
.
Add I/O to methods to Histogram
s.t. they can be serialised and stored / read as JSON files.
Normalisation for the Histogram
pdfs doesn't take into account bin width. Make sure values are normalised wrt to bin width.
Enable initialisation of Histogram from pre-computed histogram data, specifically in the format outputted from numpy.histogram()
, ie. a two-tuple of arrays containing counts and bin edges, respectively. Should also contain an optional total
parameter, which normalises the density with respect to the total number of values, rather than those just present in the bin range.
Dependency issues as the API for graphicle changed between versions 0.2 and 0.3. Additionally, can make use of the graphicle.select.clusters()
function.
Maybe add some unit tests that periodically run, to ensure the integration of these packages is consistent.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.