在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):LAL/trackml-library开源软件地址(OpenSource Url):https://github.com/LAL/trackml-library开源编程语言(OpenSource Language):Python 100.0%开源软件介绍(OpenSource Introduction):TrackML utility libraryA python library to simplify working with the High Energy Physics Tracking Machine Learning challenge dataset. It can be used for the datasets of both the accuracy phase and the throughput phase. InstallationThe package can be installed as a user package via
To make a local checkout of the repository available directly it can also be installed in development mode
In both cases, the package can be imported via UsageTo read the data for one event from the training dataset including the ground truth information: from trackml.dataset import load_event
hits, cells, particles, truth = load_event('path/to/event000000123') For the test dataset only the hit information is available. To read only this data: from trackml.dataset import load_event
hits, cells = load_event('path/to/event000000456', parts=['hits', 'cells']) To iterate over events in a dataset: from trackml.dataset import load_dataset
for event_id, hits, cells, particles, truth in load_dataset('path/to/dataset'):
... To read a single event and compute additional columns derived from the stored data: from trackml.dataset import load_event
from trackml.utils import add_position_quantities, add_momentum_quantities, decode_particle_id
# get the particles data
particles = load_event('path/to/event000000123', parts=['particles'])
# decode particle id into vertex id, generation, etc.
particles = decode_particle_id(particles)
# add vertex rho, phi, r
particles = add_position_quantities(particles, prefix='v')
# add momentum eta, p, pt
particles = add_momentum_quantities(particles) The dataset path can be the path to a directory or to a zip file containing the
events To generate a random test submission from truth information and compute the expected score: from trackml.randomize import shuffle_hits
from trackml.score import score_event
shuffled = shuffle_hits(truth, 0.05) # 5% probability to reassign a hit
score = score_event(truth, shuffled) All methods either take or return AuthorsThe library was written by
with contributions from
LicenseAll code is licensed under the MIT license. DatasetA dataset comprises multiple independent events, where each event contains simulated measurements (essentially 3D points) of particles generated in a collision between proton bunches at the Large Hadron Collider at CERN. The goal of the tracking machine learning challenge is to group the recorded measurements or hits for each event into tracks, sets of hits that belong to the same initial particle. A solution must uniquely associate each hit to one track. The training dataset contains the recorded hits, their ground truth counterpart and their association to particles, and the initial parameters of those particles. The test dataset contains only the recorded hits. Each dataset is usually provided as a single archive file. Once
unzipped, the dataset comprises a set of
Submissions must be provided as a single
Event hitsThe hits file contains the following values for each hit/entry:
The volume/layer/module id could in principle be deduced from x, y, z. They are given here to simplify detector-specific data handling. Event truthThe truth file contains the mapping between hits and generating particles and the true particle state at each measured hit. Each entry maps one hit to one particle.
Event particlesThe particles files contains the following values for each particle/entry:
All entries contain the generated information or ground truth. Event hit cellsThe cells file contains the constituent active detector cells that comprise each hit. The cells can be used to refine the hit to track association. A cell is the smallest granularity inside each detector module, much like a pixel on a screen, except that depending on the volume_id a cell can be a square or a long rectangle. It is identified by two channel identifiers that are unique within each detector module and encode the position, much like column/row numbers of a matrix. A cell can provide signal information that the detector module has recorded in addition to the position. Depending on the detector type only one of the channel identifiers is valid, e.g. for the strip detectors, and the value might have different resolution.
Dataset submission informationThe submission file must associate each hit in each event to one and only one reconstructed particle track. The reconstructed tracks must be uniquely identified only within each event.
Additional detector geometry informationThe detector is built from silicon slabs (or modules, rectangular or trapezoïdal), arranged in cylinders and disks, which measure the position (or hits) of the particles that cross them. The detector modules are organized into detector groups or volumes identified by a volume_id. Inside a volume they are further grouped into layers identified by a layer_id. Each layer can contain an arbitrary number of detector modules, the smallest geometrically distinct detector object, each identified by a module_id. Within each group, detector modules are of the same type have e.g. the same granularity. All simulated detector modules are so-called semiconductor sensors that are build from thin silicon sensor chips. Each module can be represented by a two-dimensional, planar, bounded sensitive surface. These sensitive surfaces are subdivided into regular grids that define the detectors cells, the smallest granularity within the detector. Each module has a different position and orientation described in the detectors file. A local, right-handed coordinate system is defined on each sensitive surface such that the first two coordinates u and v are on the sensitive surface and the third coordinate w is normal to the surface. The orientation and position are defined by the following transformation
that transform a position described in local coordinates u,v,w into the equivalent position x,y,z in global coordinates using a rotation matrix and an offset.
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论