Data Types and Dictionary Mapping

Introduction

Since most of the backend of Analysis-G is built in C++ and interfaced via Cython, multiple data types were used to simplify passing arguments between layers. Luckily, Cython and C++ can share py:type:struct types, which can be mapped into dictionaries and back. This section of the documentation outlines these types with their respective key and value pairs.

code_t
Variables:
  • input_params – list[str]

  • co_vars – list[str]

  • param_space – dict[str, str]

  • trace – dict[str, list[str]]

  • extern_imports – dict[str, list[str]]

  • dependency_hashes – list[str]

  • function_name – str

  • class_name – str

  • hash – str

  • source_code – str

  • object_code – str

  • defaults – str

  • is_class – bool

  • is_function – bool

  • is_callable – bool

  • is_initialized – bool

  • has_param_variable – bool

leaf_t
Variables:
  • requested – str

  • matched – str

  • branch_name – str

  • tree_name – str

  • path – str

branch_t
Variables:
  • requested – str

  • matched – str

  • tree_name – str

  • leaves – list[leaf_t]

tree_t
Variables:
  • size – int

  • requested – str

  • matched – str

  • branches – list[branch_t]

  • leaves – list[leaf_t]

meta_t
Variables:
  • hash – str

  • original_input – str

  • original_path – str

  • original_name – str

  • req_trees – list[str]

  • req_branches – list[str]

  • req_leaves – list[str]

  • mis_trees – list[str]

  • mis_branches – list[str]

  • mis_leaves – list[str]

  • dsid – int

  • AMITag – str

  • generators – str

  • isMC – bool

  • derivationFormat – str

  • inputrange – dict[int, int]

  • inputfiles – dict[int, str]

  • config – dict[str, str]

  • eventNumber – int

  • event_index – int

  • found – bool

  • DatasetName – str

  • ecmEnergy – float

  • genFiltEff – float

  • completion – float

  • beam_energy – float

  • crossSection – float

  • crossSection_mean – float

  • totalSize – float

  • nFiles – int

  • run_number – int

  • totalEvents – int

  • datasetNumber – int

  • identifier – str

  • prodsysStatus – str

  • dataType – str

  • version – str

  • PDF – str

  • AtlasRelease – str

  • principalPhysicsGroup – str

  • physicsShort – str

  • generatorName – str

  • geometryVersion – str

  • conditionsTag – str

  • generatorTune – str

  • amiStatus – str

  • beamType – str

  • productionStep – str

  • projectName – str

  • statsAlgorithm – str

  • genFilterNames – str

  • file_type – str

  • sample_name – str

  • keywords – list[str]

  • weights – list[str]

  • keyword – list[str]

  • LFN – dict[str, int]

  • fileGUID – list[str]

  • events – list[int]

  • fileSize – list[float]

particle_t
Variables:
  • e – float

  • mass – float

  • px – float

  • py – float

  • pz – float

  • pt – float

  • eta – float

  • phi – float

  • cartesian – bool

  • polar – bool

  • charge – float

  • pdgid – int

  • index – int

  • type – str

  • hash – str

  • symbol – str

  • lepdef – list[int]

  • nudef – list[int]

event_t
Variables:
  • event_name – str

  • commit_hash – str

  • code_hash – str

  • deprecated – bool

  • cached – bool

  • weight – float

  • event_index – int

  • event_hash – str

  • event_tagging – str

  • event_tree – str

  • event_root – str

  • pickled_data – str

  • graph – bool

  • selection – bool

  • event – bool

graph_t
Variables:
  • event_name – str

  • code_hash – str

  • errors – dict[str, str]

  • presel – dict[str, int]

  • cached – bool

  • event_index – int

  • weight – float

  • event_hash – str

  • event_tagging – str

  • event_tree – str

  • event_root – str

  • pickled_data – str

  • train – bool

  • evaluation – bool

  • validation – bool

  • empty_graph – bool

  • skip_graph – bool

  • src_dst – dict[str, list[int]]

  • hash_particle – dict[str, int]

  • self_loops – bool

  • graph_feature – dict[str, str]

  • node_feature – dict[str, str]

  • edge_feature – dict[str, str]

  • pre_sel_feature – dict[str, str]

  • topo_hash – str

  • graph – bool

  • selection – bool

  • event – bool

