Skip to main content
  1. The dataset

    This is the TrackML Particle Tracking Challenge with a complete description on the data description page.

    We only use train_sample.zip data with the first 10 events and the data belongs to volume 9 for experiments.

  2. The hits extraction

    This process will extract the hits and select the number of tracks on each dataset using four parameters (V, N, E, P). 

    For an example of a hits selected file:

    • Filename: V_9_N_50_E_100_P_1.csv
      • V_9: Volume id 9
      • N_50: The number of hits is 50
      • E_100: Select 100% hits of 7 layers with 50 hits per layer
      • P_1: The minimum moment threshold is 1

    hit_extraction

    Where:

            P >= sqrt(px^2 + py^2 + pz^2)
          

We extracted all of hits with E = 100 and P = 1. Here are hits selected files: hits_selected.zip

  1. The preprocessing step

    This step will build and filter segments by the hits selected with two parameters (B, D). The outputs are instances of cost corresponding, which include segments and the beta angles created by two segments consecutively and the time to do this step.

    For an example of an instance:

    • Input: V_9_N_50_E_100_P_1.csv file
    • Output: V_9_N_50_E_100_P_1_B_500_D_27.json file
      • V_9: Volume id 9
      • N_50: The number of hits is 50
      • E_100: Select 100% hits of 7 layers with 50 hits per layer
      • P_1: The minimum moment threshold is 1
      • B: The maximal angle between two segments we can expect
      • D: The maximal angle between the vector segment and the vector initiation of the layer.
    preprocessing

    How the instances have been created 

    You have to install ROOT in your system (you can download root at : here )

    Here a file that contraint the C++ program that make the preprocessing

    You just have to use the following line of commands in your console:
    root.exe -b -q -t script_build_costs.cpp

    In script_build_costs.cpp you have to carefully defined two variables


    First variable
    string root_path_in = "** initial directory where you have a file with the hit you are interested in***";



    Second variable

    string root_path_out = "** final directory where you want to save the instance***";



    How to select the file ?

    you have to change this part of the program


    void script_build_costs(){
    // params for data
    int V = 9;
    int E = 100;
    int N = 600;
    int P = 1;
    // params for building costs
    int B = 250; // -> beta_max = pi/B
    int D = 15; // -> delta_max = pi/D
    ....
    }


    If you are interesting in V_9_N_10_E_100_P_1.csv
    you must choose : int V = 9;
    int E = 100;
    int N = 10;
    int P = 1;




    and the same for all the instances.


    Datasets: 

Datasets No. instances Range of no. tracks Range of no. hits
Small-scale instances 10 10-100 70-700
Medium-scale instances 10 125-350 875-2450
Large-scale instances 10 375-600 2625-4200
Small scale instances
  No. tracks File
1 10 V_9_N_10_E_100_P_1_B_250_D_15.json
2 20 V_9_N_20_E_100_P_1_B_250_D_15.json
3 30 V_9_N_30_E_100_P_1_B_250_D_15.json
4 40 V_9_N_40_E_100_P_1_B_250_D_15.json
5 50 V_9_N_10_E_100_P_1_B_250_D_15.json
6 60 V_9_N_60_E_100_P_1_B_250_D_15.json
7 70 V_9_N_70_E_100_P_1_B_250_D_15.json
8 80 V_9_N_80_E_100_P_1_B_250_D_15.json
9 90 V_9_N_90_E_100_P_1_B_250_D_15.json
10 100 V_9_N_100_E_100_P_1_B_250_D_15.json
Medium scale instances
  No. tracks File
1 125 V_9_N_125_E_100_P_1_B_250_D_15.json
2 150 V_9_N_150_E_100_P_1_B_250_D_15.json
3 175 V_9_N_175_E_100_P_1_B_250_D_15.json
4 200 V_9_N_200_E_100_P_1_B_250_D_15.json
5 225 V_9_N_225_E_100_P_1_B_250_D_15.json
6 250 V_9_N_250_E_100_P_1_B_250_D_15.json
7 275 V_9_N_275_E_100_P_1_B_250_D_15.json
8 300 V_9_N_300_E_100_P_1_B_250_D_15.json
9 325 V_9_N_325_E_100_P_1_B_250_D_15.json
10 350 V_9_N_350_E_100_P_1_B_250_D_15.json
Large scale instances
  No. tracks File
1 375 V_9_N_375_E_100_P_1_B_250_D_15.json
2 400 V_9_N_400_E_100_P_1_B_250_D_15.json
3 425 V_9_N_425_E_100_P_1_B_250_D_15.json
4 450 V_9_N_450_E_100_P_1_B_250_D_15.json
5 475 V_9_N_475_E_100_P_1_B_250_D_15.json
6 500 V_9_N_500_E_100_P_1_B_250_D_15.json
7 525 V_9_N_525_E_100_P_1_B_250_D_15.json
8 550 V_9_N_550_E_100_P_1_B_250_D_15.json
9 575 V_9_N_575_E_100_P_1_B_250_D_15.json
10 600 V_9_N_600_E_100_P_1_B_250_D_15.json