selection_t
Variables:
  • event_name – str

  • code_hash – str

  • errors – dict[str, int]

  • cached – bool

  • event_index – int

  • weight – float

  • event_hash – str

  • event_tagging – str

  • event_tree – str

  • event_root – str

  • pickled_data – str

  • pickled_strategy_data – str

  • strat_merge – dict[str, str]

  • data_merge – dict[str, str]

  • cutflow – dict[str, int]

  • timestats – list[float]

  • all_weights – list[float]

  • selection_weights – list[float]

  • allow_failure – bool

  • _params_ – str

  • graph – bool

  • selection – bool

  • event – bool

batch_t
Variables:
  • events – dict[str, event_t]

  • graphs – dict[str, graphs_t]

  • selections – dict[str, selection_t]

  • code_hashes – dict[str, code_t]

  • meta – meta_t

  • hash – str

folds_t
Variables:
  • test – bool

  • train – bool

  • evaluation – bool

  • kfold – int

  • event_hash – str

data_t
Variables:
  • name – str

  • truth – list[list[float]]

  • pred – list[list[float]]

  • index – list[list[float]]

  • nodes – list[list[float]]

  • loss – list[list[float]]

  • accuracy – list[list[float]]

metric_t
Variables:
  • truth – dict[str, list[list[float]]

  • pred – dict[str, list[list[float]]

  • acc_average – dict[str, float]

  • loss_average – dict[str, float]

  • num_nodes – dict[str, int]

root_t
Variables:
  • batches – dict[str, batch_t]

  • n_events – dict[str, int]

  • n_graphs – dict[str, int]

  • n_selections – dict[str, int]

tracer_t
Variables:
  • root_names – dict[str, root_t]

  • root_meta – dict[str, meta_t]

  • hashed_code – dict[str, code_t]

  • event_trees – dict[str, int]

  • link_event_code – dict[str, str]

  • link_graph_code – dict[str, str]

export_t
Variables:
  • root_meta – dict[str, meta_t]

  • hashed_code – dict[str, code_t]

  • link_event_code – dict[str, str]

  • link_graph_code – dict[str, str]

  • link_selection_code – dict[str, str]

  • event_name_hash – dict[str, dict[str]]

  • graph_name_hash – dict[str, dict[str]]

  • selection_name_hash – dict[str, dict[str]]

  • event_dir – dict[str, str]

  • graph_dir – dict[str, str]

  • selection_dir – dict[str, str]

settings_t
Variables:
  • projectname – str

  • outputdirectory – str

  • files – dict[str, list[str]]

  • samplemap – dict[str, list[str]]

  • verbose – int

  • chunks – int

  • threads – int

  • enable_pyami – bool

  • tree – str

  • eventname – str

  • graphname – str

  • selectionname – str

  • event_start – int

  • event_stop – int

  • training_name – str

  • run_name – str

  • device – str

  • optimizer_name – str

  • optimizer_params – dict[str, str]

  • scheduler_name – str

  • scheduler_params – dict[str, str]

  • kfolds – int

  • batch_size – int

  • epochs – int

  • epoch – dict[int, int]

  • kfold – list[int]

  • model – code_t

  • model_params – dict[str, str]

  • kinematic_map – dict[str, str]

  • debug_mode – bool

  • continue_training – bool

  • runplotting – bool

  • sort_by_nodes – bool

  • enable_reconstruction – bool

  • getgraph – bool

  • getevent – bool

  • getselection – bool

  • eventcache – bool

  • graphcache – bool

  • search – list[str]

  • get_all – bool

  • hashed_code – dict[str, code_t]

  • link_event_code – dict[str, str]

  • link_graph_code – dict[str, str]

  • link_selection_code – dict[str, str]