From d9b499b1212431d934020b7440b2cfc11918baa3 Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Tue, 28 Apr 2020 17:01:12 +0200 Subject: [PATCH 01/44] decode Retina Cluster --- configuration/constants/VELO_Retina.json | 3 + .../generator/VeloSequence_Retina.py | 18 +++++ configuration/sequences/VELO_Retina.h | 25 ++++++ .../common/include/ClusteringDefinitions.cuh | 22 +++++- .../VeloCalculateNumberOfRetinaCluster.cuh | 78 +++++++++++++++++++ .../src/VeloCalculateNumberOfCandidates.cu | 2 +- .../src/VeloCalculateNumberOfRetinaCluster.cu | 50 ++++++++++++ 7 files changed, 193 insertions(+), 5 deletions(-) create mode 100644 configuration/constants/VELO_Retina.json create mode 100644 configuration/generator/VeloSequence_Retina.py create mode 100644 configuration/sequences/VELO_Retina.h create mode 100644 cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh create mode 100644 cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu diff --git a/configuration/constants/VELO_Retina.json b/configuration/constants/VELO_Retina.json new file mode 100644 index 00000000000..7119bb7d6c1 --- /dev/null +++ b/configuration/constants/VELO_Retina.json @@ -0,0 +1,3 @@ +{ + "configured_lines": [] +} diff --git a/configuration/generator/VeloSequence_Retina.py b/configuration/generator/VeloSequence_Retina.py new file mode 100644 index 00000000000..0c486661601 --- /dev/null +++ b/configuration/generator/VeloSequence_Retina.py @@ -0,0 +1,18 @@ +from algorithms import * + + +def VELO_sequence(): + populate_odin_banks = populate_odin_banks_t() + host_global_event_cut = host_global_event_cut_t() + velo_calculate_number_of_Retina_Cluster = velo_calculate_number_of_Retina_Cluster_t( + ) + + + + velo_sequence = Sequence( + populate_odin_banks, + host_global_event_cut, + velo_calculate_number_of_Retina_Cluster + ) + + return velo_sequence diff --git a/configuration/sequences/VELO_Retina.h b/configuration/sequences/VELO_Retina.h new file mode 100644 index 00000000000..a2476abb369 --- /dev/null +++ b/configuration/sequences/VELO_Retina.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" +#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh" + +struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_Retina_Cluster::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_Retina_Cluster::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; + +using configured_lines_t = std::tuple<>; + +using configured_sequence_t = std::tuple< + populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, + velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'R', 'e', 't', 'i', 'n', 'a', '_', 'C', 'l', 'u', 's', 't', 'e', 'r', '_', 't'> +>; diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index 0f2a6f3f59e..f34c98acd2e 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -57,10 +57,10 @@ struct VeloRawEvent { __device__ __host__ VeloRawEvent(const char* event) { const char* p = event; - number_of_raw_banks = *((uint32_t*) p); + number_of_raw_banks = *((uint32_t*) p);//p is a pointer which points to an event. make pointer P from char to uint32 and get its first value. 1 bank -> 1 sensor p += sizeof(uint32_t); - raw_bank_offset = (uint32_t*) p; - p += (number_of_raw_banks + 1) * sizeof(uint32_t); + raw_bank_offset = (uint32_t*) p;//it's a array and the first element points to the second number + p += (number_of_raw_banks + 1) * sizeof(uint32_t);// data format: [the number of cluster of this event, ...] payload = (char*) p; } }; @@ -69,6 +69,7 @@ struct VeloRawBank { uint32_t sensor_index; uint32_t sp_count; uint32_t* sp_word; + uint32_t ncluster; // For MEP format __device__ __host__ VeloRawBank(uint32_t source_id, const char* fragment) @@ -81,7 +82,7 @@ struct VeloRawBank { } // For Allen format - __device__ __host__ VeloRawBank(const char* raw_bank) +/* __device__ __host__ VeloRawBank(const char* raw_bank) { const char* p = raw_bank; sensor_index = *((uint32_t*) p); @@ -89,7 +90,20 @@ struct VeloRawBank { sp_count = *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; + }*/ + + // For RetinaCluster format + __device__ __host__ VeloRawBank(const char* raw_bank) + { + const uint32_t* p = (uint32_t*)raw_bank; + sensor_index = *((uint32_t*) p); +// data = pp->range(); + p += sizeof(uint32_t); + ncluster = *((uint32_t*) p); + p += sizeof(uint32_t); + sp_word = (uint32_t*) p; } + }; /** diff --git a/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh b/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh new file mode 100644 index 00000000000..7029d4b6b1e --- /dev/null +++ b/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh @@ -0,0 +1,78 @@ +#pragma once + +#include "DeviceAlgorithm.cuh" +#include "ClusteringDefinitions.cuh" + +namespace velo_calculate_number_of_Retina_Cluster { + struct Parameters { + HOST_INPUT(host_number_of_selected_events_t, uint); + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_OUTPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; + DEVICE_OUTPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_OUTPUT(dev_number_of_candidates_t, uint) dev_number_of_candidates; + PROPERTY(block_dim_x_t, uint, "block_dim_x", "block dimension X"); + }; + + // Global function + __global__ void velo_calculate_number_of_Retina_Cluster(Parameters parameters, const uint number_of_events); + __global__ void velo_calculate_number_of_Retina_Cluster_mep(Parameters parameters, const uint number_of_events); + + // Algorithm + template + struct velo_calculate_number_of_Retina_Cluster_t : public DeviceAlgorithm, Parameters { + constexpr static auto name = Name::s; + decltype(global_function(velo_calculate_number_of_Retina_Cluster)) function {velo_calculate_number_of_Retina_Cluster}; + decltype(global_function(velo_calculate_number_of_Retina_Cluster_mep)) function_mep { + velo_calculate_number_of_Retina_Cluster_mep}; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions& runtime_options, + const Constants&, + const HostBuffers&) const + { + if (logger::verbosity() >= logger::debug) { + debug_cout << "# of events = " << value(arguments) << std::endl; + } + + set_size(arguments, std::get<1>(runtime_options.host_velo_events)); + set_size( + arguments, std::get<2>(runtime_options.host_velo_events).size_bytes() / sizeof(uint)); + set_size(arguments, value(arguments)); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + data_to_device( + arguments, runtime_options.host_velo_events, cuda_stream); + + // Enough blocks to cover all events + const auto grid_size = dim3( + (value(arguments) + property() - 1) / property()); + + // Invoke kernel + const auto parameters = Parameters {begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments)}; + + if (runtime_options.mep_layout) { + function_mep(grid_size, dim3(property().get()), cuda_stream)( + parameters, value(arguments)); + } + else { + function(grid_size, dim3(property().get()), cuda_stream)( + parameters, value(arguments)); + } + } + + private: + Property m_block_dim_x {this, 256}; + }; +} // namespace velo_calculate_number_of_Retina_Cluster diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 32394e871ce..9050113dcc1 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -8,7 +8,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; event_number += blockDim.x * gridDim.x) { const auto selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number];//point to an event // Read raw event const auto raw_event = VeloRawEvent(raw_input); diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu new file mode 100644 index 00000000000..199f269699c --- /dev/null +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu @@ -0,0 +1,50 @@ +#include +#include + +__global__ void velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster( + velo_calculate_number_of_Retina_Cluster::Parameters parameters, + const uint number_of_events) +{ + for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; + event_number += blockDim.x * gridDim.x) { + const auto selected_event_number = parameters.dev_event_list[event_number]; + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number];//point to an event + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + uint number_of_candidates = 0; + for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + // add up clusters in all sensors in one event + number_of_candidates += raw_bank.ncluster; + info_cout << raw_bank.sensor_index << " : " << number_of_candidates << std::endl; + } + + // The maximum number of candidates is two times the number of SPs + parameters.dev_number_of_candidates[event_number] = number_of_candidates; + } +} + +__global__ void velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster_mep( + velo_calculate_number_of_Retina_Cluster::Parameters parameters, + const uint number_of_events) +{ + for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; + event_number += blockDim.x * gridDim.x) { + const uint selected_event_number = parameters.dev_event_list[event_number]; + auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + + uint number_of_candidates = 0; + for (uint raw_bank_number = 0; raw_bank_number < number_of_raw_banks; ++raw_bank_number) { + // Create raw bank from MEP layout + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); + number_of_candidates += raw_bank.ncluster; + } + + parameters.dev_number_of_candidates[event_number] = number_of_candidates; + } +} + -- GitLab From db6b8c6ad9aed83c7dacf0cf5f1c9dca6315e0a9 Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Tue, 28 Apr 2020 17:23:36 +0200 Subject: [PATCH 02/44] cout bug --- .../mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu index 199f269699c..ab868d2948d 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu @@ -19,7 +19,8 @@ __global__ void velo_calculate_number_of_Retina_Cluster::velo_calculate_number_o const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); // add up clusters in all sensors in one event number_of_candidates += raw_bank.ncluster; - info_cout << raw_bank.sensor_index << " : " << number_of_candidates << std::endl; + std::cout << raw_bank.sensor_index << " : " << raw_bank.ncluster << std::endl; + std::cout << number_of_candidates << std::endl; } // The maximum number of candidates is two times the number of SPs -- GitLab From 9afc290d276f7b656a2713e783cb0d4978c3515d Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Tue, 28 Apr 2020 22:11:17 +0200 Subject: [PATCH 03/44] read np_count --- configuration/constants/VELO_origin.json | 3 + .../generator/VeloSequence_origin.py | 16 ++++ configuration/sequences/VELO_origin.h | 25 ++++++ .../common/include/ClusteringDefinitions.cuh | 7 +- .../VeloCalculateNumberOfRetinaCluster.cuh | 78 ------------------- .../src/VeloCalculateNumberOfCandidates.cu | 5 ++ .../src/VeloCalculateNumberOfRetinaCluster.cu | 51 ------------ 7 files changed, 53 insertions(+), 132 deletions(-) create mode 100644 configuration/constants/VELO_origin.json create mode 100644 configuration/generator/VeloSequence_origin.py create mode 100644 configuration/sequences/VELO_origin.h delete mode 100644 cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh delete mode 100644 cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu diff --git a/configuration/constants/VELO_origin.json b/configuration/constants/VELO_origin.json new file mode 100644 index 00000000000..7119bb7d6c1 --- /dev/null +++ b/configuration/constants/VELO_origin.json @@ -0,0 +1,3 @@ +{ + "configured_lines": [] +} diff --git a/configuration/generator/VeloSequence_origin.py b/configuration/generator/VeloSequence_origin.py new file mode 100644 index 00000000000..f147cd800fa --- /dev/null +++ b/configuration/generator/VeloSequence_origin.py @@ -0,0 +1,16 @@ +from algorithms import * + + +def VELO_sequence(): + populate_odin_banks = populate_odin_banks_t() + host_global_event_cut = host_global_event_cut_t() + velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t() + + velo_sequence = Sequence( + populate_odin_banks, + host_global_event_cut, + velo_calculate_number_of_candidates + + ) + + return velo_sequence diff --git a/configuration/sequences/VELO_origin.h b/configuration/sequences/VELO_origin.h new file mode 100644 index 00000000000..1e3afea128f --- /dev/null +++ b/configuration/sequences/VELO_origin.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" +#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" + +struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : velo_calculate_number_of_candidates::Parameters::dev_event_list_t, host_global_event_cut::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; + +using configured_lines_t = std::tuple<>; + +using configured_sequence_t = std::tuple< + populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'> +>; diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index f34c98acd2e..8621b6def8f 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -82,7 +82,7 @@ struct VeloRawBank { } // For Allen format -/* __device__ __host__ VeloRawBank(const char* raw_bank) + __device__ __host__ VeloRawBank(const char* raw_bank) { const char* p = raw_bank; sensor_index = *((uint32_t*) p); @@ -90,8 +90,9 @@ struct VeloRawBank { sp_count = *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; - }*/ + } +/* // For RetinaCluster format __device__ __host__ VeloRawBank(const char* raw_bank) { @@ -103,7 +104,7 @@ struct VeloRawBank { p += sizeof(uint32_t); sp_word = (uint32_t*) p; } - +*/ }; /** diff --git a/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh b/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh deleted file mode 100644 index 7029d4b6b1e..00000000000 --- a/cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh +++ /dev/null @@ -1,78 +0,0 @@ -#pragma once - -#include "DeviceAlgorithm.cuh" -#include "ClusteringDefinitions.cuh" - -namespace velo_calculate_number_of_Retina_Cluster { - struct Parameters { - HOST_INPUT(host_number_of_selected_events_t, uint); - DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; - DEVICE_OUTPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; - DEVICE_OUTPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; - DEVICE_OUTPUT(dev_number_of_candidates_t, uint) dev_number_of_candidates; - PROPERTY(block_dim_x_t, uint, "block_dim_x", "block dimension X"); - }; - - // Global function - __global__ void velo_calculate_number_of_Retina_Cluster(Parameters parameters, const uint number_of_events); - __global__ void velo_calculate_number_of_Retina_Cluster_mep(Parameters parameters, const uint number_of_events); - - // Algorithm - template - struct velo_calculate_number_of_Retina_Cluster_t : public DeviceAlgorithm, Parameters { - constexpr static auto name = Name::s; - decltype(global_function(velo_calculate_number_of_Retina_Cluster)) function {velo_calculate_number_of_Retina_Cluster}; - decltype(global_function(velo_calculate_number_of_Retina_Cluster_mep)) function_mep { - velo_calculate_number_of_Retina_Cluster_mep}; - - void set_arguments_size( - ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, - const Constants&, - const HostBuffers&) const - { - if (logger::verbosity() >= logger::debug) { - debug_cout << "# of events = " << value(arguments) << std::endl; - } - - set_size(arguments, std::get<1>(runtime_options.host_velo_events)); - set_size( - arguments, std::get<2>(runtime_options.host_velo_events).size_bytes() / sizeof(uint)); - set_size(arguments, value(arguments)); - } - - void operator()( - const ArgumentRefManager& arguments, - const RuntimeOptions& runtime_options, - const Constants&, - HostBuffers&, - cudaStream_t& cuda_stream, - cudaEvent_t&) const - { - data_to_device( - arguments, runtime_options.host_velo_events, cuda_stream); - - // Enough blocks to cover all events - const auto grid_size = dim3( - (value(arguments) + property() - 1) / property()); - - // Invoke kernel - const auto parameters = Parameters {begin(arguments), - begin(arguments), - begin(arguments), - begin(arguments)}; - - if (runtime_options.mep_layout) { - function_mep(grid_size, dim3(property().get()), cuda_stream)( - parameters, value(arguments)); - } - else { - function(grid_size, dim3(property().get()), cuda_stream)( - parameters, value(arguments)); - } - } - - private: - Property m_block_dim_x {this, 256}; - }; -} // namespace velo_calculate_number_of_Retina_Cluster diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 9050113dcc1..6e37e28f932 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -18,6 +18,10 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); number_of_candidates += raw_bank.sp_count; + printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); + printf("raw_bank.sp_count : %d\n", raw_bank.sp_count); + printf("number_of_candidates : %d\n", number_of_candidates); + } // The maximum number of candidates is two times the number of SPs @@ -40,6 +44,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); number_of_candidates += raw_bank.sp_count; + } parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu deleted file mode 100644 index ab868d2948d..00000000000 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfRetinaCluster.cu +++ /dev/null @@ -1,51 +0,0 @@ -#include -#include - -__global__ void velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster( - velo_calculate_number_of_Retina_Cluster::Parameters parameters, - const uint number_of_events) -{ - for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; - event_number += blockDim.x * gridDim.x) { - const auto selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number];//point to an event - - // Read raw event - const auto raw_event = VeloRawEvent(raw_input); - - uint number_of_candidates = 0; - for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { - // Read raw bank - const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - // add up clusters in all sensors in one event - number_of_candidates += raw_bank.ncluster; - std::cout << raw_bank.sensor_index << " : " << raw_bank.ncluster << std::endl; - std::cout << number_of_candidates << std::endl; - } - - // The maximum number of candidates is two times the number of SPs - parameters.dev_number_of_candidates[event_number] = number_of_candidates; - } -} - -__global__ void velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster_mep( - velo_calculate_number_of_Retina_Cluster::Parameters parameters, - const uint number_of_events) -{ - for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; - event_number += blockDim.x * gridDim.x) { - const uint selected_event_number = parameters.dev_event_list[event_number]; - auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; - - uint number_of_candidates = 0; - for (uint raw_bank_number = 0; raw_bank_number < number_of_raw_banks; ++raw_bank_number) { - // Create raw bank from MEP layout - const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_candidates += raw_bank.ncluster; - } - - parameters.dev_number_of_candidates[event_number] = number_of_candidates; - } -} - -- GitLab From 73c8f470dc3519e008a611c523d3eb2f01b5c5ea Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Wed, 29 Apr 2020 18:41:28 +0200 Subject: [PATCH 04/44] prefix number of cluster in each event --- configuration/constants/VELO_origin.h | 29 ++ .../generator/VeloSequence_origin.py | 12 +- configuration/sequences/VELO_origin.h | 10 +- .../common/include/ClusteringDefinitions.cuh | 2 +- .../include/RetinaClusters.cuh | 101 +++++ .../src/EstimateInputSize_Retina.cu | 66 +++ .../mask_clustering/src/RetinaClusters.cu | 413 ++++++++++++++++++ .../src/VeloCalculateNumberOfCandidates.cu | 10 +- x86/prefix_sum/include/HostPrefixSum.h | 4 +- x86/prefix_sum/src/HostPrefixSum.cpp | 26 +- 10 files changed, 653 insertions(+), 20 deletions(-) create mode 100644 configuration/constants/VELO_origin.h create mode 100644 cuda/velo/mask_clustering/include/RetinaClusters.cuh create mode 100644 cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu create mode 100644 cuda/velo/mask_clustering/src/RetinaClusters.cu diff --git a/configuration/constants/VELO_origin.h b/configuration/constants/VELO_origin.h new file mode 100644 index 00000000000..102ed429c98 --- /dev/null +++ b/configuration/constants/VELO_origin.h @@ -0,0 +1,29 @@ +#pragma once + +#include +#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" +#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" +#include "../../x86/prefix_sum/include/HostPrefixSum.h" + +struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, host_global_event_cut::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; + +using configured_lines_t = std::tuple<>; + +using configured_sequence_t = std::tuple< + populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'> +>; diff --git a/configuration/generator/VeloSequence_origin.py b/configuration/generator/VeloSequence_origin.py index f147cd800fa..c4b54a85198 100644 --- a/configuration/generator/VeloSequence_origin.py +++ b/configuration/generator/VeloSequence_origin.py @@ -6,10 +6,20 @@ def VELO_sequence(): host_global_event_cut = host_global_event_cut_t() velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t() + prefix_sum_offsets_velo_candidates = host_prefix_sum_t( + "prefix_sum_offsets_velo_candidates", + host_total_sum_holder_t="host_number_of_cluster_candidates_t", + dev_input_buffer_t=velo_calculate_number_of_candidates. + dev_number_of_candidates_t(), + dev_output_buffer_t="dev_candidates_offsets_t") + + + velo_sequence = Sequence( populate_odin_banks, host_global_event_cut, - velo_calculate_number_of_candidates + velo_calculate_number_of_candidates, + prefix_sum_offsets_velo_candidates ) diff --git a/configuration/sequences/VELO_origin.h b/configuration/sequences/VELO_origin.h index 1e3afea128f..4de393411bf 100644 --- a/configuration/sequences/VELO_origin.h +++ b/configuration/sequences/VELO_origin.h @@ -5,21 +5,25 @@ #include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" +#include "../../x86/prefix_sum/include/HostPrefixSum.h" struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; -struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, host_global_event_cut::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; struct dev_event_list_t : velo_calculate_number_of_candidates::Parameters::dev_event_list_t, host_global_event_cut::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : host_prefix_sum::Parameters::dev_input_buffer_t, velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'> + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'> >; diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index 8621b6def8f..4e03eef3e83 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -87,7 +87,7 @@ struct VeloRawBank { const char* p = raw_bank; sensor_index = *((uint32_t*) p); p += sizeof(uint32_t); - sp_count = *((uint32_t*) p); + ncluster = *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; } diff --git a/cuda/velo/mask_clustering/include/RetinaClusters.cuh b/cuda/velo/mask_clustering/include/RetinaClusters.cuh new file mode 100644 index 00000000000..29f8e6f6512 --- /dev/null +++ b/cuda/velo/mask_clustering/include/RetinaClusters.cuh @@ -0,0 +1,101 @@ +#pragma once + +#include +#include +#include "ClusteringDefinitions.cuh" +#include "VeloEventModel.cuh" +#include "DeviceAlgorithm.cuh" + +namespace RetinaClusters { + struct Parameters { + HOST_INPUT(host_total_number_of_velo_clusters_t, uint); + HOST_INPUT(host_number_of_selected_events_t, uint); + DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input;// + DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets;// + DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size; + DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num;// velo_estimate_input_size + DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets;// dev_output_buffer [0,a1, a1+a2 ....a1+a2+..a1000] + DEVICE_OUTPUT(dev_module_cluster_num_t, uint) dev_module_cluster_num; + DEVICE_OUTPUT(dev_velo_cluster_container_t, char) dev_velo_cluster_container; + PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); + }; + + // Function + __global__ void RetinaClusters( + Parameters parameters, + const VeloGeometry* dev_velo_geometry, + const uint8_t* dev_velo_sp_patterns, + const float* dev_velo_sp_fx, + const float* dev_velo_sp_fy); + + __global__ void RetinaClusters_mep( + Parameters parameters, + const VeloGeometry* dev_velo_geometry, + const uint8_t* dev_velo_sp_patterns, + const float* dev_velo_sp_fx, + const float* dev_velo_sp_fy); + + template + struct RetinaClusters_t : public DeviceAlgorithm, Parameters { + constexpr static auto name = Name::s; + decltype(global_function(RetinaClusters)) function {RetinaClusters}; + decltype(global_function(RetinaClusters_mep)) function_mep {RetinaClusters_mep}; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions&, + const Constants&, + const HostBuffers&) const + { + set_size( + arguments, value(arguments) * Velo::Constants::n_modules); + set_size(arguments, + value(arguments) * Velo::Clusters::element_size); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants& constants, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + initialize(arguments, 0, cuda_stream); + + const auto parameters = Parameters{ + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments) + }; + + // Selector from layout + if (runtime_options.mep_layout) { + function_mep(dim3(begin(arguments)[0]), property(), cuda_stream)( + parameters, + constants.dev_velo_geometry, + constants.dev_velo_sp_patterns.data(), + constants.dev_velo_sp_fx.data(), + constants.dev_velo_sp_fy.data()); + } else { + function(dim3(begin(arguments)[0]), property(), cuda_stream)( + parameters, + constants.dev_velo_geometry, + constants.dev_velo_sp_patterns.data(), + constants.dev_velo_sp_fx.data(), + constants.dev_velo_sp_fy.data()); + } + } + + private: + Property m_block_dim {this, {{256, 1, 1}}}; + }; +} // namespace RetinaClusters diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu b/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu new file mode 100644 index 00000000000..6eb6b43b3b8 --- /dev/null +++ b/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu @@ -0,0 +1,66 @@ +#include +#include + +__device__ void estimate_raw_bank_size(//(the first four are output, bank number of each event(208), one bank) + uint* estimated_input_size, + uint32_t* cluster_candidates, + const uint8_t* dev_velo_candidate_ks, + uint* event_candidate_num, + uint raw_bank_number, + VeloRawBank const& raw_bank) +{ + uint* estimated_module_size = estimated_input_size + (raw_bank.sensor_index >> 2);//raw_bank.sensor_index/4 + const uint number_of_clusters = raw_bank.ncluster; + // Add the found clusters + [[maybe_unused]] uint current_estimated_module_size = atomicAdd(estimated_module_size, number_of_clusters); + assert(current_estimated_module_size < Velo::Constants::max_numhits_in_module); +} + +__global__ void velo_estimate_input_size::velo_estimate_input_size( + velo_estimate_input_size::Parameters parameters, + const uint8_t* dev_velo_candidate_ks) +{ + const auto event_number = blockIdx.x; + const auto selected_event_number = parameters.dev_event_list[event_number]; + + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; + uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.y) { + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + estimate_raw_bank_size( + estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank);//(the first four are output, bank number of each event(208), one bank) + } +} + +__global__ void velo_estimate_input_size::velo_estimate_input_size_mep( + velo_estimate_input_size::Parameters parameters, + const uint8_t* dev_velo_candidate_ks) +{ + const uint event_number = blockIdx.x; + const uint selected_event_number = parameters.dev_event_list[event_number]; + + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; + uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Read raw event + auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + + for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { + + // Create raw bank from MEP layout + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); + + estimate_raw_bank_size( + estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank); + } +} diff --git a/cuda/velo/mask_clustering/src/RetinaClusters.cu b/cuda/velo/mask_clustering/src/RetinaClusters.cu new file mode 100644 index 00000000000..3b4ff5b5a70 --- /dev/null +++ b/cuda/velo/mask_clustering/src/RetinaClusters.cu @@ -0,0 +1,413 @@ +#include +#include + +// 8-connectivity mask +__device__ uint64_t make_8con_mask(uint64_t cluster) +{ + return cluster | (cluster << 1) | (cluster << 15) | (cluster << 16) | (cluster << 17) | (cluster >> 1) | + (cluster >> 15) | (cluster >> 16) | (cluster >> 17); +} + +// East-most mask +__device__ uint32_t mask_east(uint64_t cluster) +{ + const uint32_t mask = (cluster >> 48); + return mask | (mask << 1) | (mask >> 1); +} + +__device__ void no_neighbour_sp( + uint const* module_cluster_start, + uint8_t const* dev_velo_sp_patterns, + Velo::Clusters velo_cluster_container, + uint* module_cluster_num, + const float* dev_velo_sp_fx, + const float* dev_velo_sp_fy, + VeloGeometry const& g, + int const module_number, + uint const cluster_start, + VeloRawBank const& raw_bank) { + + const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; + + for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { + // Decode sp + const uint32_t sp_word = raw_bank.sp_word[sp_index]; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const uint32_t no_sp_neighbours = sp_word & 0x80000000U; + + // There are no neighbours, so compute the number of pixels of this superpixel + if (no_sp_neighbours) { + // Look up pre-generated patterns + const int32_t sp_row = sp_addr & 0x3FU; + const int32_t sp_col = (sp_addr >> 6); + const uint8_t sp = sp_word & 0xFFU; + + const uint32_t idx = dev_velo_sp_patterns[sp]; + const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); + + { + // there is always at least one cluster in the super + // pixel. look up the pattern and add it. + const uint32_t row = idx & 0x03U; + const uint32_t col = (idx >> 2) & 1; + const uint32_t cx = sp_col * 2 + col; + const uint32_t cy = sp_row * 4 + row; + + const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); + + const float fx = dev_velo_sp_fx[sp * 2]; + const float fy = dev_velo_sp_fy[sp * 2]; + const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; + const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; + + const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); + +#if ALLEN_DEBUG + const auto module_estimated_num = + module_cluster_start[module_number + 1] - + module_cluster_start[module_number]; + assert(cluster_num <= module_estimated_num); +#else + _unused(module_cluster_start); +#endif + + const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; + const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; + const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; + + velo_cluster_container.set_x(cluster_start + cluster_num, gx); + velo_cluster_container.set_y(cluster_start + cluster_num, gy); + velo_cluster_container.set_z(cluster_start + cluster_num, gz); + velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + } + + // if there is a second cluster for this pattern + // add it as well. + if (idx & 8) { + const uint32_t row = (idx >> 4) & 3; + const uint32_t col = (idx >> 6) & 1; + const uint32_t cx = sp_col * 2 + col; + const uint32_t cy = sp_row * 4 + row; + + uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); + + const float fx = dev_velo_sp_fx[sp * 2 + 1]; + const float fy = dev_velo_sp_fy[sp * 2 + 1]; + const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; + const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; + + const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); + +#if ALLEN_DEBUG + const auto module_estimated_num = + module_cluster_start[module_number + 1] - + module_cluster_start[module_number]; + assert(cluster_num <= module_estimated_num); +#endif + + const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; + const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; + const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; + + velo_cluster_container.set_x(cluster_start + cluster_num, gx); + velo_cluster_container.set_y(cluster_start + cluster_num, gy); + velo_cluster_container.set_z(cluster_start + cluster_num, gz); + velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + } + } + } +} + +__device__ void rest_of_clusters( + uint const* module_cluster_start, + Velo::Clusters velo_cluster_container, + uint* module_cluster_num, + VeloGeometry const& g, + uint32_t const candidate, + VeloRawBank const& raw_bank) { + + const uint8_t sp_index = candidate >> 11; + const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; + const uint32_t module_number = raw_bank_number >> 2; + const uint8_t candidate_k = candidate & 0x7; + + const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; + const uint32_t sp_word = raw_bank.sp_word[sp_index]; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + // Note: In the code below, row and col are int32_t (not unsigned) + // This is not a bug + const int32_t sp_row = sp_addr & 0x3FU; + const int32_t sp_col = sp_addr >> 6; + + // Find candidates that follow this condition: + // For pixel x, all pixels o should *not* be populated + // o o + // x o + // o + + // Load the following SPs, + // where x is the SP containing the possible candidates, o are other SPs: + // oooo + // oxoo + // oooo + // oooo + // + // Each column of SPs are in one uint32_t + // Order is from left to right + // + // 0: o 1: o 2: o 3: o + // o x o o + // o o o o + // o o o o + // + // Order inside an uint32_t is from bottom to top. Eg. 1: + // 3: o + // 2: x + // 1: o + // 0: o + uint32_t pixel_array[3] = {0, 0, 0}; + + // sp limits to load + const int32_t sp_row_lower_limit = sp_row - 2; + const int32_t sp_row_upper_limit = sp_row + 1; + const int32_t sp_col_lower_limit = sp_col - 1; + const int32_t sp_col_upper_limit = sp_col + 1; + + // Row limits + const int32_t row_lower_limit = sp_row_lower_limit * 4; + const int32_t col_lower_limit = sp_col_lower_limit * 2; + + // Load SPs + // Note: We will pick up the current one, + // no need to add a special case + for (uint k = 0; k < raw_bank.sp_count; ++k) { + const uint32_t other_sp_word = raw_bank.sp_word[k]; + const uint32_t other_no_sp_neighbours = other_sp_word & 0x80000000U; + if (!other_no_sp_neighbours) { + const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; + const int32_t other_sp_row = other_sp_addr & 0x3FU; + const int32_t other_sp_col = (other_sp_addr >> 6); + const uint8_t other_sp = other_sp_word & 0xFFU; + + if ( + other_sp_row >= sp_row_lower_limit && other_sp_row <= sp_row_upper_limit && + other_sp_col >= sp_col_lower_limit && other_sp_col <= sp_col_upper_limit) { + const int relative_row = other_sp_row - sp_row_lower_limit; + const int relative_col = other_sp_col - sp_col_lower_limit; + + // Note: Order is: + // 15 31 + // 14 30 + // 13 29 + // 12 28 + // 11 27 + // 10 26 + // 9 25 + // 8 24 + // 7 23 + // 6 22 + // 5 21 + // 4 20 + // 3 19 + // 2 18 + // 1 17 + // 0 16 + pixel_array[relative_col] |= (other_sp & 0X0F) << (4 * relative_row) | (other_sp & 0XF0) + << (12 + 4 * relative_row); + } + } + } + + // Work with candidate k + const uint32_t row = sp_row * 4 + (candidate_k & 0x3); + const uint32_t col = sp_col * 2 + (candidate_k >= 4); + + // --------------------- + // Simplified clustering + // --------------------- + + // Work with a 64-bit number instead + const uint64_t start_pixel = ((uint64_t)(0x01 << (row - row_lower_limit)) << (16 * (col & 0x01))) << 32; + const uint64_t pixel_map = (((uint64_t) pixel_array[1]) << 32) | pixel_array[0]; + uint64_t current_cluster = 0; + uint64_t next_cluster = start_pixel; + + // Do clustering + while (current_cluster != next_cluster) { + current_cluster = next_cluster; + next_cluster = pixel_map & make_8con_mask(current_cluster); + } + + // Check if there are any hits with precedence + const uint64_t hits_with_precedence = + // Hits to the east, populated in the first 16 bits + (mask_east(current_cluster) & pixel_array[2]) | + // Hits in the current cluster with precedence in the latter 16 bits + (current_cluster & + (start_pixel ^ -start_pixel ^ (~(-(start_pixel << 16)) & ((uint64_t) 0xFFFF000000000000) * ((col + 1) & 0x01)))); + + const int n = __popcll(current_cluster); + if (n > 0 && hits_with_precedence == 0) { + // If there are no hits with precedence, + // create the cluster + const int x = col_lower_limit * n + __popcll(current_cluster & 0x00000000FFFF0000) + + __popcll(current_cluster & 0x0000FFFF00000000) * 2 + + __popcll(current_cluster & 0xFFFF000000000000) * 3; + + const int y = + row_lower_limit * n + __popcll(current_cluster & 0x0002000200020002) + + __popcll(current_cluster & 0x0004000400040004) * 2 + __popcll(current_cluster & 0x0008000800080008) * 3 + + __popcll(current_cluster & 0x0010001000100010) * 4 + __popcll(current_cluster & 0x0020002000200020) * 5 + + __popcll(current_cluster & 0x0040004000400040) * 6 + __popcll(current_cluster & 0x0080008000800080) * 7 + + __popcll(current_cluster & 0x0100010001000100) * 8 + __popcll(current_cluster & 0x0200020002000200) * 9 + + __popcll(current_cluster & 0x0400040004000400) * 10 + __popcll(current_cluster & 0x0800080008000800) * 11 + + __popcll(current_cluster & 0x1000100010001000) * 12 + __popcll(current_cluster & 0x2000200020002000) * 13 + + __popcll(current_cluster & 0x4000400040004000) * 14 + __popcll(current_cluster & 0x8000800080008000) * 15; + + const uint cx = x / n; + const uint cy = y / n; + + const float fx = x / static_cast(n) - cx; + const float fy = y / static_cast(n) - cy; + + // store target (3D point for tracking) + const uint32_t chip = cx >> VP::ChipColumns_division; + + uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); + + const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; + const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; + + const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); + +#if ALLEN_DEBUG + const auto module_estimated_num = + module_cluster_start[module_number + 1] - + module_cluster_start[module_number]; + assert(cluster_num <= module_estimated_num); +#endif + + const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; + const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; + const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; + + const uint cluster_start = module_cluster_start[module_number]; + + velo_cluster_container.set_x(cluster_start + cluster_num, gx); + velo_cluster_container.set_y(cluster_start + cluster_num, gy); + velo_cluster_container.set_z(cluster_start + cluster_num, gz); + velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + } +} + +__global__ void velo_masked_clustering::velo_masked_clustering( + velo_masked_clustering::Parameters parameters, + const VeloGeometry* dev_velo_geometry, + const uint8_t* dev_velo_sp_patterns, + const float* dev_velo_sp_fx, + const float* dev_velo_sp_fy) +{ + const uint number_of_events = gridDim.x; + const uint event_number = blockIdx.x; + const uint selected_event_number = parameters.dev_event_list[event_number]; + + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + const uint* module_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* module_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_modules; + uint number_of_candidates = parameters.dev_module_candidate_num[event_number]; + const uint* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Local pointers to parameters.dev_velo_cluster_container + const uint estimated_number_of_clusters = parameters.dev_offsets_estimated_input_size[Velo::Constants::n_modules * number_of_events]; + auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; + + // Load Velo geometry (assume it is the same for all events) + const VeloGeometry& g = *dev_velo_geometry; + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + // process no neighbour sp + for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.x) { + const auto module_number = raw_bank_number >> 2; + const uint cluster_start = module_cluster_start[module_number]; + + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + no_neighbour_sp(module_cluster_start, dev_velo_sp_patterns, velo_cluster_container, module_cluster_num, + dev_velo_sp_fx, dev_velo_sp_fy, g, + module_number, cluster_start, raw_bank); + } + + __syncthreads(); + + // Process rest of clusters + for (uint candidate_number = threadIdx.x; candidate_number < number_of_candidates; candidate_number += blockDim.x) { + const uint32_t candidate = cluster_candidates[candidate_number]; + const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; + + assert(raw_bank_number < Velo::Constants::n_sensors); + + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + rest_of_clusters(module_cluster_start, velo_cluster_container, module_cluster_num, g, + candidate, raw_bank); + } +} + +__global__ void velo_masked_clustering::velo_masked_clustering_mep( + velo_masked_clustering::Parameters parameters, + const VeloGeometry* dev_velo_geometry, + const uint8_t* dev_velo_sp_patterns, + const float* dev_velo_sp_fx, + const float* dev_velo_sp_fy) +{ + const uint number_of_events = gridDim.x; + const uint event_number = blockIdx.x; + const uint selected_event_number = parameters.dev_event_list[event_number]; + + const uint* module_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* module_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_modules; + uint number_of_candidates = parameters.dev_module_candidate_num[event_number]; + const uint* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Local pointers to parameters.dev_velo_cluster_container + const uint estimated_number_of_clusters = parameters.dev_offsets_estimated_input_size[Velo::Constants::n_modules * number_of_events]; + auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; + + // Load Velo geometry (assume it is the same for all events) + const VeloGeometry& g = *dev_velo_geometry; + + // Read raw event + auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + + // process no neighbour sp + for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; + raw_bank_number += blockDim.x) { + const auto module_number = raw_bank_number >> 2; + const uint cluster_start = module_cluster_start[module_number]; + + // Read raw bank + const auto raw_bank = MEP::raw_bank(parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, + selected_event_number, raw_bank_number); + no_neighbour_sp(module_cluster_start, dev_velo_sp_patterns, velo_cluster_container, module_cluster_num, + dev_velo_sp_fx, dev_velo_sp_fy, g, + module_number, cluster_start, raw_bank); + } + + __syncthreads(); + + // Process rest of clusters + for (uint candidate_number = threadIdx.x; candidate_number < number_of_candidates; candidate_number += blockDim.x) { + const uint32_t candidate = cluster_candidates[candidate_number]; + const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; + + assert(raw_bank_number < Velo::Constants::n_sensors); + + const auto raw_bank = MEP::raw_bank(parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, + selected_event_number, raw_bank_number); + + rest_of_clusters(module_cluster_start, velo_cluster_container, module_cluster_num, g, + candidate, raw_bank); + } +} diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 6e37e28f932..40064c49fdf 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -17,15 +17,15 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - number_of_candidates += raw_bank.sp_count; + number_of_candidates += raw_bank.ncluster; printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); - printf("raw_bank.sp_count : %d\n", raw_bank.sp_count); + printf("raw_bank.ncluster : %d\n", raw_bank.ncluster); printf("number_of_candidates : %d\n", number_of_candidates); } // The maximum number of candidates is two times the number of SPs - parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; + parameters.dev_number_of_candidates[event_number] = number_of_candidates; } } @@ -43,10 +43,10 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_candidates += raw_bank.sp_count; + number_of_candidates += raw_bank.ncluster; } - parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; + parameters.dev_number_of_candidates[event_number] = number_of_candidates; } } diff --git a/x86/prefix_sum/include/HostPrefixSum.h b/x86/prefix_sum/include/HostPrefixSum.h index 76335bb4379..eab5ea7a5a7 100644 --- a/x86/prefix_sum/include/HostPrefixSum.h +++ b/x86/prefix_sum/include/HostPrefixSum.h @@ -5,9 +5,9 @@ namespace host_prefix_sum { struct Parameters { - HOST_OUTPUT(host_total_sum_holder_t, uint) host_total_sum_holder; + HOST_OUTPUT(host_total_sum_holder_t, uint) host_total_sum_holder;//host_total_sum_holder[0]=a1+a2+...anumberofevent sum up the number of clusters for all events DEVICE_INPUT(dev_input_buffer_t, uint) dev_input_buffer; - DEVICE_OUTPUT(dev_output_buffer_t, uint) dev_output_buffer; + DEVICE_OUTPUT(dev_output_buffer_t, uint) dev_output_buffer;//[0,a1,a1+a2..., a1+a2+...anumberofevent] }; /** diff --git a/x86/prefix_sum/src/HostPrefixSum.cpp b/x86/prefix_sum/src/HostPrefixSum.cpp index ae5a8aa69e8..a31e352ea2a 100644 --- a/x86/prefix_sum/src/HostPrefixSum.cpp +++ b/x86/prefix_sum/src/HostPrefixSum.cpp @@ -1,26 +1,31 @@ #include "HostPrefixSum.h" +#include +#include void host_prefix_sum::host_prefix_sum_impl( uint* host_prefix_sum_buffer, - const size_t input_number_of_elements, + const size_t input_number_of_elements,// number of events uint* host_total_sum_holder) { // Do prefix sum on the host uint temp = 0; uint temp_sum = 0; for (uint i = 0; i < input_number_of_elements; ++i) { - temp_sum += host_prefix_sum_buffer[i]; - host_prefix_sum_buffer[i] = temp; - temp = temp_sum; + temp_sum += host_prefix_sum_buffer[i];//a1, a1+a2 , a1+a2+a3....a1+a2.....+anumberofevent + host_prefix_sum_buffer[i] = temp;// host_prefix_sum_buffer=[0,a1,a1+a2..., a1+a2+...anumberofevent-1] + temp = temp_sum;// a1,a1+a2 , a1+a2+a3 .....a1+a2.....+anumberofevent } // Store the total sum in the output buffer - host_prefix_sum_buffer[input_number_of_elements] = temp; + host_prefix_sum_buffer[input_number_of_elements] = temp;//[0,a1,a1+a2..., a1+a2+...anumberofevent] // Store the total sum in host_total_sum_holder as well if (host_total_sum_holder != nullptr) { - host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements]; + host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements];// host_total_sum_holder[0]=a1+a2+...anumberofevent } + + info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3] <<"\n"; + info_cout << "host_total_sum_holder[0]: " << host_total_sum_holder[0] <<"\n"; } void host_prefix_sum::host_prefix_sum( @@ -33,7 +38,7 @@ void host_prefix_sum::host_prefix_sum( host_prefix_sum::Parameters parameters) { assert(dev_output_buffer_size == (dev_input_buffer_size + 1 * sizeof(uint))); - const auto input_number_of_elements = dev_input_buffer_size / sizeof(uint); + const auto input_number_of_elements = dev_input_buffer_size / sizeof(uint);//number of events // Reallocate if insufficient space on host buffer if ((input_number_of_elements + 1) > host_allocated_prefix_sum_space) { @@ -67,6 +72,11 @@ void host_prefix_sum::host_prefix_sum( // Copy prefix summed data to the output buffer cudaCheck(cudaMemcpyAsync( - parameters.dev_output_buffer, host_prefix_sum_buffer, dev_output_buffer_size, cudaMemcpyHostToDevice, cuda_stream)); + parameters.dev_output_buffer, host_prefix_sum_buffer, dev_output_buffer_size, cudaMemcpyHostToDevice, cuda_stream));//dev_output_buffer=host_prefix_sum_buffer=[0,a1,a1+a2..., a1+a2+...anumberofevent] + +// info_cout << "dev_output_buffer: " << parameters.dev_output_buffer[0] << ", " << parameters.dev_output_buffer[1] << ", " << parameters.dev_output_buffer[2] << ", " < Date: Wed, 29 Apr 2020 18:42:49 +0200 Subject: [PATCH 05/44] modify EstimateInputSize.cu --- cuda/velo/mask_clustering/src/EstimateInputSize.cu | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize.cu b/cuda/velo/mask_clustering/src/EstimateInputSize.cu index 3ca5e20bf9d..e3e1d0b42e8 100644 --- a/cuda/velo/mask_clustering/src/EstimateInputSize.cu +++ b/cuda/velo/mask_clustering/src/EstimateInputSize.cu @@ -1,7 +1,7 @@ #include #include -__device__ void estimate_raw_bank_size( +__device__ void estimate_raw_bank_size(//(the first four are output, bank number of each event(208), one bank) uint* estimated_input_size, uint32_t* cluster_candidates, const uint8_t* dev_velo_candidate_ks, @@ -9,7 +9,7 @@ __device__ void estimate_raw_bank_size( uint raw_bank_number, VeloRawBank const& raw_bank) { - uint* estimated_module_size = estimated_input_size + (raw_bank.sensor_index >> 2); + uint* estimated_module_size = estimated_input_size + (raw_bank.sensor_index >> 2);//raw_bank.sensor_index/4 for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x) { // Decode sp const uint32_t sp_word = raw_bank.sp_word[sp_index]; const uint32_t no_sp_neighbours = sp_word & 0x80000000U; @@ -177,8 +177,8 @@ __device__ void estimate_raw_bank_size( assert(current_estimated_module_size + found_cluster_candidates < Velo::Constants::max_numhits_in_module); _unused(current_estimated_module_size); } - } - } + }// no_sp_neighbours else + }//decode sp } __global__ void velo_estimate_input_size::velo_estimate_input_size( @@ -201,7 +201,7 @@ __global__ void velo_estimate_input_size::velo_estimate_input_size( // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); estimate_raw_bank_size( - estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank); + estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank);//(the first four are output, bank number of each event(208), one bank) } } -- GitLab From 5fd562b4e6752481b5af0eafa5720d7b5842c075 Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Thu, 30 Apr 2020 16:17:44 +0200 Subject: [PATCH 06/44] decode Retina Clusters --- .../generator/VeloSequence_Retina.py | 18 - .../generator/VeloSequence_origin.py | 26 -- .../sequences/definitions/Velo_Retina.py | 79 ++++ .../include/RetinaClusters.cuh | 30 +- .../src/EstimateInputSize_Retina.cu | 34 +- .../mask_clustering/src/RetinaClusters.cu | 410 +++--------------- 6 files changed, 173 insertions(+), 424 deletions(-) delete mode 100644 configuration/generator/VeloSequence_Retina.py delete mode 100644 configuration/generator/VeloSequence_origin.py create mode 100644 configuration/sequences/definitions/Velo_Retina.py diff --git a/configuration/generator/VeloSequence_Retina.py b/configuration/generator/VeloSequence_Retina.py deleted file mode 100644 index 0c486661601..00000000000 --- a/configuration/generator/VeloSequence_Retina.py +++ /dev/null @@ -1,18 +0,0 @@ -from algorithms import * - - -def VELO_sequence(): - populate_odin_banks = populate_odin_banks_t() - host_global_event_cut = host_global_event_cut_t() - velo_calculate_number_of_Retina_Cluster = velo_calculate_number_of_Retina_Cluster_t( - ) - - - - velo_sequence = Sequence( - populate_odin_banks, - host_global_event_cut, - velo_calculate_number_of_Retina_Cluster - ) - - return velo_sequence diff --git a/configuration/generator/VeloSequence_origin.py b/configuration/generator/VeloSequence_origin.py deleted file mode 100644 index c4b54a85198..00000000000 --- a/configuration/generator/VeloSequence_origin.py +++ /dev/null @@ -1,26 +0,0 @@ -from algorithms import * - - -def VELO_sequence(): - populate_odin_banks = populate_odin_banks_t() - host_global_event_cut = host_global_event_cut_t() - velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t() - - prefix_sum_offsets_velo_candidates = host_prefix_sum_t( - "prefix_sum_offsets_velo_candidates", - host_total_sum_holder_t="host_number_of_cluster_candidates_t", - dev_input_buffer_t=velo_calculate_number_of_candidates. - dev_number_of_candidates_t(), - dev_output_buffer_t="dev_candidates_offsets_t") - - - - velo_sequence = Sequence( - populate_odin_banks, - host_global_event_cut, - velo_calculate_number_of_candidates, - prefix_sum_offsets_velo_candidates - - ) - - return velo_sequence diff --git a/configuration/sequences/definitions/Velo_Retina.py b/configuration/sequences/definitions/Velo_Retina.py new file mode 100644 index 00000000000..10123e4f628 --- /dev/null +++ b/configuration/sequences/definitions/Velo_Retina.py @@ -0,0 +1,79 @@ +from definitions.algorithms import * + + +def VeloSequence(doGEC=True): + populate_odin_banks = populate_odin_banks_t() + + initialize_lists = None + if doGEC: + initialize_lists = host_global_event_cut_t() + else: + initialize_lists = host_init_event_list_t() + + velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t( + ) + + prefix_sum_offsets_velo_candidates = host_prefix_sum_t( + "prefix_sum_offsets_velo_candidates", + host_total_sum_holder_t="host_number_of_cluster_candidates_t", + dev_input_buffer_t=velo_calculate_number_of_candidates. + dev_number_of_candidates_t(), + dev_output_buffer_t="dev_candidates_offsets_t") + + velo_RetinaClusters_input_size = velo_RetinaClusters_input_size_t() + + prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( + "prefix_sum_offsets_estimated_input_size", + host_total_sum_holder_t="host_total_number_of_velo_clusters_t", + dev_input_buffer_t=velo_estimate_input_size. + dev_estimated_input_size_t(), + dev_output_buffer_t="dev_offsets_estimated_input_size_t") + + RetinaClusters = RetinaClusters_t() + velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() + velo_search_by_triplet = velo_search_by_triplet_t() + + prefix_sum_offsets_velo_tracks = host_prefix_sum_t( + "prefix_sum_offsets_velo_tracks", + host_total_sum_holder_t= + "host_number_of_velo_tracks_at_least_four_hits_t", + dev_input_buffer_t=velo_search_by_triplet. + dev_number_of_velo_tracks_t(), + dev_output_buffer_t="dev_offsets_velo_tracks_t") + + velo_three_hit_tracks_filter = velo_three_hit_tracks_filter_t( + dev_three_hit_tracks_input_t=velo_search_by_triplet. + dev_three_hit_tracks_t()) + + prefix_sum_offsets_number_of_three_hit_tracks_filtered = host_prefix_sum_t( + "prefix_sum_offsets_number_of_three_hit_tracks_filtered", + host_total_sum_holder_t="host_number_of_three_hit_tracks_filtered_t", + dev_input_buffer_t=velo_three_hit_tracks_filter. + dev_number_of_three_hit_tracks_output_t(), + dev_output_buffer_t="dev_offsets_number_of_three_hit_tracks_filtered_t" + ) + + velo_copy_track_hit_number = velo_copy_track_hit_number_t() + + prefix_sum_offsets_velo_track_hit_number = host_prefix_sum_t( + "prefix_sum_offsets_velo_track_hit_number", + host_total_sum_holder_t= + "host_accumulated_number_of_hits_in_velo_tracks_t", + dev_input_buffer_t=velo_copy_track_hit_number. + dev_velo_track_hit_number_t(), + dev_output_buffer_t="dev_offsets_velo_track_hit_number_t") + + velo_consolidate_tracks = velo_consolidate_tracks_t() + + velo_sequence = Sequence( + populate_odin_banks, initialize_lists, + velo_calculate_number_of_candidates, + prefix_sum_offsets_velo_candidates, velo_estimate_input_size, + prefix_sum_offsets_estimated_input_size, velo_masked_clustering, + velo_calculate_phi_and_sort, velo_search_by_triplet, + prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, + prefix_sum_offsets_number_of_three_hit_tracks_filtered, + velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, + velo_consolidate_tracks) + + return velo_sequence diff --git a/cuda/velo/mask_clustering/include/RetinaClusters.cuh b/cuda/velo/mask_clustering/include/RetinaClusters.cuh index 29f8e6f6512..b98cb8bf84e 100644 --- a/cuda/velo/mask_clustering/include/RetinaClusters.cuh +++ b/cuda/velo/mask_clustering/include/RetinaClusters.cuh @@ -12,10 +12,10 @@ namespace RetinaClusters { HOST_INPUT(host_number_of_selected_events_t, uint); DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input;// DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets;// - DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size; - DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num;// velo_estimate_input_size - DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size - DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size;//prefix_sum + DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num;// velo_estimate_input_size + // DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size no + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list;// DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets;// dev_output_buffer [0,a1, a1+a2 ....a1+a2+..a1000] DEVICE_OUTPUT(dev_module_cluster_num_t, uint) dev_module_cluster_num; DEVICE_OUTPUT(dev_velo_cluster_container_t, char) dev_velo_cluster_container; @@ -25,17 +25,11 @@ namespace RetinaClusters { // Function __global__ void RetinaClusters( Parameters parameters, - const VeloGeometry* dev_velo_geometry, - const uint8_t* dev_velo_sp_patterns, - const float* dev_velo_sp_fx, - const float* dev_velo_sp_fy); + const VeloGeometry* dev_velo_geometry); __global__ void RetinaClusters_mep( Parameters parameters, - const VeloGeometry* dev_velo_geometry, - const uint8_t* dev_velo_sp_patterns, - const float* dev_velo_sp_fx, - const float* dev_velo_sp_fy); + const VeloGeometry* dev_velo_geometry); template struct RetinaClusters_t : public DeviceAlgorithm, Parameters { @@ -70,7 +64,7 @@ namespace RetinaClusters { begin(arguments), begin(arguments), begin(arguments), - begin(arguments), +// begin(arguments), begin(arguments), begin(arguments), begin(arguments), @@ -81,17 +75,11 @@ namespace RetinaClusters { if (runtime_options.mep_layout) { function_mep(dim3(begin(arguments)[0]), property(), cuda_stream)( parameters, - constants.dev_velo_geometry, - constants.dev_velo_sp_patterns.data(), - constants.dev_velo_sp_fx.data(), - constants.dev_velo_sp_fy.data()); + constants.dev_velo_geometry); } else { function(dim3(begin(arguments)[0]), property(), cuda_stream)( parameters, - constants.dev_velo_geometry, - constants.dev_velo_sp_patterns.data(), - constants.dev_velo_sp_fx.data(), - constants.dev_velo_sp_fy.data()); + constants.dev_velo_geometry); } } diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu b/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu index 6eb6b43b3b8..0736bc2cfc0 100644 --- a/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu +++ b/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu @@ -1,30 +1,30 @@ #include -#include +#include __device__ void estimate_raw_bank_size(//(the first four are output, bank number of each event(208), one bank) uint* estimated_input_size, uint32_t* cluster_candidates, - const uint8_t* dev_velo_candidate_ks, uint* event_candidate_num, uint raw_bank_number, VeloRawBank const& raw_bank) { - uint* estimated_module_size = estimated_input_size + (raw_bank.sensor_index >> 2);//raw_bank.sensor_index/4 + uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); +// uint found_cluster_candidates = 0; + const uint number_of_clusters = raw_bank.ncluster; - // Add the found clusters - [[maybe_unused]] uint current_estimated_module_size = atomicAdd(estimated_module_size, number_of_clusters); - assert(current_estimated_module_size < Velo::Constants::max_numhits_in_module); -} -__global__ void velo_estimate_input_size::velo_estimate_input_size( - velo_estimate_input_size::Parameters parameters, - const uint8_t* dev_velo_candidate_ks) + // Add the found clusters + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, number_of_clusters); + assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); +} + +__global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size(velo_RetinaClusters_input_size::Parameters parameters) { const auto event_number = blockIdx.x; const auto selected_event_number = parameters.dev_event_list[event_number]; const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; @@ -35,19 +35,16 @@ __global__ void velo_estimate_input_size::velo_estimate_input_size( raw_bank_number += blockDim.y) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - estimate_raw_bank_size( - estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank);//(the first four are output, bank number of each event(208), one bank) + estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } } -__global__ void velo_estimate_input_size::velo_estimate_input_size_mep( - velo_estimate_input_size::Parameters parameters, - const uint8_t* dev_velo_candidate_ks) +__global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size_mep(velo_RetinaClusters_input_size::Parameters parameters) { const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_modules; + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; @@ -60,7 +57,6 @@ __global__ void velo_estimate_input_size::velo_estimate_input_size_mep( const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - estimate_raw_bank_size( - estimated_input_size, cluster_candidates, dev_velo_candidate_ks, event_candidate_num, raw_bank_number, raw_bank); + estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } } diff --git a/cuda/velo/mask_clustering/src/RetinaClusters.cu b/cuda/velo/mask_clustering/src/RetinaClusters.cu index 3b4ff5b5a70..8a289e74d68 100644 --- a/cuda/velo/mask_clustering/src/RetinaClusters.cu +++ b/cuda/velo/mask_clustering/src/RetinaClusters.cu @@ -1,324 +1,70 @@ #include #include -// 8-connectivity mask -__device__ uint64_t make_8con_mask(uint64_t cluster) -{ - return cluster | (cluster << 1) | (cluster << 15) | (cluster << 16) | (cluster << 17) | (cluster >> 1) | - (cluster >> 15) | (cluster >> 16) | (cluster >> 17); -} -// East-most mask -__device__ uint32_t mask_east(uint64_t cluster) -{ - const uint32_t mask = (cluster >> 48); - return mask | (mask << 1) | (mask >> 1); -} __device__ void no_neighbour_sp( - uint const* module_cluster_start, - uint8_t const* dev_velo_sp_patterns, - Velo::Clusters velo_cluster_container, - uint* module_cluster_num, - const float* dev_velo_sp_fx, - const float* dev_velo_sp_fy, - VeloGeometry const& g, - int const module_number, - uint const cluster_start, - VeloRawBank const& raw_bank) { - + uint const* module_pair_cluster_start, + Velo::Clusters velo_cluster_container,//need + uint* module_pair_cluster_num,//need + VeloGeometry const& g, + int const module_pair_number, + uint const cluster_start, + VeloRawBank const& raw_bank) +{ const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { - // Decode sp + for (uint sp_index = 0; sp_index < raw_bank.ncluster; ++sp_index) { + // Decode cluster const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - const uint32_t no_sp_neighbours = sp_word & 0x80000000U; - - // There are no neighbours, so compute the number of pixels of this superpixel - if (no_sp_neighbours) { - // Look up pre-generated patterns - const int32_t sp_row = sp_addr & 0x3FU; - const int32_t sp_col = (sp_addr >> 6); - const uint8_t sp = sp_word & 0xFFU; - - const uint32_t idx = dev_velo_sp_patterns[sp]; - const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); - - { - // there is always at least one cluster in the super - // pixel. look up the pattern and add it. - const uint32_t row = idx & 0x03U; - const uint32_t col = (idx >> 2) & 1; - const uint32_t cx = sp_col * 2 + col; - const uint32_t cy = sp_row * 4 + row; - - const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); - - const float fx = dev_velo_sp_fx[sp * 2]; - const float fy = dev_velo_sp_fy[sp * 2]; - const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; - const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; - - const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); - -#if ALLEN_DEBUG - const auto module_estimated_num = - module_cluster_start[module_number + 1] - - module_cluster_start[module_number]; - assert(cluster_num <= module_estimated_num); -#else - _unused(module_cluster_start); -#endif - - const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; - const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; - const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; - - velo_cluster_container.set_x(cluster_start + cluster_num, gx); - velo_cluster_container.set_y(cluster_start + cluster_num, gy); - velo_cluster_container.set_z(cluster_start + cluster_num, gz); - velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } - - // if there is a second cluster for this pattern - // add it as well. - if (idx & 8) { - const uint32_t row = (idx >> 4) & 3; - const uint32_t col = (idx >> 6) & 1; - const uint32_t cx = sp_col * 2 + col; - const uint32_t cy = sp_row * 4 + row; - - uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); - - const float fx = dev_velo_sp_fx[sp * 2 + 1]; - const float fy = dev_velo_sp_fy[sp * 2 + 1]; - const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; - const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; - - const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); - -#if ALLEN_DEBUG - const auto module_estimated_num = - module_cluster_start[module_number + 1] - - module_cluster_start[module_number]; - assert(cluster_num <= module_estimated_num); -#endif - - const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; - const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; - const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; - - velo_cluster_container.set_x(cluster_start + cluster_num, gx); - velo_cluster_container.set_y(cluster_start + cluster_num, gy); - velo_cluster_container.set_z(cluster_start + cluster_num, gz); - velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } - } - } -} -__device__ void rest_of_clusters( - uint const* module_cluster_start, - Velo::Clusters velo_cluster_container, - uint* module_cluster_num, - VeloGeometry const& g, - uint32_t const candidate, - VeloRawBank const& raw_bank) { + const uint32_t cx = ( sp_word >> 14 ) & 0x3FF; + const float fx = ( ( sp_word >> 11 ) & 0x7 ) / 8.f; + const uint32_t cy = ( sp_word >> 3 ) & 0xFF; + const float fy = ( sp_word & 0x7FF ) / 8.f; - const uint8_t sp_index = candidate >> 11; - const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; - const uint32_t module_number = raw_bank_number >> 2; - const uint8_t candidate_k = candidate & 0x7; + const float local_x = vp.local_x( cx ) + fx * vp.x_pitch( cx ); + const float local_y = ( 0.5f + fy ) * vp.pixel_size(); - const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - // Note: In the code below, row and col are int32_t (not unsigned) - // This is not a bug - const int32_t sp_row = sp_addr & 0x3FU; - const int32_t sp_col = sp_addr >> 6; - - // Find candidates that follow this condition: - // For pixel x, all pixels o should *not* be populated - // o o - // x o - // o - - // Load the following SPs, - // where x is the SP containing the possible candidates, o are other SPs: - // oooo - // oxoo - // oooo - // oooo - // - // Each column of SPs are in one uint32_t - // Order is from left to right - // - // 0: o 1: o 2: o 3: o - // o x o o - // o o o o - // o o o o - // - // Order inside an uint32_t is from bottom to top. Eg. 1: - // 3: o - // 2: x - // 1: o - // 0: o - uint32_t pixel_array[3] = {0, 0, 0}; - - // sp limits to load - const int32_t sp_row_lower_limit = sp_row - 2; - const int32_t sp_row_upper_limit = sp_row + 1; - const int32_t sp_col_lower_limit = sp_col - 1; - const int32_t sp_col_upper_limit = sp_col + 1; - - // Row limits - const int32_t row_lower_limit = sp_row_lower_limit * 4; - const int32_t col_lower_limit = sp_col_lower_limit * 2; - - // Load SPs - // Note: We will pick up the current one, - // no need to add a special case - for (uint k = 0; k < raw_bank.sp_count; ++k) { - const uint32_t other_sp_word = raw_bank.sp_word[k]; - const uint32_t other_no_sp_neighbours = other_sp_word & 0x80000000U; - if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; - const int32_t other_sp_row = other_sp_addr & 0x3FU; - const int32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_sp_word & 0xFFU; - - if ( - other_sp_row >= sp_row_lower_limit && other_sp_row <= sp_row_upper_limit && - other_sp_col >= sp_col_lower_limit && other_sp_col <= sp_col_upper_limit) { - const int relative_row = other_sp_row - sp_row_lower_limit; - const int relative_col = other_sp_col - sp_col_lower_limit; - - // Note: Order is: - // 15 31 - // 14 30 - // 13 29 - // 12 28 - // 11 27 - // 10 26 - // 9 25 - // 8 24 - // 7 23 - // 6 22 - // 5 21 - // 4 20 - // 3 19 - // 2 18 - // 1 17 - // 0 16 - pixel_array[relative_col] |= (other_sp & 0X0F) << (4 * relative_row) | (other_sp & 0XF0) - << (12 + 4 * relative_row); - } - } - } - - // Work with candidate k - const uint32_t row = sp_row * 4 + (candidate_k & 0x3); - const uint32_t col = sp_col * 2 + (candidate_k >= 4); - - // --------------------- - // Simplified clustering - // --------------------- + const float gx = ( ltg[0] * local_x + ltg[1] * local_y + ltg[9] ); + const float gy = ( ltg[3] * local_x + ltg[4] * local_y + ltg[10] ); + const float gz = ( ltg[6] * local_x + ltg[7] * local_y + ltg[11] ); + const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy);//???? - // Work with a 64-bit number instead - const uint64_t start_pixel = ((uint64_t)(0x01 << (row - row_lower_limit)) << (16 * (col & 0x01))) << 32; - const uint64_t pixel_map = (((uint64_t) pixel_array[1]) << 32) | pixel_array[0]; - uint64_t current_cluster = 0; - uint64_t next_cluster = start_pixel; + const uint cluster_num = atomicAdd(module_pair_cluster_num + module_pair_number, 1); - // Do clustering - while (current_cluster != next_cluster) { - current_cluster = next_cluster; - next_cluster = pixel_map & make_8con_mask(current_cluster); - } - - // Check if there are any hits with precedence - const uint64_t hits_with_precedence = - // Hits to the east, populated in the first 16 bits - (mask_east(current_cluster) & pixel_array[2]) | - // Hits in the current cluster with precedence in the latter 16 bits - (current_cluster & - (start_pixel ^ -start_pixel ^ (~(-(start_pixel << 16)) & ((uint64_t) 0xFFFF000000000000) * ((col + 1) & 0x01)))); - - const int n = __popcll(current_cluster); - if (n > 0 && hits_with_precedence == 0) { - // If there are no hits with precedence, - // create the cluster - const int x = col_lower_limit * n + __popcll(current_cluster & 0x00000000FFFF0000) + - __popcll(current_cluster & 0x0000FFFF00000000) * 2 + - __popcll(current_cluster & 0xFFFF000000000000) * 3; - - const int y = - row_lower_limit * n + __popcll(current_cluster & 0x0002000200020002) + - __popcll(current_cluster & 0x0004000400040004) * 2 + __popcll(current_cluster & 0x0008000800080008) * 3 + - __popcll(current_cluster & 0x0010001000100010) * 4 + __popcll(current_cluster & 0x0020002000200020) * 5 + - __popcll(current_cluster & 0x0040004000400040) * 6 + __popcll(current_cluster & 0x0080008000800080) * 7 + - __popcll(current_cluster & 0x0100010001000100) * 8 + __popcll(current_cluster & 0x0200020002000200) * 9 + - __popcll(current_cluster & 0x0400040004000400) * 10 + __popcll(current_cluster & 0x0800080008000800) * 11 + - __popcll(current_cluster & 0x1000100010001000) * 12 + __popcll(current_cluster & 0x2000200020002000) * 13 + - __popcll(current_cluster & 0x4000400040004000) * 14 + __popcll(current_cluster & 0x8000800080008000) * 15; - - const uint cx = x / n; - const uint cy = y / n; - - const float fx = x / static_cast(n) - cx; - const float fy = y / static_cast(n) - cy; - - // store target (3D point for tracking) - const uint32_t chip = cx >> VP::ChipColumns_division; - - uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); - - const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; - const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; - - const uint cluster_num = atomicAdd(module_cluster_num + module_number, 1); - -#if ALLEN_DEBUG - const auto module_estimated_num = - module_cluster_start[module_number + 1] - - module_cluster_start[module_number]; + const auto module_estimated_num = module_pair_cluster_start[module_pair_number + 1] - module_pair_cluster_start[module_pair_number]; assert(cluster_num <= module_estimated_num); -#endif - - const float gx = ltg[0] * local_x + ltg[1] * local_y + ltg[9]; - const float gy = ltg[3] * local_x + ltg[4] * local_y + ltg[10]; - const float gz = ltg[6] * local_x + ltg[7] * local_y + ltg[11]; - - const uint cluster_start = module_cluster_start[module_number]; velo_cluster_container.set_x(cluster_start + cluster_num, gx); velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + } } -__global__ void velo_masked_clustering::velo_masked_clustering( - velo_masked_clustering::Parameters parameters, - const VeloGeometry* dev_velo_geometry, - const uint8_t* dev_velo_sp_patterns, - const float* dev_velo_sp_fx, - const float* dev_velo_sp_fy) + + + +__global__ void RetinaClusters::RetinaClusters( + RetinaClusters::Parameters parameters, + const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; - const uint* module_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_modules; - uint* module_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_modules; - uint number_of_candidates = parameters.dev_module_candidate_num[event_number]; - const uint* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + const uint* module_pair_cluster_start = + parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs;//dev_offsets_estimated_input_size->position 0 +... + uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs;//dev_module_pair_candidate_num-> + + // Local pointers to parameters.dev_velo_cluster_container - const uint estimated_number_of_clusters = parameters.dev_offsets_estimated_input_size[Velo::Constants::n_modules * number_of_events]; + const uint estimated_number_of_clusters = + parameters.dev_offsets_estimated_input_size[Velo::Constants::n_module_pairs * number_of_events]; auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; // Load Velo geometry (assume it is the same for all events) @@ -330,49 +76,42 @@ __global__ void velo_masked_clustering::velo_masked_clustering( // process no neighbour sp for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; raw_bank_number += blockDim.x) { - const auto module_number = raw_bank_number >> 2; - const uint cluster_start = module_cluster_start[module_number]; + const auto module_pair_number = raw_bank_number / 8; + const uint cluster_start = module_pair_cluster_start[module_pair_number]; // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - no_neighbour_sp(module_cluster_start, dev_velo_sp_patterns, velo_cluster_container, module_cluster_num, - dev_velo_sp_fx, dev_velo_sp_fy, g, - module_number, cluster_start, raw_bank); + no_neighbour_sp( + module_pair_cluster_start, + velo_cluster_container, + module_pair_cluster_num, + g, + module_pair_number, + cluster_start, + raw_bank); } __syncthreads(); - // Process rest of clusters - for (uint candidate_number = threadIdx.x; candidate_number < number_of_candidates; candidate_number += blockDim.x) { - const uint32_t candidate = cluster_candidates[candidate_number]; - const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; - - assert(raw_bank_number < Velo::Constants::n_sensors); - - const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - rest_of_clusters(module_cluster_start, velo_cluster_container, module_cluster_num, g, - candidate, raw_bank); } -} -__global__ void velo_masked_clustering::velo_masked_clustering_mep( - velo_masked_clustering::Parameters parameters, - const VeloGeometry* dev_velo_geometry, - const uint8_t* dev_velo_sp_patterns, - const float* dev_velo_sp_fx, - const float* dev_velo_sp_fy) +__global__ void RetinaClusters::RetinaClusters_mep( + RetinaClusters::Parameters parameters, + const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; - const uint* module_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_modules; - uint* module_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_modules; - uint number_of_candidates = parameters.dev_module_candidate_num[event_number]; - const uint* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + const uint* module_pair_cluster_start = + parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; + uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs; + + // Local pointers to parameters.dev_velo_cluster_container - const uint estimated_number_of_clusters = parameters.dev_offsets_estimated_input_size[Velo::Constants::n_modules * number_of_events]; + const uint estimated_number_of_clusters = + parameters.dev_offsets_estimated_input_size[Velo::Constants::n_module_pairs * number_of_events]; auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; // Load Velo geometry (assume it is the same for all events) @@ -382,32 +121,23 @@ __global__ void velo_masked_clustering::velo_masked_clustering_mep( auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; // process no neighbour sp - for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; - raw_bank_number += blockDim.x) { - const auto module_number = raw_bank_number >> 2; - const uint cluster_start = module_cluster_start[module_number]; + for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { + const auto module_pair_number = raw_bank_number / 8; + const uint cluster_start = module_pair_cluster_start[module_pair_number]; // Read raw bank - const auto raw_bank = MEP::raw_bank(parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, - selected_event_number, raw_bank_number); - no_neighbour_sp(module_cluster_start, dev_velo_sp_patterns, velo_cluster_container, module_cluster_num, - dev_velo_sp_fx, dev_velo_sp_fy, g, - module_number, cluster_start, raw_bank); + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); + no_neighbour_sp( + module_pair_cluster_start, + velo_cluster_container, + module_pair_cluster_num, + g, + module_pair_number, + cluster_start, + raw_bank); } __syncthreads(); - // Process rest of clusters - for (uint candidate_number = threadIdx.x; candidate_number < number_of_candidates; candidate_number += blockDim.x) { - const uint32_t candidate = cluster_candidates[candidate_number]; - const uint8_t raw_bank_number = (candidate >> 3) & 0xFF; - - assert(raw_bank_number < Velo::Constants::n_sensors); - - const auto raw_bank = MEP::raw_bank(parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, - selected_event_number, raw_bank_number); - - rest_of_clusters(module_cluster_start, velo_cluster_container, module_cluster_num, g, - candidate, raw_bank); - } -} + } -- GitLab From 89f97ef8a544535284aca88c17e6812fe802f8de Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Thu, 30 Apr 2020 17:03:54 +0200 Subject: [PATCH 07/44] write new sequence --- configuration/sequences/Velo_Retina.py | 4 ++++ .../definitions/{Velo_Retina.py => VeloSequence_Retina.py} | 0 2 files changed, 4 insertions(+) create mode 100644 configuration/sequences/Velo_Retina.py rename configuration/sequences/definitions/{Velo_Retina.py => VeloSequence_Retina.py} (100%) mode change 100644 => 100755 diff --git a/configuration/sequences/Velo_Retina.py b/configuration/sequences/Velo_Retina.py new file mode 100644 index 00000000000..f537bc63f3b --- /dev/null +++ b/configuration/sequences/Velo_Retina.py @@ -0,0 +1,4 @@ +from definitions.VeloSequence_Retina import VeloSequence + +velo_sequence = VeloSequence() +velo_sequence.generate() diff --git a/configuration/sequences/definitions/Velo_Retina.py b/configuration/sequences/definitions/VeloSequence_Retina.py old mode 100644 new mode 100755 similarity index 100% rename from configuration/sequences/definitions/Velo_Retina.py rename to configuration/sequences/definitions/VeloSequence_Retina.py -- GitLab From 0f2f1c695545c4754de35a7a3b088bd836e01447 Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Fri, 1 May 2020 10:38:43 +0200 Subject: [PATCH 08/44] add EstimateInputSize_Retina.cuh --- .../definitions/VeloSequence_Retina.py | 2 +- .../include/EstimateInputSize_Retina.cuh | 81 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh diff --git a/configuration/sequences/definitions/VeloSequence_Retina.py b/configuration/sequences/definitions/VeloSequence_Retina.py index 10123e4f628..812f8167f14 100755 --- a/configuration/sequences/definitions/VeloSequence_Retina.py +++ b/configuration/sequences/definitions/VeloSequence_Retina.py @@ -25,7 +25,7 @@ def VeloSequence(doGEC=True): prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( "prefix_sum_offsets_estimated_input_size", host_total_sum_holder_t="host_total_number_of_velo_clusters_t", - dev_input_buffer_t=velo_estimate_input_size. + dev_input_buffer_t=velo_RetinaClusters_input_size. dev_estimated_input_size_t(), dev_output_buffer_t="dev_offsets_estimated_input_size_t") diff --git a/cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh b/cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh new file mode 100644 index 00000000000..32b1d0fbb53 --- /dev/null +++ b/cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh @@ -0,0 +1,81 @@ +#pragma once + +#include "DeviceAlgorithm.cuh" +#include "ClusteringDefinitions.cuh" + +namespace velo_estimate_input_size { + struct Parameters { + HOST_INPUT(host_number_of_selected_events_t, uint); + HOST_INPUT(host_number_of_cluster_candidates_t, uint); + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets; + DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; + DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_OUTPUT(dev_estimated_input_size_t, uint) dev_estimated_input_size; + DEVICE_OUTPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num; +// DEVICE_OUTPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; + PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); + }; + + // Global function + __global__ void velo_estimate_input_size(Parameters parameters); + __global__ void velo_estimate_input_size_mep(Parameters parameters); + + // Algorithm + template + struct velo_estimate_input_size_t : public DeviceAlgorithm, Parameters { + constexpr static auto name = Name::s; + decltype(global_function(velo_estimate_input_size)) function {velo_estimate_input_size}; + decltype(global_function(velo_estimate_input_size_mep)) function_mep {velo_estimate_input_size_mep}; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions&, + const Constants&, + const HostBuffers&) const + { + if (logger::verbosity() >= logger::debug) { + debug_cout << "# of events = " << value(arguments) << std::endl; + } + + set_size( + arguments, value(arguments) * Velo::Constants::n_module_pairs);//1000*26 + set_size(arguments, value(arguments));//1000 +// set_size(arguments, value(arguments)); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + initialize(arguments, 0, cuda_stream); + initialize(arguments, 0, cuda_stream); + + // Invoke kernel + const auto parameters = Parameters {begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments) + //begin(arguments) + }; + + if (runtime_options.mep_layout) { + function_mep(dim3(value(arguments)), property(), cuda_stream)( + parameters); + } + else { + function(dim3(value(arguments)), property(), cuda_stream)( + parameters); + } + } + + private: + Property m_block_dim {this, {{16, 16, 1}}}; + }; +} // namespace velo_estimate_input_size -- GitLab From 298f7a02f884fa0b6a3e3a6e2e9d8f80254869f8 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Fri, 1 May 2020 21:32:49 +0200 Subject: [PATCH 09/44] CalculateNumberOfCandidatesPerPairModule && prefix_sum --- configuration/sequences/VELO_Retina.h | 25 -- configuration/sequences/VELO_origin.h | 29 --- configuration/sequences/Velo_Retina.py | 4 +- .../definitions/VeloSequence_Retina.py | 22 +- .../common/include/ClusteringDefinitions.cuh | 4 +- ...culateNumberOfCandidatesPerPairModule.cuh} | 23 +- ...ers.cuh => WriteClustersIntoContainer.cuh} | 18 +- ...lculateNumberOfCandidatesPerPairModule.cu} | 33 ++- .../mask_clustering/src/EstimateInputSize.cu | 233 ------------------ .../src/MaskedVeloClustering.cu | 7 +- .../src/VeloCalculateNumberOfCandidates.cu | 6 +- ...sters.cu => WriteClustersIntoContainer.cu} | 33 +-- stream/sequence/include/Stream.cuh | 1 + x86/prefix_sum/src/HostPrefixSum.cpp | 2 +- 14 files changed, 84 insertions(+), 356 deletions(-) delete mode 100644 configuration/sequences/VELO_Retina.h delete mode 100644 configuration/sequences/VELO_origin.h rename cuda/velo/mask_clustering/include/{EstimateInputSize_Retina.cuh => CalculateNumberOfCandidatesPerPairModule.cuh} (78%) rename cuda/velo/mask_clustering/include/{RetinaClusters.cuh => WriteClustersIntoContainer.cuh} (85%) rename cuda/velo/mask_clustering/src/{EstimateInputSize_Retina.cu => CalculateNumberOfCandidatesPerPairModule.cu} (59%) delete mode 100644 cuda/velo/mask_clustering/src/EstimateInputSize.cu rename cuda/velo/mask_clustering/src/{RetinaClusters.cu => WriteClustersIntoContainer.cu} (84%) diff --git a/configuration/sequences/VELO_Retina.h b/configuration/sequences/VELO_Retina.h deleted file mode 100644 index a2476abb369..00000000000 --- a/configuration/sequences/VELO_Retina.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include -#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" -#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" -#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfRetinaCluster.cuh" - -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; -struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_Retina_Cluster::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_Retina_Cluster::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; -struct dev_number_of_candidates_t : velo_calculate_number_of_Retina_Cluster::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; - -using configured_lines_t = std::tuple<>; - -using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, - host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, - velo_calculate_number_of_Retina_Cluster::velo_calculate_number_of_Retina_Cluster_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'R', 'e', 't', 'i', 'n', 'a', '_', 'C', 'l', 'u', 's', 't', 'e', 'r', '_', 't'> ->; diff --git a/configuration/sequences/VELO_origin.h b/configuration/sequences/VELO_origin.h deleted file mode 100644 index 4de393411bf..00000000000 --- a/configuration/sequences/VELO_origin.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include -#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" -#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" -#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" -#include "../../x86/prefix_sum/include/HostPrefixSum.h" - -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; -struct host_number_of_selected_events_t : velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, host_global_event_cut::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; -struct dev_event_list_t : velo_calculate_number_of_candidates::Parameters::dev_event_list_t, host_global_event_cut::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; -struct dev_number_of_candidates_t : host_prefix_sum::Parameters::dev_input_buffer_t, velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; - -using configured_lines_t = std::tuple<>; - -using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, - host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, - host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'> ->; diff --git a/configuration/sequences/Velo_Retina.py b/configuration/sequences/Velo_Retina.py index f537bc63f3b..e27916709da 100644 --- a/configuration/sequences/Velo_Retina.py +++ b/configuration/sequences/Velo_Retina.py @@ -1,4 +1,4 @@ -from definitions.VeloSequence_Retina import VeloSequence +from definitions.VeloSequence_Retina import VeloSequence_Retina -velo_sequence = VeloSequence() +velo_sequence = VeloSequence_Retina() velo_sequence.generate() diff --git a/configuration/sequences/definitions/VeloSequence_Retina.py b/configuration/sequences/definitions/VeloSequence_Retina.py index 812f8167f14..87f6b68e3b3 100755 --- a/configuration/sequences/definitions/VeloSequence_Retina.py +++ b/configuration/sequences/definitions/VeloSequence_Retina.py @@ -1,7 +1,7 @@ from definitions.algorithms import * -def VeloSequence(doGEC=True): +def VeloSequence_Retina(doGEC=True): populate_odin_banks = populate_odin_banks_t() initialize_lists = None @@ -20,16 +20,16 @@ def VeloSequence(doGEC=True): dev_number_of_candidates_t(), dev_output_buffer_t="dev_candidates_offsets_t") - velo_RetinaClusters_input_size = velo_RetinaClusters_input_size_t() + Pair_Module_Size = Pair_Module_Size_t() prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( "prefix_sum_offsets_estimated_input_size", host_total_sum_holder_t="host_total_number_of_velo_clusters_t", - dev_input_buffer_t=velo_RetinaClusters_input_size. + dev_input_buffer_t=Pair_Module_Size. dev_estimated_input_size_t(), dev_output_buffer_t="dev_offsets_estimated_input_size_t") - - RetinaClusters = RetinaClusters_t() + """ + Cluster_Container = Cluster_Container_t() velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() velo_search_by_triplet = velo_search_by_triplet_t() @@ -63,17 +63,13 @@ def VeloSequence(doGEC=True): dev_velo_track_hit_number_t(), dev_output_buffer_t="dev_offsets_velo_track_hit_number_t") - velo_consolidate_tracks = velo_consolidate_tracks_t() + velo_consolidate_tracks = velo_consolidate_tracks_t()""" velo_sequence = Sequence( populate_odin_banks, initialize_lists, velo_calculate_number_of_candidates, - prefix_sum_offsets_velo_candidates, velo_estimate_input_size, - prefix_sum_offsets_estimated_input_size, velo_masked_clustering, - velo_calculate_phi_and_sort, velo_search_by_triplet, - prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, - prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + prefix_sum_offsets_velo_candidates, Pair_Module_Size, + prefix_sum_offsets_estimated_input_size) + return velo_sequence diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index 4e03eef3e83..975ec6271e0 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -69,7 +69,7 @@ struct VeloRawBank { uint32_t sensor_index; uint32_t sp_count; uint32_t* sp_word; - uint32_t ncluster; +// uint32_t ncluster; // For MEP format __device__ __host__ VeloRawBank(uint32_t source_id, const char* fragment) @@ -87,7 +87,7 @@ struct VeloRawBank { const char* p = raw_bank; sensor_index = *((uint32_t*) p); p += sizeof(uint32_t); - ncluster = *((uint32_t*) p); + sp_count= *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; } diff --git a/cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh b/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh similarity index 78% rename from cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh rename to cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh index 32b1d0fbb53..8aa2a98e1fb 100644 --- a/cuda/velo/mask_clustering/include/EstimateInputSize_Retina.cuh +++ b/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh @@ -3,7 +3,7 @@ #include "DeviceAlgorithm.cuh" #include "ClusteringDefinitions.cuh" -namespace velo_estimate_input_size { +namespace Pair_Module_Size { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); HOST_INPUT(host_number_of_cluster_candidates_t, uint); @@ -13,20 +13,20 @@ namespace velo_estimate_input_size { DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; DEVICE_OUTPUT(dev_estimated_input_size_t, uint) dev_estimated_input_size; DEVICE_OUTPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num; -// DEVICE_OUTPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; + DEVICE_OUTPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); }; // Global function - __global__ void velo_estimate_input_size(Parameters parameters); - __global__ void velo_estimate_input_size_mep(Parameters parameters); + __global__ void Pair_Module_Size(Parameters parameters); + __global__ void Pair_Module_Size_mep(Parameters parameters); // Algorithm template - struct velo_estimate_input_size_t : public DeviceAlgorithm, Parameters { + struct Pair_Module_Size_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(velo_estimate_input_size)) function {velo_estimate_input_size}; - decltype(global_function(velo_estimate_input_size_mep)) function_mep {velo_estimate_input_size_mep}; + decltype(global_function(Pair_Module_Size)) function {Pair_Module_Size}; + decltype(global_function(Pair_Module_Size_mep)) function_mep {Pair_Module_Size_mep}; void set_arguments_size( ArgumentRefManager arguments, @@ -41,7 +41,7 @@ namespace velo_estimate_input_size { set_size( arguments, value(arguments) * Velo::Constants::n_module_pairs);//1000*26 set_size(arguments, value(arguments));//1000 -// set_size(arguments, value(arguments)); + set_size(arguments, value(arguments)); } void operator()( @@ -61,8 +61,8 @@ namespace velo_estimate_input_size { begin(arguments), begin(arguments), begin(arguments), - begin(arguments) - //begin(arguments) + begin(arguments), + begin(arguments) }; if (runtime_options.mep_layout) { @@ -73,9 +73,10 @@ namespace velo_estimate_input_size { function(dim3(value(arguments)), property(), cuda_stream)( parameters); } + } private: Property m_block_dim {this, {{16, 16, 1}}}; }; -} // namespace velo_estimate_input_size +} // namespace Pair_Module_Size diff --git a/cuda/velo/mask_clustering/include/RetinaClusters.cuh b/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh similarity index 85% rename from cuda/velo/mask_clustering/include/RetinaClusters.cuh rename to cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh index b98cb8bf84e..592a6466a2c 100644 --- a/cuda/velo/mask_clustering/include/RetinaClusters.cuh +++ b/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh @@ -6,7 +6,7 @@ #include "VeloEventModel.cuh" #include "DeviceAlgorithm.cuh" -namespace RetinaClusters { +namespace Cluster_Container { struct Parameters { HOST_INPUT(host_total_number_of_velo_clusters_t, uint); HOST_INPUT(host_number_of_selected_events_t, uint); @@ -14,7 +14,7 @@ namespace RetinaClusters { DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets;// DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size;//prefix_sum DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num;// velo_estimate_input_size - // DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size no + DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size no DEVICE_INPUT(dev_event_list_t, uint) dev_event_list;// DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets;// dev_output_buffer [0,a1, a1+a2 ....a1+a2+..a1000] DEVICE_OUTPUT(dev_module_cluster_num_t, uint) dev_module_cluster_num; @@ -23,19 +23,19 @@ namespace RetinaClusters { }; // Function - __global__ void RetinaClusters( + __global__ void Cluster_Container( Parameters parameters, const VeloGeometry* dev_velo_geometry); - __global__ void RetinaClusters_mep( + __global__ void Cluster_Container_mep( Parameters parameters, const VeloGeometry* dev_velo_geometry); template - struct RetinaClusters_t : public DeviceAlgorithm, Parameters { + struct Cluster_Container_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(RetinaClusters)) function {RetinaClusters}; - decltype(global_function(RetinaClusters_mep)) function_mep {RetinaClusters_mep}; + decltype(global_function(Cluster_Container)) function {Cluster_Container}; + decltype(global_function(Cluster_Container_mep)) function_mep {Cluster_Container_mep}; void set_arguments_size( ArgumentRefManager arguments, @@ -64,7 +64,7 @@ namespace RetinaClusters { begin(arguments), begin(arguments), begin(arguments), -// begin(arguments), + begin(arguments), begin(arguments), begin(arguments), begin(arguments), @@ -86,4 +86,4 @@ namespace RetinaClusters { private: Property m_block_dim {this, {{256, 1, 1}}}; }; -} // namespace RetinaClusters +} // namespace Cluster_Container diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu similarity index 59% rename from cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu rename to cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu index 0736bc2cfc0..9bd2df9420c 100644 --- a/cuda/velo/mask_clustering/src/EstimateInputSize_Retina.cu +++ b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu @@ -1,7 +1,7 @@ #include -#include +#include -__device__ void estimate_raw_bank_size(//(the first four are output, bank number of each event(208), one bank) +__device__ void pair_module_size(//(the first four are output, bank number of each event(208), one bank) uint* estimated_input_size, uint32_t* cluster_candidates, uint* event_candidate_num, @@ -11,14 +11,15 @@ __device__ void estimate_raw_bank_size(//(the first four are output, bank number uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); // uint found_cluster_candidates = 0; - const uint number_of_clusters = raw_bank.ncluster; - - // Add the found clusters - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, number_of_clusters); +// const uint number_of_clusters = raw_bank.ncluster; + for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x){ + // Add clusters + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, 1); assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); } +} -__global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size(velo_RetinaClusters_input_size::Parameters parameters) +__global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters parameters) { const auto event_number = blockIdx.x; const auto selected_event_number = parameters.dev_event_list[event_number]; @@ -35,11 +36,21 @@ __global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size(v raw_bank_number += blockDim.y) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } -} + printf("estimated_module_pair_size0: %d\n", estimated_input_size[0]); + printf("estimated_module_pair_size1: %d\n", estimated_input_size[1]); + printf("estimated_module_pair_size2: %d\n", estimated_input_size[2]); + printf("estimated_module_pair_size3: %d\n", estimated_input_size[3]); + printf("estimated_module_pair_size4: %d\n", estimated_input_size[4]); + printf("estimated_module_pair_size5: %d\n", estimated_input_size[5]); + printf("estimated_module_pair_size6: %d\n", estimated_input_size[6]); + printf("estimated_module_pair_size24: %d\n", estimated_input_size[24]); + printf("estimated_module_pair_size25: %d\n", estimated_input_size[25]); + printf("estimated_module_pair_size26: %d\n", estimated_input_size[26]); -__global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size_mep(velo_RetinaClusters_input_size::Parameters parameters) +} +__global__ void Pair_Module_Size::Pair_Module_Size_mep(Pair_Module_Size::Parameters parameters) { const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; @@ -57,6 +68,6 @@ __global__ void velo_RetinaClusters_input_size::velo_RetinaClusters_input_size_m const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } } diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize.cu b/cuda/velo/mask_clustering/src/EstimateInputSize.cu deleted file mode 100644 index c44df6fe9f1..00000000000 --- a/cuda/velo/mask_clustering/src/EstimateInputSize.cu +++ /dev/null @@ -1,233 +0,0 @@ -#include -#include - -__device__ void estimate_raw_bank_size(//(the first four are output, bank number of each event(208), one bank) - uint* estimated_input_size, - uint32_t* cluster_candidates, - uint* event_candidate_num, - uint raw_bank_number, - VeloRawBank const& raw_bank) -{ - uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - uint found_cluster_candidates = 0; - - for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x) { // Decode sp - const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t no_sp_neighbours = sp_word & 0x80000000U; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - const uint8_t sp = sp_word & 0xFFU; - - if (no_sp_neighbours) { - // The SP does not have any neighbours - // The problem is as simple as a lookup pattern - // It can be implemented in two operations - - // Pattern 0: - // (x x) - // o o - // (x x - // x x) - // - // Note: Pixel order in sp - // 0x08 | 0x80 - // 0x04 | 0x40 - // 0x02 | 0x20 - // 0x01 | 0x10 - const bool pattern_0 = (sp & 0x88) && !(sp & 0x44) && (sp & 0x33); - - // Pattern 1: - // (x x - // x x) - // o o - // (x x) - const bool pattern_1 = (sp & 0xCC) && !(sp & 0x22) && (sp & 0x11); - const uint number_of_clusters = (pattern_0 | pattern_1) ? 2 : 1; - - // Add the found clusters - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, number_of_clusters); - assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); - } - else { - // Find candidates that follow this condition: - // For pixel o, all pixels x should *not* be populated - // x x - // o x - // x - - // Load required neighbouring pixels in order to check the condition - // x x x - // o o x - // o o x - // o o x - // o o x - // x x - // - // Use an int for storing and calculating - // Bit order - // - // 4 10 16 - // 3 9 15 - // 2 8 14 - // 1 7 13 - // 0 6 12 - // 5 11 - // - // Bit masks - // - // 0x10 0x0400 0x010000 - // 0x08 0x0200 0x8000 - // 0x04 0x0100 0x4000 - // 0x02 0x80 0x2000 - // 0x01 0x40 0x1000 - // 0x20 0x0800 - uint32_t pixels = (sp & 0x0F) | ((sp & 0xF0) << 2); - - // Current row and col - const uint32_t sp_row = sp_addr & 0x3FU; - const uint32_t sp_col = sp_addr >> 6; - - for (uint k = 0; k < raw_bank.sp_count; ++k) { - const uint32_t other_sp_word = raw_bank.sp_word[k]; - const uint32_t other_no_sp_neighbours = sp_word & 0x80000000U; - - if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; - const uint32_t other_sp_row = other_sp_addr & 0x3FU; - const uint32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_sp_word & 0xFFU; - - // Populate pixels - // Note: Pixel order in sp - // 0x08 | 0x80 - // 0x04 | 0x40 - // 0x02 | 0x20 - // 0x01 | 0x10 - const bool is_top = other_sp_row == (sp_row + 1) && other_sp_col == sp_col; - const bool is_top_right = other_sp_row == (sp_row + 1) && other_sp_col == (sp_col + 1); - const bool is_right = other_sp_row == sp_row && other_sp_col == (sp_col + 1); - const bool is_right_bottom = other_sp_row == (sp_row - 1) && other_sp_col == (sp_col + 1); - const bool is_bottom = other_sp_row == (sp_row - 1) && other_sp_col == sp_col; - - if (is_top || is_top_right || is_right || is_right_bottom || is_bottom) { - pixels |= is_top * (((other_sp & 0x01) | ((other_sp & 0x10) << 2)) << 4); - pixels |= is_top_right * ((other_sp & 0x01) << 16); - pixels |= is_right * ((other_sp & 0x0F) << 12); - pixels |= is_right_bottom * ((other_sp & 0x08) << 8); - pixels |= is_bottom * ((other_sp & 0x80) >> 2); - } - } - } - - // 16 1024 65536 - // 8 512 32768 - // 4 256 16384 - // 2 128 8192 - // 1 64 4096 - // 32 2048 - // - // 5 11 17 - // 4 10 16 - // 3 9 15 - // 2 8 14 - // 1 7 13 - // 6 12 - // - // Look up pattern - // x x - // o x - // x - // - const uint32_t sp_inside_pixel = pixels & 0x3CF; - const uint32_t mask = - (sp_inside_pixel << 1) | (sp_inside_pixel << 5) | (sp_inside_pixel << 6) | (sp_inside_pixel << 7); - - const uint32_t working_cluster = mask & (~pixels); - const uint32_t candidates_temp = - (working_cluster >> 1) & (working_cluster >> 5) & (working_cluster >> 6) & (working_cluster >> 7); - - const uint32_t candidates = candidates_temp & pixels; - const uint32_t candidates_consolidated = (candidates & 0x0F) | ((candidates >> 2) & 0xF0); - - const auto first_candidate = candidates_consolidated & 0x33; - const auto second_candidate = candidates_consolidated & 0xCC; - - // Add candidates 0, 1, 4, 5 - // Only one of those candidates can be flagged at a time - if (first_candidate) { - // Verify candidates are correctly created - assert(__popc(first_candidate) <= 1); - - // Decode the candidate number (ie. find out the active bit) - const auto candidate_pixel = __clz(first_candidate) - 24; - - auto current_cluster_candidate = atomicAdd(event_candidate_num, 1); - const uint32_t candidate = (sp_index << 11) | (raw_bank_number << 3) | candidate_pixel; - cluster_candidates[current_cluster_candidate] = candidate; - ++found_cluster_candidates; - } - - // Add candidates 2, 3, 6, 7 - // Only one of those candidates can be flagged at a time - if (second_candidate) { - assert(__popc(second_candidate) <= 1); - - // Decode the candidate number (ie. find out the active bit) - const auto candidate_pixel = __clz(second_candidate) - 24; - - auto current_cluster_candidate = atomicAdd(event_candidate_num, 1); - const uint32_t candidate = (sp_index << 11) | (raw_bank_number << 3) | candidate_pixel; - cluster_candidates[current_cluster_candidate] = candidate; - ++found_cluster_candidates; - } - }// no_sp_neighbours else - }//decode sp - - // Add the found cluster candidates - if (found_cluster_candidates > 0) { - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, found_cluster_candidates); - assert(current_estimated_module_pair_size + found_cluster_candidates < Velo::Constants::max_numhits_in_module_pair); - } -} - -__global__ void velo_estimate_input_size::velo_estimate_input_size(velo_estimate_input_size::Parameters parameters) -{ - const auto event_number = blockIdx.x; - const auto selected_event_number = parameters.dev_event_list[event_number]; - - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; - uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; - - // Read raw event - const auto raw_event = VeloRawEvent(raw_input); - - for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; - raw_bank_number += blockDim.y) { - // Read raw bank - const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); - } -} - -__global__ void velo_estimate_input_size::velo_estimate_input_size_mep(velo_estimate_input_size::Parameters parameters) -{ - const uint event_number = blockIdx.x; - const uint selected_event_number = parameters.dev_event_list[event_number]; - - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; - uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; - - // Read raw event - auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; - - for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { - - // Create raw bank from MEP layout - const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - - estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); - } -} diff --git a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu index e6a1ccba3e4..dc5de5bdb0f 100644 --- a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -184,6 +184,7 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + printf("velo_cluster_container.set_id: %d\n", cid); } // if there is a second cluster for this pattern @@ -216,7 +217,8 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } + printf("velo_cluster_container.set_id: %d\n", cid); + } } } } @@ -408,7 +410,8 @@ __device__ void rest_of_clusters( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } + printf("velo_cluster_container.set_id: %d\n", cid); + } } } diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 40064c49fdf..79a4fdf2a8e 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -17,9 +17,9 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - number_of_candidates += raw_bank.ncluster; + number_of_candidates += raw_bank.sp_count; printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); - printf("raw_bank.ncluster : %d\n", raw_bank.ncluster); + printf("raw_bank.ncluster : %d\n", raw_bank.sp_count); printf("number_of_candidates : %d\n", number_of_candidates); } @@ -43,7 +43,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_candidates += raw_bank.ncluster; + number_of_candidates += raw_bank.sp_count; } diff --git a/cuda/velo/mask_clustering/src/RetinaClusters.cu b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu similarity index 84% rename from cuda/velo/mask_clustering/src/RetinaClusters.cu rename to cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu index 8a289e74d68..9aadc660e5c 100644 --- a/cuda/velo/mask_clustering/src/RetinaClusters.cu +++ b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu @@ -1,12 +1,12 @@ #include -#include +#include -__device__ void no_neighbour_sp( +__device__ void write_to_container( uint const* module_pair_cluster_start, - Velo::Clusters velo_cluster_container,//need - uint* module_pair_cluster_num,//need + Velo::Clusters velo_cluster_container, + uint* module_pair_cluster_num, VeloGeometry const& g, int const module_pair_number, uint const cluster_start, @@ -14,17 +14,20 @@ __device__ void no_neighbour_sp( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.ncluster; ++sp_index) { + for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { // Decode cluster const uint32_t sp_word = raw_bank.sp_word[sp_index]; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const int32_t sp_col = (sp_addr >> 6); const uint32_t cx = ( sp_word >> 14 ) & 0x3FF; const float fx = ( ( sp_word >> 11 ) & 0x7 ) / 8.f; const uint32_t cy = ( sp_word >> 3 ) & 0xFF; const float fy = ( sp_word & 0x7FF ) / 8.f; - const float local_x = vp.local_x( cx ) + fx * vp.x_pitch( cx ); - const float local_y = ( 0.5f + fy ) * vp.pixel_size(); + const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); + const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; + const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; const float gx = ( ltg[0] * local_x + ltg[1] * local_y + ltg[9] ); const float gy = ( ltg[3] * local_x + ltg[4] * local_y + ltg[10] ); @@ -47,8 +50,8 @@ __device__ void no_neighbour_sp( -__global__ void RetinaClusters::RetinaClusters( - RetinaClusters::Parameters parameters, +__global__ void Cluster_Container::Cluster_Container( + Cluster_Container::Parameters parameters, const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; @@ -57,8 +60,8 @@ __global__ void RetinaClusters::RetinaClusters( const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; const uint* module_pair_cluster_start = - parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs;//dev_offsets_estimated_input_size->position 0 +... - uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs;//dev_module_pair_candidate_num-> + parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; + uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs; @@ -81,7 +84,7 @@ __global__ void RetinaClusters::RetinaClusters( // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - no_neighbour_sp( + write_to_container( module_pair_cluster_start, velo_cluster_container, module_pair_cluster_num, @@ -95,8 +98,8 @@ __global__ void RetinaClusters::RetinaClusters( } -__global__ void RetinaClusters::RetinaClusters_mep( - RetinaClusters::Parameters parameters, +__global__ void Cluster_Container::Cluster_Container_mep( + Cluster_Container::Parameters parameters, const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; @@ -128,7 +131,7 @@ __global__ void RetinaClusters::RetinaClusters_mep( // Read raw bank const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - no_neighbour_sp( + write_to_container( module_pair_cluster_start, velo_cluster_container, module_pair_cluster_num, diff --git a/stream/sequence/include/Stream.cuh b/stream/sequence/include/Stream.cuh index f899157e0ec..d7329961856 100644 --- a/stream/sequence/include/Stream.cuh +++ b/stream/sequence/include/Stream.cuh @@ -16,6 +16,7 @@ #include "UTDefinitions.cuh" #include "RuntimeOptions.h" #include "EstimateInputSize.cuh" +#include "CalculateNumberOfCandidatesPerPairModule.cuh" #include "HostBuffers.cuh" #include "HostBuffersManager.cuh" #include "SequenceVisitor.cuh" diff --git a/x86/prefix_sum/src/HostPrefixSum.cpp b/x86/prefix_sum/src/HostPrefixSum.cpp index a31e352ea2a..78f552e93dd 100644 --- a/x86/prefix_sum/src/HostPrefixSum.cpp +++ b/x86/prefix_sum/src/HostPrefixSum.cpp @@ -24,7 +24,7 @@ void host_prefix_sum::host_prefix_sum_impl( host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements];// host_total_sum_holder[0]=a1+a2+...anumberofevent } - info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3] <<"\n"; + info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3]<< ", "<< host_prefix_sum_buffer[24]<< ", "<< host_prefix_sum_buffer[25]<< ", "<< host_prefix_sum_buffer[26]<<"\n"; info_cout << "host_total_sum_holder[0]: " << host_total_sum_holder[0] <<"\n"; } -- GitLab From 8ac490cf26cd4b23943c278a223a24964044ec01 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Mon, 4 May 2020 12:31:12 +0200 Subject: [PATCH 10/44] fix bug const uint* --- .../sequences/definitions/VeloSequence_Retina.py | 12 +++++++++--- .../src/WriteClustersIntoContainer.cu | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/configuration/sequences/definitions/VeloSequence_Retina.py b/configuration/sequences/definitions/VeloSequence_Retina.py index 87f6b68e3b3..85e6386f7a0 100755 --- a/configuration/sequences/definitions/VeloSequence_Retina.py +++ b/configuration/sequences/definitions/VeloSequence_Retina.py @@ -28,8 +28,9 @@ def VeloSequence_Retina(doGEC=True): dev_input_buffer_t=Pair_Module_Size. dev_estimated_input_size_t(), dev_output_buffer_t="dev_offsets_estimated_input_size_t") - """ + Cluster_Container = Cluster_Container_t() + velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() velo_search_by_triplet = velo_search_by_triplet_t() @@ -63,13 +64,18 @@ def VeloSequence_Retina(doGEC=True): dev_velo_track_hit_number_t(), dev_output_buffer_t="dev_offsets_velo_track_hit_number_t") - velo_consolidate_tracks = velo_consolidate_tracks_t()""" + velo_consolidate_tracks = velo_consolidate_tracks_t() velo_sequence = Sequence( populate_odin_banks, initialize_lists, velo_calculate_number_of_candidates, prefix_sum_offsets_velo_candidates, Pair_Module_Size, - prefix_sum_offsets_estimated_input_size) + prefix_sum_offsets_estimated_input_size, Cluster_Container, + velo_calculate_phi_and_sort, velo_search_by_triplet, + prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, + prefix_sum_offsets_number_of_three_hit_tracks_filtered, + velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, + velo_consolidate_tracks) return velo_sequence diff --git a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu index 9aadc660e5c..02a16fe8f78 100644 --- a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu +++ b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu @@ -61,7 +61,7 @@ __global__ void Cluster_Container::Cluster_Container( const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; const uint* module_pair_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs; + uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; @@ -108,7 +108,7 @@ __global__ void Cluster_Container::Cluster_Container_mep( const uint* module_pair_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* module_pair_cluster_num = parameters.dev_module_pair_candidate_num + event_number * Velo::Constants::n_module_pairs; + uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; -- GitLab From ba6693715f9fcacf218ce31123f271228c7011ae Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Tue, 5 May 2020 21:36:12 +0200 Subject: [PATCH 11/44] correct channel ID --- .../src/CalculateNumberOfCandidatesPerPairModule.cu | 4 ++-- .../mask_clustering/src/VeloCalculateNumberOfCandidates.cu | 6 +++--- cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu | 6 +++--- x86/prefix_sum/src/HostPrefixSum.cpp | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu index 9bd2df9420c..50b710643a1 100644 --- a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu +++ b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu @@ -38,7 +38,7 @@ __global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } - printf("estimated_module_pair_size0: %d\n", estimated_input_size[0]); +/* printf("estimated_module_pair_size0: %d\n", estimated_input_size[0]); printf("estimated_module_pair_size1: %d\n", estimated_input_size[1]); printf("estimated_module_pair_size2: %d\n", estimated_input_size[2]); printf("estimated_module_pair_size3: %d\n", estimated_input_size[3]); @@ -47,7 +47,7 @@ __global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters printf("estimated_module_pair_size6: %d\n", estimated_input_size[6]); printf("estimated_module_pair_size24: %d\n", estimated_input_size[24]); printf("estimated_module_pair_size25: %d\n", estimated_input_size[25]); - printf("estimated_module_pair_size26: %d\n", estimated_input_size[26]); + printf("estimated_module_pair_size26: %d\n", estimated_input_size[26]);*/ } __global__ void Pair_Module_Size::Pair_Module_Size_mep(Pair_Module_Size::Parameters parameters) diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 79a4fdf2a8e..00f59cd72bb 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -18,9 +18,9 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); number_of_candidates += raw_bank.sp_count; - printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); - printf("raw_bank.ncluster : %d\n", raw_bank.sp_count); - printf("number_of_candidates : %d\n", number_of_candidates); +// printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); +// printf("raw_bank.ncluster : %d\n", raw_bank.sp_count); +// printf("number_of_candidates : %d\n", number_of_candidates); } diff --git a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu index 02a16fe8f78..08dc9087f3b 100644 --- a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu +++ b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu @@ -17,15 +17,15 @@ __device__ void write_to_container( for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { // Decode cluster const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - const int32_t sp_col = (sp_addr >> 6); +// const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; +// const int32_t sp_col = (sp_addr >> 6); const uint32_t cx = ( sp_word >> 14 ) & 0x3FF; const float fx = ( ( sp_word >> 11 ) & 0x7 ) / 8.f; const uint32_t cy = ( sp_word >> 3 ) & 0xFF; const float fy = ( sp_word & 0x7FF ) / 8.f; - const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); + const uint32_t chip = cx >> VP::ChipColumns_division; const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; diff --git a/x86/prefix_sum/src/HostPrefixSum.cpp b/x86/prefix_sum/src/HostPrefixSum.cpp index 78f552e93dd..6088459da98 100644 --- a/x86/prefix_sum/src/HostPrefixSum.cpp +++ b/x86/prefix_sum/src/HostPrefixSum.cpp @@ -24,8 +24,8 @@ void host_prefix_sum::host_prefix_sum_impl( host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements];// host_total_sum_holder[0]=a1+a2+...anumberofevent } - info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3]<< ", "<< host_prefix_sum_buffer[24]<< ", "<< host_prefix_sum_buffer[25]<< ", "<< host_prefix_sum_buffer[26]<<"\n"; - info_cout << "host_total_sum_holder[0]: " << host_total_sum_holder[0] <<"\n"; +// info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3]<< ", "<< host_prefix_sum_buffer[24]<< ", "<< host_prefix_sum_buffer[25]<< ", "<< host_prefix_sum_buffer[26]<<"\n"; +// info_cout << "host_total_sum_holder[0]: " << host_total_sum_holder[0] <<"\n"; } void host_prefix_sum::host_prefix_sum( -- GitLab From dc749c6902ff3814a0ac929a725d8da056bd5ed1 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Wed, 6 May 2020 17:44:10 +0200 Subject: [PATCH 12/44] modifying cid and local_y --- cuda/velo/mask_clustering/src/MaskedVeloClustering.cu | 6 +++--- cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu index dc5de5bdb0f..9e30778661f 100644 --- a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -184,7 +184,7 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - printf("velo_cluster_container.set_id: %d\n", cid); +// printf("velo_cluster_container.set_id: %d\n", cid); } // if there is a second cluster for this pattern @@ -217,7 +217,7 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - printf("velo_cluster_container.set_id: %d\n", cid); +// printf("velo_cluster_container.set_id: %d\n", cid); } } } @@ -410,7 +410,7 @@ __device__ void rest_of_clusters( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - printf("velo_cluster_container.set_id: %d\n", cid); +// printf("velo_cluster_container.set_id: %d\n", cid); } } } diff --git a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu index 08dc9087f3b..89a8e0c4240 100644 --- a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu +++ b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu @@ -27,7 +27,8 @@ __device__ void write_to_container( const uint32_t chip = cx >> VP::ChipColumns_division; const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; - const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; + //const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; + const float local_y = (0.5f + fy) * Velo::Constants::pixel_size; const float gx = ( ltg[0] * local_x + ltg[1] * local_y + ltg[9] ); const float gy = ( ltg[3] * local_x + ltg[4] * local_y + ltg[10] ); -- GitLab From 6abac931696963654b6ad8c277eb4d6a1de3dd88 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Thu, 7 May 2020 11:21:48 +0200 Subject: [PATCH 13/44] delete unused comments --- configuration/constants/VELO_Retina.json | 3 - configuration/constants/VELO_origin.h | 29 --- configuration/constants/VELO_origin.json | 3 - .../sequences/definitions/VeloSequence.py | 36 ++- .../sequences/hlt1_RetinaClusters.py | 14 ++ .../common/include/ClusteringDefinitions.cuh | 20 +- ...lculateNumberOfCandidatesPerPairModule.cuh | 4 +- .../include/WriteClustersIntoContainer.cuh | 14 +- ...alculateNumberOfCandidatesPerPairModule.cu | 14 +- .../mask_clustering/src/EstimateInputSize.cu | 234 ++++++++++++++++++ .../src/MaskedVeloClustering.cu | 3 - .../src/VeloCalculateNumberOfCandidates.cu | 6 +- .../src/WriteClustersIntoContainer.cu | 2 +- 13 files changed, 295 insertions(+), 87 deletions(-) delete mode 100644 configuration/constants/VELO_Retina.json delete mode 100644 configuration/constants/VELO_origin.h delete mode 100644 configuration/constants/VELO_origin.json create mode 100644 configuration/sequences/hlt1_RetinaClusters.py create mode 100644 cuda/velo/mask_clustering/src/EstimateInputSize.cu diff --git a/configuration/constants/VELO_Retina.json b/configuration/constants/VELO_Retina.json deleted file mode 100644 index 7119bb7d6c1..00000000000 --- a/configuration/constants/VELO_Retina.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configured_lines": [] -} diff --git a/configuration/constants/VELO_origin.h b/configuration/constants/VELO_origin.h deleted file mode 100644 index 102ed429c98..00000000000 --- a/configuration/constants/VELO_origin.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include -#include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" -#include "../../x86/global_event_cut/include/HostGlobalEventCut.h" -#include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" -#include "../../x86/prefix_sum/include/HostPrefixSum.h" - -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; -struct host_number_of_selected_events_t : velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, host_global_event_cut::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; - -using configured_lines_t = std::tuple<>; - -using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t, configured_lines_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, - host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't', '_', 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, - host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'> ->; diff --git a/configuration/constants/VELO_origin.json b/configuration/constants/VELO_origin.json deleted file mode 100644 index 7119bb7d6c1..00000000000 --- a/configuration/constants/VELO_origin.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configured_lines": [] -} diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index da86e0bfd21..d904962e166 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -2,14 +2,41 @@ from definitions.algorithms import * def VeloSequence(doGEC=True): - populate_odin_banks = populate_odin_banks_t() + odin_banks = data_provider_t( + "populate_odin_banks", + dev_raw_banks_t="dev_odin_raw_input_t", + dev_raw_offsets_t="dev_odin_raw_input_offsets_t", + bank_type="ODIN") + + host_ut_banks = host_data_provider_t( + "host_ut_banks", + host_raw_banks_t="host_ut_raw_input_t", + host_raw_offsets_t="host_ut_raw_input_offsets_t", + bank_type="UT") + + host_scifi_banks = host_data_provider_t( + "host_scifi_banks", + host_raw_banks_t="host_scifi_raw_input_t", + host_raw_offsets_t="host_scifi_raw_input_offsets_t", + bank_type="FTCluster") initialize_lists = None if doGEC: - initialize_lists = host_global_event_cut_t() + initialize_lists = host_global_event_cut_t( + "host_global_event_cut", + host_ut_raw_banks_t="host_ut_raw_input_t", + host_ut_raw_offsets_t="host_ut_raw_input_offsets_t", + host_scifi_raw_banks_t="host_scifi_raw_input_t", + host_scifi_raw_offsets_t="host_scifi_raw_input_offsets_t") else: initialize_lists = host_init_event_list_t() + velo_banks = data_provider_t( + "velo_banks", + dev_raw_banks_t="dev_velo_raw_input_t", + dev_raw_offsets_t="dev_velo_raw_input_offsets_t", + bank_type="VP") + velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t( ) @@ -66,8 +93,8 @@ def VeloSequence(doGEC=True): velo_consolidate_tracks = velo_consolidate_tracks_t() velo_sequence = Sequence( - populate_odin_banks, initialize_lists, - velo_calculate_number_of_candidates, + odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, + velo_banks, velo_calculate_number_of_candidates, prefix_sum_offsets_velo_candidates, velo_estimate_input_size, prefix_sum_offsets_estimated_input_size, velo_masked_clustering, velo_calculate_phi_and_sort, velo_search_by_triplet, @@ -77,3 +104,4 @@ def VeloSequence(doGEC=True): velo_consolidate_tracks) return velo_sequence + diff --git a/configuration/sequences/hlt1_RetinaClusters.py b/configuration/sequences/hlt1_RetinaClusters.py new file mode 100644 index 00000000000..ba31612d893 --- /dev/null +++ b/configuration/sequences/hlt1_RetinaClusters.py @@ -0,0 +1,14 @@ +from definitions.VeloSequence_Retina import VeloSequence_Retina +from definitions.PVSequence import PVSequence +from definitions.UTSequence import UTSequence +from definitions.ForwardSequence import ForwardSequence +from definitions.MuonSequence import MuonSequence +from definitions.HLT1Sequence import HLT1Sequence +from definitions.algorithms import compose_sequences + +hlt1_sequence = compose_sequences(VeloSequence_Retina(), PVSequence(), UTSequence(), + ForwardSequence(), MuonSequence(), + HLT1Sequence()) +hlt1_sequence.generate() + + diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index 975ec6271e0..c98c759e526 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -57,10 +57,10 @@ struct VeloRawEvent { __device__ __host__ VeloRawEvent(const char* event) { const char* p = event; - number_of_raw_banks = *((uint32_t*) p);//p is a pointer which points to an event. make pointer P from char to uint32 and get its first value. 1 bank -> 1 sensor + number_of_raw_banks = *((uint32_t*) p); p += sizeof(uint32_t); - raw_bank_offset = (uint32_t*) p;//it's a array and the first element points to the second number - p += (number_of_raw_banks + 1) * sizeof(uint32_t);// data format: [the number of cluster of this event, ...] + raw_bank_offset = (uint32_t*) p; + p += (number_of_raw_banks + 1) * sizeof(uint32_t); payload = (char*) p; } }; @@ -69,7 +69,6 @@ struct VeloRawBank { uint32_t sensor_index; uint32_t sp_count; uint32_t* sp_word; -// uint32_t ncluster; // For MEP format __device__ __host__ VeloRawBank(uint32_t source_id, const char* fragment) @@ -92,19 +91,6 @@ struct VeloRawBank { sp_word = (uint32_t*) p; } -/* - // For RetinaCluster format - __device__ __host__ VeloRawBank(const char* raw_bank) - { - const uint32_t* p = (uint32_t*)raw_bank; - sensor_index = *((uint32_t*) p); -// data = pp->range(); - p += sizeof(uint32_t); - ncluster = *((uint32_t*) p); - p += sizeof(uint32_t); - sp_word = (uint32_t*) p; - } -*/ }; /** diff --git a/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh b/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh index 8aa2a98e1fb..e04408b3f7b 100644 --- a/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh +++ b/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh @@ -39,8 +39,8 @@ namespace Pair_Module_Size { } set_size( - arguments, value(arguments) * Velo::Constants::n_module_pairs);//1000*26 - set_size(arguments, value(arguments));//1000 + arguments, value(arguments) * Velo::Constants::n_module_pairs); + set_size(arguments, value(arguments)); set_size(arguments, value(arguments)); } diff --git a/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh b/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh index 592a6466a2c..75290240e1c 100644 --- a/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh +++ b/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh @@ -10,13 +10,13 @@ namespace Cluster_Container { struct Parameters { HOST_INPUT(host_total_number_of_velo_clusters_t, uint); HOST_INPUT(host_number_of_selected_events_t, uint); - DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input;// - DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets;// - DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size;//prefix_sum - DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num;// velo_estimate_input_size - DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates;//velo_estimate_input_size no - DEVICE_INPUT(dev_event_list_t, uint) dev_event_list;// - DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets;// dev_output_buffer [0,a1, a1+a2 ....a1+a2+..a1000] + DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; + DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size; + DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num; + DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets; DEVICE_OUTPUT(dev_module_cluster_num_t, uint) dev_module_cluster_num; DEVICE_OUTPUT(dev_velo_cluster_container_t, char) dev_velo_cluster_container; PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); diff --git a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu index 50b710643a1..8c728d5bc61 100644 --- a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu +++ b/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu @@ -1,7 +1,7 @@ #include #include -__device__ void pair_module_size(//(the first four are output, bank number of each event(208), one bank) +__device__ void pair_module_size( uint* estimated_input_size, uint32_t* cluster_candidates, uint* event_candidate_num, @@ -9,9 +9,7 @@ __device__ void pair_module_size(//(the first four are output, bank number of ea VeloRawBank const& raw_bank) { uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); -// uint found_cluster_candidates = 0; -// const uint number_of_clusters = raw_bank.ncluster; for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x){ // Add clusters [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, 1); @@ -38,16 +36,6 @@ __global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } -/* printf("estimated_module_pair_size0: %d\n", estimated_input_size[0]); - printf("estimated_module_pair_size1: %d\n", estimated_input_size[1]); - printf("estimated_module_pair_size2: %d\n", estimated_input_size[2]); - printf("estimated_module_pair_size3: %d\n", estimated_input_size[3]); - printf("estimated_module_pair_size4: %d\n", estimated_input_size[4]); - printf("estimated_module_pair_size5: %d\n", estimated_input_size[5]); - printf("estimated_module_pair_size6: %d\n", estimated_input_size[6]); - printf("estimated_module_pair_size24: %d\n", estimated_input_size[24]); - printf("estimated_module_pair_size25: %d\n", estimated_input_size[25]); - printf("estimated_module_pair_size26: %d\n", estimated_input_size[26]);*/ } __global__ void Pair_Module_Size::Pair_Module_Size_mep(Pair_Module_Size::Parameters parameters) diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize.cu b/cuda/velo/mask_clustering/src/EstimateInputSize.cu new file mode 100644 index 00000000000..fc99c6faea2 --- /dev/null +++ b/cuda/velo/mask_clustering/src/EstimateInputSize.cu @@ -0,0 +1,234 @@ +#include +#include + +__device__ void estimate_raw_bank_size( + uint* estimated_input_size, + uint32_t* cluster_candidates, + uint* event_candidate_num, + uint raw_bank_number, + VeloRawBank const& raw_bank) +{ + uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); + uint found_cluster_candidates = 0; + + for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x) { // Decode sp + const uint32_t sp_word = raw_bank.sp_word[sp_index]; + const uint32_t no_sp_neighbours = sp_word & 0x80000000U; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const uint8_t sp = sp_word & 0xFFU; + + if (no_sp_neighbours) { + // The SP does not have any neighbours + // The problem is as simple as a lookup pattern + // It can be implemented in two operations + + // Pattern 0: + // (x x) + // o o + // (x x + // x x) + // + // Note: Pixel order in sp + // 0x08 | 0x80 + // 0x04 | 0x40 + // 0x02 | 0x20 + // 0x01 | 0x10 + const bool pattern_0 = (sp & 0x88) && !(sp & 0x44) && (sp & 0x33); + + // Pattern 1: + // (x x + // x x) + // o o + // (x x) + const bool pattern_1 = (sp & 0xCC) && !(sp & 0x22) && (sp & 0x11); + const uint number_of_clusters = (pattern_0 | pattern_1) ? 2 : 1; + + // Add the found clusters + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, number_of_clusters); + assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); + } + else { + // Find candidates that follow this condition: + // For pixel o, all pixels x should *not* be populated + // x x + // o x + // x + + // Load required neighbouring pixels in order to check the condition + // x x x + // o o x + // o o x + // o o x + // o o x + // x x + // + // Use an int for storing and calculating + // Bit order + // + // 4 10 16 + // 3 9 15 + // 2 8 14 + // 1 7 13 + // 0 6 12 + // 5 11 + // + // Bit masks + // + // 0x10 0x0400 0x010000 + // 0x08 0x0200 0x8000 + // 0x04 0x0100 0x4000 + // 0x02 0x80 0x2000 + // 0x01 0x40 0x1000 + // 0x20 0x0800 + uint32_t pixels = (sp & 0x0F) | ((sp & 0xF0) << 2); + + // Current row and col + const uint32_t sp_row = sp_addr & 0x3FU; + const uint32_t sp_col = sp_addr >> 6; + + for (uint k = 0; k < raw_bank.sp_count; ++k) { + const uint32_t other_sp_word = raw_bank.sp_word[k]; + const uint32_t other_no_sp_neighbours = sp_word & 0x80000000U; + + if (!other_no_sp_neighbours) { + const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; + const uint32_t other_sp_row = other_sp_addr & 0x3FU; + const uint32_t other_sp_col = (other_sp_addr >> 6); + const uint8_t other_sp = other_sp_word & 0xFFU; + + // Populate pixels + // Note: Pixel order in sp + // 0x08 | 0x80 + // 0x04 | 0x40 + // 0x02 | 0x20 + // 0x01 | 0x10 + const bool is_top = other_sp_row == (sp_row + 1) && other_sp_col == sp_col; + const bool is_top_right = other_sp_row == (sp_row + 1) && other_sp_col == (sp_col + 1); + const bool is_right = other_sp_row == sp_row && other_sp_col == (sp_col + 1); + const bool is_right_bottom = other_sp_row == (sp_row - 1) && other_sp_col == (sp_col + 1); + const bool is_bottom = other_sp_row == (sp_row - 1) && other_sp_col == sp_col; + + if (is_top || is_top_right || is_right || is_right_bottom || is_bottom) { + pixels |= is_top * (((other_sp & 0x01) | ((other_sp & 0x10) << 2)) << 4); + pixels |= is_top_right * ((other_sp & 0x01) << 16); + pixels |= is_right * ((other_sp & 0x0F) << 12); + pixels |= is_right_bottom * ((other_sp & 0x08) << 8); + pixels |= is_bottom * ((other_sp & 0x80) >> 2); + } + } + } + + // 16 1024 65536 + // 8 512 32768 + // 4 256 16384 + // 2 128 8192 + // 1 64 4096 + // 32 2048 + // + // 5 11 17 + // 4 10 16 + // 3 9 15 + // 2 8 14 + // 1 7 13 + // 6 12 + // + // Look up pattern + // x x + // o x + // x + // + const uint32_t sp_inside_pixel = pixels & 0x3CF; + const uint32_t mask = + (sp_inside_pixel << 1) | (sp_inside_pixel << 5) | (sp_inside_pixel << 6) | (sp_inside_pixel << 7); + + const uint32_t working_cluster = mask & (~pixels); + const uint32_t candidates_temp = + (working_cluster >> 1) & (working_cluster >> 5) & (working_cluster >> 6) & (working_cluster >> 7); + + const uint32_t candidates = candidates_temp & pixels; + const uint32_t candidates_consolidated = (candidates & 0x0F) | ((candidates >> 2) & 0xF0); + + const auto first_candidate = candidates_consolidated & 0x33; + const auto second_candidate = candidates_consolidated & 0xCC; + + // Add candidates 0, 1, 4, 5 + // Only one of those candidates can be flagged at a time + if (first_candidate) { + // Verify candidates are correctly created + assert(__popc(first_candidate) <= 1); + + // Decode the candidate number (ie. find out the active bit) + const auto candidate_pixel = __clz(first_candidate) - 24; + + auto current_cluster_candidate = atomicAdd(event_candidate_num, 1); + const uint32_t candidate = (sp_index << 11) | (raw_bank_number << 3) | candidate_pixel; + cluster_candidates[current_cluster_candidate] = candidate; + ++found_cluster_candidates; + } + + // Add candidates 2, 3, 6, 7 + // Only one of those candidates can be flagged at a time + if (second_candidate) { + assert(__popc(second_candidate) <= 1); + + // Decode the candidate number (ie. find out the active bit) + const auto candidate_pixel = __clz(second_candidate) - 24; + + auto current_cluster_candidate = atomicAdd(event_candidate_num, 1); + const uint32_t candidate = (sp_index << 11) | (raw_bank_number << 3) | candidate_pixel; + cluster_candidates[current_cluster_candidate] = candidate; + ++found_cluster_candidates; + } + }// no_sp_neighbours else + }//decode sp + + // Add the found cluster candidates + if (found_cluster_candidates > 0) { + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, found_cluster_candidates); + assert(current_estimated_module_pair_size + found_cluster_candidates < Velo::Constants::max_numhits_in_module_pair); + } +} + +__global__ void velo_estimate_input_size::velo_estimate_input_size(velo_estimate_input_size::Parameters parameters) +{ + const auto event_number = blockIdx.x; + const auto selected_event_number = parameters.dev_event_list[event_number]; + + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; + uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; + uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.y) { + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + } + +} + +__global__ void velo_estimate_input_size::velo_estimate_input_size_mep(velo_estimate_input_size::Parameters parameters) +{ + const uint event_number = blockIdx.x; + const uint selected_event_number = parameters.dev_event_list[event_number]; + + uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; + uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; + uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; + + // Read raw event + auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + + for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { + + // Create raw bank from MEP layout + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); + + estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + } +} diff --git a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu index 9e30778661f..9f083ebaa02 100644 --- a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -184,7 +184,6 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); -// printf("velo_cluster_container.set_id: %d\n", cid); } // if there is a second cluster for this pattern @@ -217,7 +216,6 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); -// printf("velo_cluster_container.set_id: %d\n", cid); } } } @@ -410,7 +408,6 @@ __device__ void rest_of_clusters( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); -// printf("velo_cluster_container.set_id: %d\n", cid); } } } diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 00f59cd72bb..ac7276b5957 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -8,7 +8,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; event_number += blockDim.x * gridDim.x) { const auto selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number];//point to an event + const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; // Read raw event const auto raw_event = VeloRawEvent(raw_input); @@ -18,10 +18,6 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); number_of_candidates += raw_bank.sp_count; -// printf("raw_bank.sensor_index : %d\n", raw_bank.sensor_index); -// printf("raw_bank.ncluster : %d\n", raw_bank.sp_count); -// printf("number_of_candidates : %d\n", number_of_candidates); - } // The maximum number of candidates is two times the number of SPs diff --git a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu index 89a8e0c4240..28e2cc9eec2 100644 --- a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu +++ b/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu @@ -27,7 +27,7 @@ __device__ void write_to_container( const uint32_t chip = cx >> VP::ChipColumns_division; const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; - //const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; +// const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; const float local_y = (0.5f + fy) * Velo::Constants::pixel_size; const float gx = ( ltg[0] * local_x + ltg[1] * local_y + ltg[9] ); -- GitLab From 56dc1d62e14e4eac5a55a6758da22eb3c7e45c59 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Tue, 12 May 2020 16:45:43 +0200 Subject: [PATCH 14/44] finish the comments --- CMakeLists.txt | 4 +- Rec/Allen/src/RunAllen.cpp | 1 + Rec/Allen/src/RunAllen.h | 1 + bindings/Allen.py | 4 +- {stream => cmake}/GenerateConfiguration.cmake | 40 +- TargetArch.cmake => cmake/TargetArch.cmake | 0 configuration/constants/HLT1_NoUTCut.json | 5 + configuration/pregenerated/forward.h | 2876 +----------- configuration/pregenerated/forward.json | 6 + configuration/pregenerated/hlt1_pp_default.h | 4028 +---------------- .../pregenerated/hlt1_pp_default.json | 7 + configuration/pregenerated/hlt1_pp_no_gec.h | 4021 +--------------- .../pregenerated/hlt1_pp_no_gec.json | 7 + .../pregenerated/hlt1_pp_no_gec_no_ut_cut.h | 4021 +--------------- .../hlt1_pp_no_gec_no_ut_cut.json | 7 + .../pregenerated/hlt1_pp_no_ut_cut.h | 4028 +---------------- .../pregenerated/hlt1_pp_no_ut_cut.json | 7 + configuration/pregenerated/hlt1_pp_scifi_v6.h | 3988 +--------------- .../pregenerated/hlt1_pp_scifi_v6.json | 7 + configuration/pregenerated/muon.h | 3259 +------------ configuration/pregenerated/muon.json | 7 + configuration/pregenerated/pv.h | 1255 +---- configuration/pregenerated/pv.json | 4 + configuration/pregenerated/ut.h | 1924 +------- configuration/pregenerated/ut.json | 5 + configuration/pregenerated/velo.h | 931 +--- configuration/pregenerated/velo.json | 4 + configuration/sequences/Velo_Retina.py | 4 - .../sequences/definitions/BaseTypes.py | 9 +- .../sequences/definitions/ForwardSequence.py | 93 +- .../sequences/definitions/MuonSequence.py | 8 +- .../sequences/definitions/UTSequence.py | 10 +- .../sequences/definitions/VeloSequence.py | 105 +- .../definitions/VeloSequence_Retina.py | 81 - .../sequences/hlt1_RetinaClusters.py | 14 - .../include/SciFiCalculateClusterCountV4.cuh | 34 +- .../include/SciFiCalculateClusterCountV6.cuh | 22 +- .../include/UTCalculateNumberOfHits.cuh | 38 +- cuda/muon/decoding/include/MuonDecoding.cuh | 13 +- .../include/MuonPreDecoding.cuh | 31 +- cuda/raw_banks/include/PopulateOdinBanks.cuh | 45 - cuda/velo/CMakeLists.txt | 3 + .../common/include/ClusteringDefinitions.cuh | 9 +- .../VeloCalculateNumberOfCandidates.cuh | 28 +- .../mask_clustering/src/EstimateInputSize.cu | 6 +- .../src/MaskedVeloClustering.cu | 4 +- .../src/VeloCalculateNumberOfCandidates.cu | 5 +- ...teNumberOfRetinaClustersPerPairModule.cuh} | 22 +- .../include/DecodeRetinaClusters.cuh} | 22 +- .../VeloCalculateNumberOfRetinaClusters.cuh | 64 + ...ateNumberOfRetinaClustersPerPairModule.cu} | 20 +- .../src/DecodeRetinaClusters.cu} | 43 +- .../VeloCalculateNumberOfRetinaClusters.cu | 48 + main/include/BankTypes.h | 16 +- main/include/BinaryProvider.h | 10 +- main/include/InputProvider.h | 26 +- main/include/MDFProvider.h | 10 +- main/include/MEPProvider.h | 10 +- main/include/RuntimeOptions.h | 23 +- main/src/Allen.cpp | 13 +- main/src/AllenThreads.cpp | 7 +- main/src/BankTypes.cpp | 22 +- mdf/include/read_mdf.hpp | 1 + mdf/test/test_providers.cpp | 22 +- readme.md | 49 +- scripts/ParseAlgorithms.py | 62 +- stream/CMakeLists.txt | 2 +- stream/gear/include/Configuration.cuh | 4 + stream/gear/src/Configuration.cpp | 18 + stream/sequence/include/Stream.cuh | 1 - x86/data_provider/include/DataProvider.h | 47 + x86/data_provider/include/HostDataProvider.h | 57 + .../include/HostGlobalEventCut.h | 46 +- .../src/HostGlobalEventCut.cpp | 23 +- x86/global_event_cut/test/mep_gec.cpp | 14 +- x86/prefix_sum/include/HostPrefixSum.h | 4 +- x86/prefix_sum/src/HostPrefixSum.cpp | 26 +- 77 files changed, 2718 insertions(+), 29023 deletions(-) rename {stream => cmake}/GenerateConfiguration.cmake (80%) rename TargetArch.cmake => cmake/TargetArch.cmake (100%) delete mode 100644 configuration/sequences/Velo_Retina.py delete mode 100755 configuration/sequences/definitions/VeloSequence_Retina.py delete mode 100644 configuration/sequences/hlt1_RetinaClusters.py delete mode 100644 cuda/raw_banks/include/PopulateOdinBanks.cuh rename cuda/velo/{mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh => retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh} (71%) rename cuda/velo/{mask_clustering/include/WriteClustersIntoContainer.cuh => retinacluster_decoding/include/DecodeRetinaClusters.cuh} (80%) create mode 100644 cuda/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh rename cuda/velo/{mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu => retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu} (63%) rename cuda/velo/{mask_clustering/src/WriteClustersIntoContainer.cu => retinacluster_decoding/src/DecodeRetinaClusters.cu} (78%) create mode 100644 cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu create mode 100644 x86/data_provider/include/DataProvider.h create mode 100644 x86/data_provider/include/HostDataProvider.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 00e0a599e56..59886657fe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,7 +212,7 @@ elseif(TARGET_DEVICE STREQUAL "CUDACLANG") add_library(${ARGV}) install(TARGETS ${ARGV0} RUNTIME DESTINATION bin OPTIONAL) endfunction() - + set(cuda_base_dir /usr/local/cuda-10.1) function(allen_add_device_library) @@ -289,7 +289,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_ADDITIONAL} -O0 -g -DALLEN_DEBUG") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpthread") #Detect target CPU architecture -include(TargetArch.cmake) +include(TargetArch) set(TARGET_CPU_ARCHITECTURE "") target_architecture(TARGET_CPU_ARCHITECTURE) message(STATUS "Detected CPU architecture: ${TARGET_CPU_ARCHITECTURE}") diff --git a/Rec/Allen/src/RunAllen.cpp b/Rec/Allen/src/RunAllen.cpp index ba0a3dcc733..45b791ea034 100644 --- a/Rec/Allen/src/RunAllen.cpp +++ b/Rec/Allen/src/RunAllen.cpp @@ -144,6 +144,7 @@ std::tuple RunAllen::operator()( // initialize RuntimeOptions RuntimeOptions runtime_options( banks_and_offsets[LHCb::RawBank::VP], + banks_and_offsets[LHCb::RawBank::VPRetinaCluster], banks_and_offsets[LHCb::RawBank::UT], banks_and_offsets[LHCb::RawBank::FTCluster], banks_and_offsets[LHCb::RawBank::Muon], diff --git a/Rec/Allen/src/RunAllen.h b/Rec/Allen/src/RunAllen.h index 00b2f52dd9c..6940b04c57f 100644 --- a/Rec/Allen/src/RunAllen.h +++ b/Rec/Allen/src/RunAllen.h @@ -59,6 +59,7 @@ private: Constants m_constants; std::set m_bankTypes = {LHCb::RawBank::ODIN, LHCb::RawBank::VP, + LHCb::RawBank::VPRetinaCluter, LHCb::RawBank::UT, LHCb::RawBank::FTCluster, LHCb::RawBank::Muon}; diff --git a/bindings/Allen.py b/bindings/Allen.py index 016d259c6ff..4b98e43e4b7 100755 --- a/bindings/Allen.py +++ b/bindings/Allen.py @@ -15,9 +15,7 @@ interpreter.Declare("#include
") interpreter.Declare("#include ") # Handle commandline arguments -parser = argparse.ArgumentParser( - usage=('usage: %(prog)s app' - ' ')) +parser = argparse.ArgumentParser() parser.add_argument("-f", dest="folder", default="../input/minbias") parser.add_argument( "-g", dest="det_folder", default="../input/detector_configuration/down") diff --git a/stream/GenerateConfiguration.cmake b/cmake/GenerateConfiguration.cmake similarity index 80% rename from stream/GenerateConfiguration.cmake rename to cmake/GenerateConfiguration.cmake index ca8b2994524..7cf7a463ff4 100644 --- a/stream/GenerateConfiguration.cmake +++ b/cmake/GenerateConfiguration.cmake @@ -8,11 +8,14 @@ set(ALGORITHMS_OUTPUTFILE ${SEQUENCE_DEFINITION_DIR}/algorithms.py) set(ALGORITHMS_GENERATION_SCRIPT ${CMAKE_SOURCE_DIR}/scripts/ParseAlgorithms.py) file(MAKE_DIRECTORY ${SEQUENCE_DEFINITION_DIR}) +# We need Python 3 +find_package (Python3 COMPONENTS Interpreter Development QUIET) + # We need to pass a custom LD_LIBRARY_PATH to point to a compatible clang version # TODO: Figure out if there is a cleaner way to do this set(CLANG10_LD_LIBRARY_PATH /cvmfs/sft.cern.ch/lcg/releases/clang/10.0.0-62e61/x86_64-centos7/lib:/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/lib:/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/lib64) -message(STATUS "Testing code generation with LLVM") +message(STATUS "Generating sequence using LLVM") # From CMake on execute_process: # "If a sequential execution of multiple commands is required, use multiple execute_process() calls with a single COMMAND argument." @@ -29,20 +32,9 @@ execute_process(COMMAND python3 ${SEQUENCE}.py WORKING_DIRECTORY ${PROJECT_SEQUENCE_DIR} RESULT_VARIABLE ALGORITHMS_GENERATION_RESULT_3) -if(${ALGORITHMS_GENERATION_RESULT_0} EQUAL 1 OR ${ALGORITHMS_GENERATION_RESULT_1} EQUAL 1 OR - ${ALGORITHMS_GENERATION_RESULT_2} EQUAL 1 OR ${ALGORITHMS_GENERATION_RESULT_3} EQUAL 1) - message(WARNING "Testing code generation with LLVM - Failed. CVMFS (sft.cern.ch) or clang >= 9.0.0 are required to be able to generate configurations.") - add_custom_command( - OUTPUT "${PROJECT_BINARY_DIR}/Sequence.json" - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.h" "${PROJECT_BINARY_DIR}/configuration/sequences/ConfiguredSequence.h" && - ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.json" "${PROJECT_BINARY_DIR}/Sequence.json" - WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" - DEPENDS "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.h" - COMMENT "Configuring sequence ${SEQUENCE}" - VERBATIM - ) -else() - message(STATUS "Testing code generation with LLVM - Success") +if(Python3_FOUND AND ${ALGORITHMS_GENERATION_RESULT_0} EQUAL 0 AND ${ALGORITHMS_GENERATION_RESULT_1} EQUAL 0 AND + ${ALGORITHMS_GENERATION_RESULT_2} EQUAL 0 AND ${ALGORITHMS_GENERATION_RESULT_3} EQUAL 0) + message(STATUS "Sequence generation with LLVM - Success") add_custom_command( OUTPUT "${PROJECT_BINARY_DIR}/Sequence.json" COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/configuration/sequences/definitions" "${SEQUENCE_DEFINITION_DIR}" && @@ -54,4 +46,20 @@ else() DEPENDS "${CMAKE_SOURCE_DIR}/configuration/sequences/${SEQUENCE}.py" WORKING_DIRECTORY ${PROJECT_SEQUENCE_DIR} ) -endif() \ No newline at end of file +else() + if (Python3_FOUND) + message(WARNING "Sequence generation with LLVM - Failed. CVMFS (sft.cern.ch) or clang >= 9.0.0 are required to be able to generate configurations.") + message(WARNING "A pregenerated sequence will be used instead.") + else() + message(WARNING "Failed to find Python 3. Python 3 AND (CVMFS (sft.cern.ch) OR clang >= 9.0.0) are required to be able to generate configurations.") + endif() + add_custom_command( + OUTPUT "${PROJECT_BINARY_DIR}/Sequence.json" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.h" "${PROJECT_BINARY_DIR}/configuration/sequences/ConfiguredSequence.h" && + ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.json" "${PROJECT_BINARY_DIR}/Sequence.json" + WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" + DEPENDS "${CMAKE_SOURCE_DIR}/configuration/pregenerated/${SEQUENCE}.h" + COMMENT "Configuring sequence ${SEQUENCE}" + VERBATIM + ) +endif() diff --git a/TargetArch.cmake b/cmake/TargetArch.cmake similarity index 100% rename from TargetArch.cmake rename to cmake/TargetArch.cmake diff --git a/configuration/constants/HLT1_NoUTCut.json b/configuration/constants/HLT1_NoUTCut.json index 24e72e19d90..ab1829f943c 100644 --- a/configuration/constants/HLT1_NoUTCut.json +++ b/configuration/constants/HLT1_NoUTCut.json @@ -1,5 +1,10 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "ut_banks": {"bank_type": "UT"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, "ut_search_windows_t": {"min_momentum": "3000.0", "min_pt": "0.0"}, "compass_ut_t": {"min_momentum_final": "0.0", "min_pt_final": "0.0", "max_considered_before_found": "16"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/forward.h b/configuration/pregenerated/forward.h index 2fac4f246b0..f03198c2364 100644 --- a/configuration/pregenerated/forward.h +++ b/configuration/pregenerated/forward.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -55,2702 +60,181 @@ #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/forward.json b/configuration/pregenerated/forward.json index 10e6958c99d..37a38d834e0 100644 --- a/configuration/pregenerated/forward.json +++ b/configuration/pregenerated/forward.json @@ -1,5 +1,11 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, + "scifi_banks": {"bank_type": "FTCluster"}, "configured_lines": [] } diff --git a/configuration/pregenerated/hlt1_pp_default.h b/configuration/pregenerated/hlt1_pp_default.h index fad9fa8c564..7480250117f 100644 --- a/configuration/pregenerated/hlt1_pp_default.h +++ b/configuration/pregenerated/hlt1_pp_default.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -54,6 +59,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -96,3782 +102,250 @@ #include "../../cuda/selections/lines/include/D2PiPiLine.cuh" #include "../../cuda/selections/lines/include/D2KKLine.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t, - run_hlt1::Parameters::dev_odin_raw_input_t, - run_postscale::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t, - run_hlt1::Parameters::dev_odin_raw_input_offsets_t, - run_postscale::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t, - velo_pv_ip::Parameters::host_number_of_selected_events_t, - kalman_velo_only::Parameters::host_number_of_selected_events_t, - kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, - FilterTracks::Parameters::host_number_of_selected_events_t, - VertexFit::Parameters::host_number_of_selected_events_t, - run_hlt1::Parameters::host_number_of_selected_events_t, - run_postscale::Parameters::host_number_of_selected_events_t, - prepare_decisions::Parameters::host_number_of_selected_events_t, - prepare_raw_banks::Parameters::host_number_of_selected_events_t, - package_sel_reports::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t, - run_hlt1::Parameters::dev_event_list_t, - run_postscale::Parameters::dev_event_list_t, - prepare_decisions::Parameters::dev_event_list_t, - prepare_raw_banks::Parameters::dev_event_list_t, - package_sel_reports::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, - velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, - kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, - run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, - prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, - velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t, - kalman_velo_only::Parameters::dev_velo_track_hits_t, - prepare_decisions::Parameters::dev_velo_track_hits_t, - prepare_raw_banks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, - velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, - FilterTracks::Parameters::dev_multi_fit_vertices_t, - VertexFit::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, - FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, - VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, - prepare_decisions::Parameters::dev_offsets_ut_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, - prepare_decisions::Parameters::dev_ut_track_hits_t, - prepare_raw_banks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t, - kalman_velo_only::Parameters::dev_ut_qop_t, - prepare_decisions::Parameters::dev_ut_qop_t, - prepare_raw_banks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, - kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, - prepare_decisions::Parameters::dev_ut_track_velo_indices_t, - prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, - run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t, - kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, - kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, - FilterTracks::Parameters::dev_offsets_forward_tracks_t, - VertexFit::Parameters::dev_offsets_forward_tracks_t, - run_hlt1::Parameters::dev_offsets_forward_tracks_t, - run_postscale::Parameters::dev_offsets_forward_tracks_t, - prepare_decisions::Parameters::dev_offsets_forward_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, - package_sel_reports::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number, - kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, - kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, - FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, - VertexFit::Parameters::dev_offsets_scifi_track_hit_number, - prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, - prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, - prepare_decisions::Parameters::dev_scifi_track_hits_t, - prepare_raw_banks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, - is_muon::Parameters::dev_scifi_qop_t, - kalman_velo_only::Parameters::dev_scifi_qop_t, - kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, - FilterTracks::Parameters::dev_scifi_qop_t, - VertexFit::Parameters::dev_scifi_qop_t, - prepare_decisions::Parameters::dev_scifi_qop_t, - prepare_raw_banks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t, - kalman_velo_only::Parameters::dev_scifi_states_t, - kalman_pv_ipchi2::Parameters::dev_scifi_states_t, - FilterTracks::Parameters::dev_scifi_states_t, - VertexFit::Parameters::dev_scifi_states_t, - prepare_decisions::Parameters::dev_scifi_states_t, - prepare_raw_banks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t, - kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, - kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, - FilterTracks::Parameters::dev_scifi_track_ut_indices_t, - VertexFit::Parameters::dev_scifi_track_ut_indices_t, - prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, - prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; -struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { - constexpr static auto name {"dev_velo_pv_ip_t"}; - size_t size; - char* offset; -}; -struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, - kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, - FilterTracks::Parameters::dev_kf_tracks_t, - VertexFit::Parameters::dev_kf_tracks_t, - run_hlt1::Parameters::dev_kf_tracks_t, - prepare_decisions::Parameters::dev_kf_tracks_t, - prepare_raw_banks::Parameters::dev_kf_tracks_t { - constexpr static auto name {"dev_kf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, - FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, - VertexFit::Parameters::dev_kalman_pv_ipchi2_t { - constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; - size_t size; - char* offset; -}; -struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sv_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { - constexpr static auto name {"dev_svs_trk1_idx_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { - constexpr static auto name {"dev_svs_trk2_idx_t"}; - size_t size; - char* offset; -}; -struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - VertexFit::Parameters::host_number_of_svs_t, - run_hlt1::Parameters::host_number_of_svs_t, - prepare_decisions::Parameters::host_number_of_svs_t { - constexpr static auto name {"host_number_of_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - VertexFit::Parameters::dev_sv_offsets_t, - run_hlt1::Parameters::dev_sv_offsets_t, - run_postscale::Parameters::dev_sv_offsets_t, - prepare_decisions::Parameters::dev_sv_offsets_t, - prepare_raw_banks::Parameters::dev_sv_offsets_t { - constexpr static auto name {"dev_sv_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, - run_hlt1::Parameters::dev_consolidated_svs_t, - prepare_decisions::Parameters::dev_consolidated_svs_t, - prepare_raw_banks::Parameters::dev_consolidated_svs_t { - constexpr static auto name {"dev_consolidated_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, - run_postscale::Parameters::dev_sel_results_t, - prepare_decisions::Parameters::dev_sel_results_t { - constexpr static auto name {"dev_sel_results_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, - run_postscale::Parameters::dev_sel_results_offsets_t, - prepare_decisions::Parameters::dev_sel_results_offsets_t { - constexpr static auto name {"dev_sel_results_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, - prepare_raw_banks::Parameters::dev_candidate_lists_t { - constexpr static auto name {"dev_candidate_lists_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, - prepare_raw_banks::Parameters::dev_candidate_counts_t { - constexpr static auto name {"dev_candidate_counts_t"}; - size_t size; - char* offset; -}; -struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { - constexpr static auto name {"dev_n_passing_decisions_t"}; - size_t size; - char* offset; -}; -struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, - prepare_raw_banks::Parameters::dev_n_svs_saved_t { - constexpr static auto name {"dev_n_svs_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, - prepare_raw_banks::Parameters::dev_n_tracks_saved_t { - constexpr static auto name {"dev_n_tracks_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, - prepare_raw_banks::Parameters::dev_n_hits_saved_t { - constexpr static auto name {"dev_n_hits_saved_t"}; - size_t size; - char* offset; -}; -struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, - prepare_raw_banks::Parameters::dev_saved_tracks_list_t { - constexpr static auto name {"dev_saved_tracks_list_t"}; - size_t size; - char* offset; -}; -struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, - prepare_raw_banks::Parameters::dev_saved_svs_list_t { - constexpr static auto name {"dev_saved_svs_list_t"}; - size_t size; - char* offset; -}; -struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, - prepare_raw_banks::Parameters::dev_dec_reports_t { - constexpr static auto name {"dev_dec_reports_t"}; - size_t size; - char* offset; -}; -struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, - prepare_raw_banks::Parameters::dev_save_track_t { - constexpr static auto name {"dev_save_track_t"}; - size_t size; - char* offset; -}; -struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { - constexpr static auto name {"dev_save_sv_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, - package_sel_reports::Parameters::dev_sel_rb_hits_t { - constexpr static auto name {"dev_sel_rb_hits_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, - package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { - constexpr static auto name {"dev_sel_rb_stdinfo_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, - package_sel_reports::Parameters::dev_sel_rb_objtyp_t { - constexpr static auto name {"dev_sel_rb_objtyp_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, - package_sel_reports::Parameters::dev_sel_rb_substr_t { - constexpr static auto name {"dev_sel_rb_substr_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sel_rep_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { - constexpr static auto name {"dev_passing_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - package_sel_reports::Parameters::host_number_of_sel_rep_words_t { - constexpr static auto name {"host_number_of_sel_rep_words_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - package_sel_reports::Parameters::dev_sel_rep_offsets_t { - constexpr static auto name {"dev_sel_rep_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { - constexpr static auto name {"dev_sel_rep_raw_banks_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t, run_hlt1::Parameters::dev_odin_raw_input_t, run_postscale::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, run_hlt1::Parameters::dev_odin_raw_input_offsets_t, run_postscale::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t, velo_pv_ip::Parameters::host_number_of_selected_events_t, kalman_velo_only::Parameters::host_number_of_selected_events_t, kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, FilterTracks::Parameters::host_number_of_selected_events_t, VertexFit::Parameters::host_number_of_selected_events_t, run_hlt1::Parameters::host_number_of_selected_events_t, run_postscale::Parameters::host_number_of_selected_events_t, prepare_decisions::Parameters::host_number_of_selected_events_t, prepare_raw_banks::Parameters::host_number_of_selected_events_t, package_sel_reports::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t, run_hlt1::Parameters::dev_event_list_t, run_postscale::Parameters::dev_event_list_t, prepare_decisions::Parameters::dev_event_list_t, prepare_raw_banks::Parameters::dev_event_list_t, package_sel_reports::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t, kalman_velo_only::Parameters::dev_velo_track_hits_t, prepare_decisions::Parameters::dev_velo_track_hits_t, prepare_raw_banks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, FilterTracks::Parameters::dev_multi_fit_vertices_t, VertexFit::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, prepare_decisions::Parameters::dev_offsets_ut_tracks_t, prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, prepare_decisions::Parameters::dev_ut_track_hits_t, prepare_raw_banks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t, kalman_velo_only::Parameters::dev_ut_qop_t, prepare_decisions::Parameters::dev_ut_qop_t, prepare_raw_banks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, prepare_decisions::Parameters::dev_ut_track_velo_indices_t, prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t, kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, FilterTracks::Parameters::dev_offsets_forward_tracks_t, VertexFit::Parameters::dev_offsets_forward_tracks_t, run_hlt1::Parameters::dev_offsets_forward_tracks_t, run_postscale::Parameters::dev_offsets_forward_tracks_t, prepare_decisions::Parameters::dev_offsets_forward_tracks_t, prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, package_sel_reports::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number, kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, VertexFit::Parameters::dev_offsets_scifi_track_hit_number, prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, prepare_decisions::Parameters::dev_scifi_track_hits_t, prepare_raw_banks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t, kalman_velo_only::Parameters::dev_scifi_qop_t, kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, FilterTracks::Parameters::dev_scifi_qop_t, VertexFit::Parameters::dev_scifi_qop_t, prepare_decisions::Parameters::dev_scifi_qop_t, prepare_raw_banks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t, kalman_velo_only::Parameters::dev_scifi_states_t, kalman_pv_ipchi2::Parameters::dev_scifi_states_t, FilterTracks::Parameters::dev_scifi_states_t, VertexFit::Parameters::dev_scifi_states_t, prepare_decisions::Parameters::dev_scifi_states_t, prepare_raw_banks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t, kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, FilterTracks::Parameters::dev_scifi_track_ut_indices_t, VertexFit::Parameters::dev_scifi_track_ut_indices_t, prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; +struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { constexpr static auto name {"dev_velo_pv_ip_t"}; size_t size; char* offset; }; +struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, FilterTracks::Parameters::dev_kf_tracks_t, VertexFit::Parameters::dev_kf_tracks_t, run_hlt1::Parameters::dev_kf_tracks_t, prepare_decisions::Parameters::dev_kf_tracks_t, prepare_raw_banks::Parameters::dev_kf_tracks_t { constexpr static auto name {"dev_kf_tracks_t"}; size_t size; char* offset; }; +struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, VertexFit::Parameters::dev_kalman_pv_ipchi2_t { constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; size_t size; char* offset; }; +struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sv_atomics_t"}; size_t size; char* offset; }; +struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { constexpr static auto name {"dev_svs_trk1_idx_t"}; size_t size; char* offset; }; +struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { constexpr static auto name {"dev_svs_trk2_idx_t"}; size_t size; char* offset; }; +struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, VertexFit::Parameters::host_number_of_svs_t, run_hlt1::Parameters::host_number_of_svs_t, prepare_decisions::Parameters::host_number_of_svs_t { constexpr static auto name {"host_number_of_svs_t"}; size_t size; char* offset; }; +struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, VertexFit::Parameters::dev_sv_offsets_t, run_hlt1::Parameters::dev_sv_offsets_t, run_postscale::Parameters::dev_sv_offsets_t, prepare_decisions::Parameters::dev_sv_offsets_t, prepare_raw_banks::Parameters::dev_sv_offsets_t { constexpr static auto name {"dev_sv_offsets_t"}; size_t size; char* offset; }; +struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, run_hlt1::Parameters::dev_consolidated_svs_t, prepare_decisions::Parameters::dev_consolidated_svs_t, prepare_raw_banks::Parameters::dev_consolidated_svs_t { constexpr static auto name {"dev_consolidated_svs_t"}; size_t size; char* offset; }; +struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, run_postscale::Parameters::dev_sel_results_t, prepare_decisions::Parameters::dev_sel_results_t { constexpr static auto name {"dev_sel_results_t"}; size_t size; char* offset; }; +struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, run_postscale::Parameters::dev_sel_results_offsets_t, prepare_decisions::Parameters::dev_sel_results_offsets_t { constexpr static auto name {"dev_sel_results_offsets_t"}; size_t size; char* offset; }; +struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, prepare_raw_banks::Parameters::dev_candidate_lists_t { constexpr static auto name {"dev_candidate_lists_t"}; size_t size; char* offset; }; +struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, prepare_raw_banks::Parameters::dev_candidate_counts_t { constexpr static auto name {"dev_candidate_counts_t"}; size_t size; char* offset; }; +struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { constexpr static auto name {"dev_n_passing_decisions_t"}; size_t size; char* offset; }; +struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, prepare_raw_banks::Parameters::dev_n_svs_saved_t { constexpr static auto name {"dev_n_svs_saved_t"}; size_t size; char* offset; }; +struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, prepare_raw_banks::Parameters::dev_n_tracks_saved_t { constexpr static auto name {"dev_n_tracks_saved_t"}; size_t size; char* offset; }; +struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, prepare_raw_banks::Parameters::dev_n_hits_saved_t { constexpr static auto name {"dev_n_hits_saved_t"}; size_t size; char* offset; }; +struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, prepare_raw_banks::Parameters::dev_saved_tracks_list_t { constexpr static auto name {"dev_saved_tracks_list_t"}; size_t size; char* offset; }; +struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, prepare_raw_banks::Parameters::dev_saved_svs_list_t { constexpr static auto name {"dev_saved_svs_list_t"}; size_t size; char* offset; }; +struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, prepare_raw_banks::Parameters::dev_dec_reports_t { constexpr static auto name {"dev_dec_reports_t"}; size_t size; char* offset; }; +struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, prepare_raw_banks::Parameters::dev_save_track_t { constexpr static auto name {"dev_save_track_t"}; size_t size; char* offset; }; +struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { constexpr static auto name {"dev_save_sv_t"}; size_t size; char* offset; }; +struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, package_sel_reports::Parameters::dev_sel_rb_hits_t { constexpr static auto name {"dev_sel_rb_hits_t"}; size_t size; char* offset; }; +struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { constexpr static auto name {"dev_sel_rb_stdinfo_t"}; size_t size; char* offset; }; +struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, package_sel_reports::Parameters::dev_sel_rb_objtyp_t { constexpr static auto name {"dev_sel_rb_objtyp_t"}; size_t size; char* offset; }; +struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, package_sel_reports::Parameters::dev_sel_rb_substr_t { constexpr static auto name {"dev_sel_rb_substr_t"}; size_t size; char* offset; }; +struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sel_rep_sizes_t"}; size_t size; char* offset; }; +struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { constexpr static auto name {"dev_passing_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, package_sel_reports::Parameters::host_number_of_sel_rep_words_t { constexpr static auto name {"host_number_of_sel_rep_words_t"}; size_t size; char* offset; }; +struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, package_sel_reports::Parameters::dev_sel_rep_offsets_t { constexpr static auto name {"dev_sel_rep_offsets_t"}; size_t size; char* offset; }; +struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { constexpr static auto name {"dev_sel_rep_raw_banks_t"}; size_t size; char* offset; }; -using configured_lines_t = std::tuple< - ErrorEvent::ErrorEvent_t, - PassThrough::PassThrough_t, - NoBeams::NoBeams_t, - BeamOne::BeamOne_t, - BeamTwo::BeamTwo_t, - BothBeams::BothBeams_t, - ODINNoBias::ODINNoBias_t, - ODINLumi::ODINLumi_t, - GECPassthrough::GECPassthrough_t, - VeloMicroBias::VeloMicroBias_t, - TrackMVA::TrackMVA_t, - TrackMuonMVA::TrackMuonMVA_t, - SingleHighPtMuon::SingleHighPtMuon_t, - LowPtMuon::LowPtMuon_t, - TwoTrackMVA::TwoTrackMVA_t, - DiMuonHighMass::DiMuonHighMass_t, - DiMuonLowMass::DiMuonLowMass_t, - LowPtDiMuon::LowPtDiMuon_t, - DiMuonSoft::DiMuonSoft_t, - D2KPi::D2KPi_t, - D2PiPi::D2PiPi_t, - D2KK::D2KK_t>; +using configured_lines_t = std::tuple; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>, - velo_pv_ip::velo_pv_ip_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_velo_pv_ip_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - '_', - 't'>, - kalman_velo_only::kalman_velo_only_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_velo_pv_ip_t, - dev_kf_tracks_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'o', - 'n', - 'l', - 'y', - '_', - 't'>, - kalman_pv_ipchi2::kalman_pv_ipchi2_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_is_muon_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - 'c', - 'h', - 'i', - '2', - '_', - 't'>, - FilterTracks::filter_tracks_t< - std::tuple< - host_number_of_selected_events_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_sv_atomics_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t>, - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's'>, - VertexFit::fit_secondary_vertices_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_svs_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t, - dev_sv_offsets_t, - dev_consolidated_svs_t>, - 'f', - 'i', - 't', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's', - '_', - 't'>, - run_hlt1::run_hlt1_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'h', - 'l', - 't', - '1', - '_', - 't'>, - run_postscale::run_postscale_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'p', - 'o', - 's', - 't', - 's', - 'c', - 'a', - 'l', - 'e', - '_', - 't'>, - prepare_decisions::prepare_decisions_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_passing_decisions_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_dec_reports_t, - dev_save_track_t, - dev_save_sv_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'i', - 's', - 'i', - 'o', - 'n', - 's', - '_', - 't'>, - prepare_raw_banks::prepare_raw_banks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_save_track_t, - dev_save_sv_t, - dev_dec_reports_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_sizes_t, - dev_passing_event_list_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 's'>, - package_sel_reports::package_sel_reports_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_sel_rep_words_t, - dev_event_list_t, - dev_offsets_forward_tracks_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_raw_banks_t, - dev_sel_rep_offsets_t>, - 'p', - 'a', - 'c', - 'k', - 'a', - 'g', - 'e', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 'o', - 'r', - 't', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'>, + velo_pv_ip::velo_pv_ip_t, 'v', 'e', 'l', 'o', '_', 'p', 'v', '_', 'i', 'p', '_', 't'>, + kalman_velo_only::kalman_velo_only_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'v', 'e', 'l', 'o', '_', 'o', 'n', 'l', 'y', '_', 't'>, + kalman_pv_ipchi2::kalman_pv_ipchi2_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'p', 'v', '_', 'i', 'p', 'c', 'h', 'i', '2', '_', 't'>, + FilterTracks::filter_tracks_t, 'f', 'i', 'l', 't', 'e', 'r', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's'>, + VertexFit::fit_secondary_vertices_t, 'f', 'i', 't', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's', '_', 't'>, + run_hlt1::run_hlt1_t, configured_lines_t, 'r', 'u', 'n', '_', 'h', 'l', 't', '1', '_', 't'>, + run_postscale::run_postscale_t, configured_lines_t, 'r', 'u', 'n', '_', 'p', 'o', 's', 't', 's', 'c', 'a', 'l', 'e', '_', 't'>, + prepare_decisions::prepare_decisions_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'd', 'e', 'c', 'i', 's', 'i', 'o', 'n', 's', '_', 't'>, + prepare_raw_banks::prepare_raw_banks_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 's'>, + package_sel_reports::package_sel_reports_t, 'p', 'a', 'c', 'k', 'a', 'g', 'e', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 'o', 'r', 't', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/hlt1_pp_default.json b/configuration/pregenerated/hlt1_pp_default.json index 101c8c89eb5..4ef4251ff04 100644 --- a/configuration/pregenerated/hlt1_pp_default.json +++ b/configuration/pregenerated/hlt1_pp_default.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/hlt1_pp_no_gec.h b/configuration/pregenerated/hlt1_pp_no_gec.h index 48ab3d286b5..3cd544f7c7d 100644 --- a/configuration/pregenerated/hlt1_pp_no_gec.h +++ b/configuration/pregenerated/hlt1_pp_no_gec.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/init_event_list/include/HostInitEventList.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -54,6 +59,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -96,3776 +102,249 @@ #include "../../cuda/selections/lines/include/D2PiPiLine.cuh" #include "../../cuda/selections/lines/include/D2KKLine.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t, - run_hlt1::Parameters::dev_odin_raw_input_t, - run_postscale::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t, - run_hlt1::Parameters::dev_odin_raw_input_offsets_t, - run_postscale::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_init_event_list::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_init_event_list::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t, - velo_pv_ip::Parameters::host_number_of_selected_events_t, - kalman_velo_only::Parameters::host_number_of_selected_events_t, - kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, - FilterTracks::Parameters::host_number_of_selected_events_t, - VertexFit::Parameters::host_number_of_selected_events_t, - run_hlt1::Parameters::host_number_of_selected_events_t, - run_postscale::Parameters::host_number_of_selected_events_t, - prepare_decisions::Parameters::host_number_of_selected_events_t, - prepare_raw_banks::Parameters::host_number_of_selected_events_t, - package_sel_reports::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_init_event_list::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t, - run_hlt1::Parameters::dev_event_list_t, - run_postscale::Parameters::dev_event_list_t, - prepare_decisions::Parameters::dev_event_list_t, - prepare_raw_banks::Parameters::dev_event_list_t, - package_sel_reports::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, - velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, - kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, - run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, - prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, - velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t, - kalman_velo_only::Parameters::dev_velo_track_hits_t, - prepare_decisions::Parameters::dev_velo_track_hits_t, - prepare_raw_banks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, - velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, - FilterTracks::Parameters::dev_multi_fit_vertices_t, - VertexFit::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, - FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, - VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, - prepare_decisions::Parameters::dev_offsets_ut_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, - prepare_decisions::Parameters::dev_ut_track_hits_t, - prepare_raw_banks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t, - kalman_velo_only::Parameters::dev_ut_qop_t, - prepare_decisions::Parameters::dev_ut_qop_t, - prepare_raw_banks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, - kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, - prepare_decisions::Parameters::dev_ut_track_velo_indices_t, - prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, - run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t, - kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, - kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, - FilterTracks::Parameters::dev_offsets_forward_tracks_t, - VertexFit::Parameters::dev_offsets_forward_tracks_t, - run_hlt1::Parameters::dev_offsets_forward_tracks_t, - run_postscale::Parameters::dev_offsets_forward_tracks_t, - prepare_decisions::Parameters::dev_offsets_forward_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, - package_sel_reports::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number, - kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, - kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, - FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, - VertexFit::Parameters::dev_offsets_scifi_track_hit_number, - prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, - prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, - prepare_decisions::Parameters::dev_scifi_track_hits_t, - prepare_raw_banks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, - is_muon::Parameters::dev_scifi_qop_t, - kalman_velo_only::Parameters::dev_scifi_qop_t, - kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, - FilterTracks::Parameters::dev_scifi_qop_t, - VertexFit::Parameters::dev_scifi_qop_t, - prepare_decisions::Parameters::dev_scifi_qop_t, - prepare_raw_banks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t, - kalman_velo_only::Parameters::dev_scifi_states_t, - kalman_pv_ipchi2::Parameters::dev_scifi_states_t, - FilterTracks::Parameters::dev_scifi_states_t, - VertexFit::Parameters::dev_scifi_states_t, - prepare_decisions::Parameters::dev_scifi_states_t, - prepare_raw_banks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t, - kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, - kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, - FilterTracks::Parameters::dev_scifi_track_ut_indices_t, - VertexFit::Parameters::dev_scifi_track_ut_indices_t, - prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, - prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; -struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { - constexpr static auto name {"dev_velo_pv_ip_t"}; - size_t size; - char* offset; -}; -struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, - kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, - FilterTracks::Parameters::dev_kf_tracks_t, - VertexFit::Parameters::dev_kf_tracks_t, - run_hlt1::Parameters::dev_kf_tracks_t, - prepare_decisions::Parameters::dev_kf_tracks_t, - prepare_raw_banks::Parameters::dev_kf_tracks_t { - constexpr static auto name {"dev_kf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, - FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, - VertexFit::Parameters::dev_kalman_pv_ipchi2_t { - constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; - size_t size; - char* offset; -}; -struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sv_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { - constexpr static auto name {"dev_svs_trk1_idx_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { - constexpr static auto name {"dev_svs_trk2_idx_t"}; - size_t size; - char* offset; -}; -struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - VertexFit::Parameters::host_number_of_svs_t, - run_hlt1::Parameters::host_number_of_svs_t, - prepare_decisions::Parameters::host_number_of_svs_t { - constexpr static auto name {"host_number_of_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - VertexFit::Parameters::dev_sv_offsets_t, - run_hlt1::Parameters::dev_sv_offsets_t, - run_postscale::Parameters::dev_sv_offsets_t, - prepare_decisions::Parameters::dev_sv_offsets_t, - prepare_raw_banks::Parameters::dev_sv_offsets_t { - constexpr static auto name {"dev_sv_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, - run_hlt1::Parameters::dev_consolidated_svs_t, - prepare_decisions::Parameters::dev_consolidated_svs_t, - prepare_raw_banks::Parameters::dev_consolidated_svs_t { - constexpr static auto name {"dev_consolidated_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, - run_postscale::Parameters::dev_sel_results_t, - prepare_decisions::Parameters::dev_sel_results_t { - constexpr static auto name {"dev_sel_results_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, - run_postscale::Parameters::dev_sel_results_offsets_t, - prepare_decisions::Parameters::dev_sel_results_offsets_t { - constexpr static auto name {"dev_sel_results_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, - prepare_raw_banks::Parameters::dev_candidate_lists_t { - constexpr static auto name {"dev_candidate_lists_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, - prepare_raw_banks::Parameters::dev_candidate_counts_t { - constexpr static auto name {"dev_candidate_counts_t"}; - size_t size; - char* offset; -}; -struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { - constexpr static auto name {"dev_n_passing_decisions_t"}; - size_t size; - char* offset; -}; -struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, - prepare_raw_banks::Parameters::dev_n_svs_saved_t { - constexpr static auto name {"dev_n_svs_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, - prepare_raw_banks::Parameters::dev_n_tracks_saved_t { - constexpr static auto name {"dev_n_tracks_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, - prepare_raw_banks::Parameters::dev_n_hits_saved_t { - constexpr static auto name {"dev_n_hits_saved_t"}; - size_t size; - char* offset; -}; -struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, - prepare_raw_banks::Parameters::dev_saved_tracks_list_t { - constexpr static auto name {"dev_saved_tracks_list_t"}; - size_t size; - char* offset; -}; -struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, - prepare_raw_banks::Parameters::dev_saved_svs_list_t { - constexpr static auto name {"dev_saved_svs_list_t"}; - size_t size; - char* offset; -}; -struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, - prepare_raw_banks::Parameters::dev_dec_reports_t { - constexpr static auto name {"dev_dec_reports_t"}; - size_t size; - char* offset; -}; -struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, - prepare_raw_banks::Parameters::dev_save_track_t { - constexpr static auto name {"dev_save_track_t"}; - size_t size; - char* offset; -}; -struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { - constexpr static auto name {"dev_save_sv_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, - package_sel_reports::Parameters::dev_sel_rb_hits_t { - constexpr static auto name {"dev_sel_rb_hits_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, - package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { - constexpr static auto name {"dev_sel_rb_stdinfo_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, - package_sel_reports::Parameters::dev_sel_rb_objtyp_t { - constexpr static auto name {"dev_sel_rb_objtyp_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, - package_sel_reports::Parameters::dev_sel_rb_substr_t { - constexpr static auto name {"dev_sel_rb_substr_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sel_rep_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { - constexpr static auto name {"dev_passing_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - package_sel_reports::Parameters::host_number_of_sel_rep_words_t { - constexpr static auto name {"host_number_of_sel_rep_words_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - package_sel_reports::Parameters::dev_sel_rep_offsets_t { - constexpr static auto name {"dev_sel_rep_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { - constexpr static auto name {"dev_sel_rep_raw_banks_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t, run_hlt1::Parameters::dev_odin_raw_input_t, run_postscale::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, run_hlt1::Parameters::dev_odin_raw_input_offsets_t, run_postscale::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_init_event_list::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_init_event_list::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t, velo_pv_ip::Parameters::host_number_of_selected_events_t, kalman_velo_only::Parameters::host_number_of_selected_events_t, kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, FilterTracks::Parameters::host_number_of_selected_events_t, VertexFit::Parameters::host_number_of_selected_events_t, run_hlt1::Parameters::host_number_of_selected_events_t, run_postscale::Parameters::host_number_of_selected_events_t, prepare_decisions::Parameters::host_number_of_selected_events_t, prepare_raw_banks::Parameters::host_number_of_selected_events_t, package_sel_reports::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_init_event_list::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t, run_hlt1::Parameters::dev_event_list_t, run_postscale::Parameters::dev_event_list_t, prepare_decisions::Parameters::dev_event_list_t, prepare_raw_banks::Parameters::dev_event_list_t, package_sel_reports::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t, kalman_velo_only::Parameters::dev_velo_track_hits_t, prepare_decisions::Parameters::dev_velo_track_hits_t, prepare_raw_banks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, FilterTracks::Parameters::dev_multi_fit_vertices_t, VertexFit::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, prepare_decisions::Parameters::dev_offsets_ut_tracks_t, prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, prepare_decisions::Parameters::dev_ut_track_hits_t, prepare_raw_banks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t, kalman_velo_only::Parameters::dev_ut_qop_t, prepare_decisions::Parameters::dev_ut_qop_t, prepare_raw_banks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, prepare_decisions::Parameters::dev_ut_track_velo_indices_t, prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t, kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, FilterTracks::Parameters::dev_offsets_forward_tracks_t, VertexFit::Parameters::dev_offsets_forward_tracks_t, run_hlt1::Parameters::dev_offsets_forward_tracks_t, run_postscale::Parameters::dev_offsets_forward_tracks_t, prepare_decisions::Parameters::dev_offsets_forward_tracks_t, prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, package_sel_reports::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number, kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, VertexFit::Parameters::dev_offsets_scifi_track_hit_number, prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, prepare_decisions::Parameters::dev_scifi_track_hits_t, prepare_raw_banks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t, kalman_velo_only::Parameters::dev_scifi_qop_t, kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, FilterTracks::Parameters::dev_scifi_qop_t, VertexFit::Parameters::dev_scifi_qop_t, prepare_decisions::Parameters::dev_scifi_qop_t, prepare_raw_banks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t, kalman_velo_only::Parameters::dev_scifi_states_t, kalman_pv_ipchi2::Parameters::dev_scifi_states_t, FilterTracks::Parameters::dev_scifi_states_t, VertexFit::Parameters::dev_scifi_states_t, prepare_decisions::Parameters::dev_scifi_states_t, prepare_raw_banks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t, kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, FilterTracks::Parameters::dev_scifi_track_ut_indices_t, VertexFit::Parameters::dev_scifi_track_ut_indices_t, prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; +struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { constexpr static auto name {"dev_velo_pv_ip_t"}; size_t size; char* offset; }; +struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, FilterTracks::Parameters::dev_kf_tracks_t, VertexFit::Parameters::dev_kf_tracks_t, run_hlt1::Parameters::dev_kf_tracks_t, prepare_decisions::Parameters::dev_kf_tracks_t, prepare_raw_banks::Parameters::dev_kf_tracks_t { constexpr static auto name {"dev_kf_tracks_t"}; size_t size; char* offset; }; +struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, VertexFit::Parameters::dev_kalman_pv_ipchi2_t { constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; size_t size; char* offset; }; +struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sv_atomics_t"}; size_t size; char* offset; }; +struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { constexpr static auto name {"dev_svs_trk1_idx_t"}; size_t size; char* offset; }; +struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { constexpr static auto name {"dev_svs_trk2_idx_t"}; size_t size; char* offset; }; +struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, VertexFit::Parameters::host_number_of_svs_t, run_hlt1::Parameters::host_number_of_svs_t, prepare_decisions::Parameters::host_number_of_svs_t { constexpr static auto name {"host_number_of_svs_t"}; size_t size; char* offset; }; +struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, VertexFit::Parameters::dev_sv_offsets_t, run_hlt1::Parameters::dev_sv_offsets_t, run_postscale::Parameters::dev_sv_offsets_t, prepare_decisions::Parameters::dev_sv_offsets_t, prepare_raw_banks::Parameters::dev_sv_offsets_t { constexpr static auto name {"dev_sv_offsets_t"}; size_t size; char* offset; }; +struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, run_hlt1::Parameters::dev_consolidated_svs_t, prepare_decisions::Parameters::dev_consolidated_svs_t, prepare_raw_banks::Parameters::dev_consolidated_svs_t { constexpr static auto name {"dev_consolidated_svs_t"}; size_t size; char* offset; }; +struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, run_postscale::Parameters::dev_sel_results_t, prepare_decisions::Parameters::dev_sel_results_t { constexpr static auto name {"dev_sel_results_t"}; size_t size; char* offset; }; +struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, run_postscale::Parameters::dev_sel_results_offsets_t, prepare_decisions::Parameters::dev_sel_results_offsets_t { constexpr static auto name {"dev_sel_results_offsets_t"}; size_t size; char* offset; }; +struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, prepare_raw_banks::Parameters::dev_candidate_lists_t { constexpr static auto name {"dev_candidate_lists_t"}; size_t size; char* offset; }; +struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, prepare_raw_banks::Parameters::dev_candidate_counts_t { constexpr static auto name {"dev_candidate_counts_t"}; size_t size; char* offset; }; +struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { constexpr static auto name {"dev_n_passing_decisions_t"}; size_t size; char* offset; }; +struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, prepare_raw_banks::Parameters::dev_n_svs_saved_t { constexpr static auto name {"dev_n_svs_saved_t"}; size_t size; char* offset; }; +struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, prepare_raw_banks::Parameters::dev_n_tracks_saved_t { constexpr static auto name {"dev_n_tracks_saved_t"}; size_t size; char* offset; }; +struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, prepare_raw_banks::Parameters::dev_n_hits_saved_t { constexpr static auto name {"dev_n_hits_saved_t"}; size_t size; char* offset; }; +struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, prepare_raw_banks::Parameters::dev_saved_tracks_list_t { constexpr static auto name {"dev_saved_tracks_list_t"}; size_t size; char* offset; }; +struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, prepare_raw_banks::Parameters::dev_saved_svs_list_t { constexpr static auto name {"dev_saved_svs_list_t"}; size_t size; char* offset; }; +struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, prepare_raw_banks::Parameters::dev_dec_reports_t { constexpr static auto name {"dev_dec_reports_t"}; size_t size; char* offset; }; +struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, prepare_raw_banks::Parameters::dev_save_track_t { constexpr static auto name {"dev_save_track_t"}; size_t size; char* offset; }; +struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { constexpr static auto name {"dev_save_sv_t"}; size_t size; char* offset; }; +struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, package_sel_reports::Parameters::dev_sel_rb_hits_t { constexpr static auto name {"dev_sel_rb_hits_t"}; size_t size; char* offset; }; +struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { constexpr static auto name {"dev_sel_rb_stdinfo_t"}; size_t size; char* offset; }; +struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, package_sel_reports::Parameters::dev_sel_rb_objtyp_t { constexpr static auto name {"dev_sel_rb_objtyp_t"}; size_t size; char* offset; }; +struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, package_sel_reports::Parameters::dev_sel_rb_substr_t { constexpr static auto name {"dev_sel_rb_substr_t"}; size_t size; char* offset; }; +struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sel_rep_sizes_t"}; size_t size; char* offset; }; +struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { constexpr static auto name {"dev_passing_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, package_sel_reports::Parameters::host_number_of_sel_rep_words_t { constexpr static auto name {"host_number_of_sel_rep_words_t"}; size_t size; char* offset; }; +struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, package_sel_reports::Parameters::dev_sel_rep_offsets_t { constexpr static auto name {"dev_sel_rep_offsets_t"}; size_t size; char* offset; }; +struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { constexpr static auto name {"dev_sel_rep_raw_banks_t"}; size_t size; char* offset; }; -using configured_lines_t = std::tuple< - ErrorEvent::ErrorEvent_t, - PassThrough::PassThrough_t, - NoBeams::NoBeams_t, - BeamOne::BeamOne_t, - BeamTwo::BeamTwo_t, - BothBeams::BothBeams_t, - ODINNoBias::ODINNoBias_t, - ODINLumi::ODINLumi_t, - GECPassthrough::GECPassthrough_t, - VeloMicroBias::VeloMicroBias_t, - TrackMVA::TrackMVA_t, - TrackMuonMVA::TrackMuonMVA_t, - SingleHighPtMuon::SingleHighPtMuon_t, - LowPtMuon::LowPtMuon_t, - TwoTrackMVA::TwoTrackMVA_t, - DiMuonHighMass::DiMuonHighMass_t, - DiMuonLowMass::DiMuonLowMass_t, - LowPtDiMuon::LowPtDiMuon_t, - DiMuonSoft::DiMuonSoft_t, - D2KPi::D2KPi_t, - D2PiPi::D2PiPi_t, - D2KK::D2KK_t>; +using configured_lines_t = std::tuple; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_init_event_list::host_init_event_list_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'i', - 'n', - 'i', - 't', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'l', - 'i', - 's', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>, - velo_pv_ip::velo_pv_ip_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_velo_pv_ip_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - '_', - 't'>, - kalman_velo_only::kalman_velo_only_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_velo_pv_ip_t, - dev_kf_tracks_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'o', - 'n', - 'l', - 'y', - '_', - 't'>, - kalman_pv_ipchi2::kalman_pv_ipchi2_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_is_muon_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - 'c', - 'h', - 'i', - '2', - '_', - 't'>, - FilterTracks::filter_tracks_t< - std::tuple< - host_number_of_selected_events_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_sv_atomics_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t>, - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's'>, - VertexFit::fit_secondary_vertices_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_svs_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t, - dev_sv_offsets_t, - dev_consolidated_svs_t>, - 'f', - 'i', - 't', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's', - '_', - 't'>, - run_hlt1::run_hlt1_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'h', - 'l', - 't', - '1', - '_', - 't'>, - run_postscale::run_postscale_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'p', - 'o', - 's', - 't', - 's', - 'c', - 'a', - 'l', - 'e', - '_', - 't'>, - prepare_decisions::prepare_decisions_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_passing_decisions_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_dec_reports_t, - dev_save_track_t, - dev_save_sv_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'i', - 's', - 'i', - 'o', - 'n', - 's', - '_', - 't'>, - prepare_raw_banks::prepare_raw_banks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_save_track_t, - dev_save_sv_t, - dev_dec_reports_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_sizes_t, - dev_passing_event_list_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 's'>, - package_sel_reports::package_sel_reports_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_sel_rep_words_t, - dev_event_list_t, - dev_offsets_forward_tracks_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_raw_banks_t, - dev_sel_rep_offsets_t>, - 'p', - 'a', - 'c', - 'k', - 'a', - 'g', - 'e', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 'o', - 'r', - 't', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_init_event_list::host_init_event_list_t, 'h', 'o', 's', 't', '_', 'i', 'n', 'i', 't', '_', 'e', 'v', 'e', 'n', 't', '_', 'l', 'i', 's', 't', '_', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'>, + velo_pv_ip::velo_pv_ip_t, 'v', 'e', 'l', 'o', '_', 'p', 'v', '_', 'i', 'p', '_', 't'>, + kalman_velo_only::kalman_velo_only_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'v', 'e', 'l', 'o', '_', 'o', 'n', 'l', 'y', '_', 't'>, + kalman_pv_ipchi2::kalman_pv_ipchi2_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'p', 'v', '_', 'i', 'p', 'c', 'h', 'i', '2', '_', 't'>, + FilterTracks::filter_tracks_t, 'f', 'i', 'l', 't', 'e', 'r', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's'>, + VertexFit::fit_secondary_vertices_t, 'f', 'i', 't', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's', '_', 't'>, + run_hlt1::run_hlt1_t, configured_lines_t, 'r', 'u', 'n', '_', 'h', 'l', 't', '1', '_', 't'>, + run_postscale::run_postscale_t, configured_lines_t, 'r', 'u', 'n', '_', 'p', 'o', 's', 't', 's', 'c', 'a', 'l', 'e', '_', 't'>, + prepare_decisions::prepare_decisions_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'd', 'e', 'c', 'i', 's', 'i', 'o', 'n', 's', '_', 't'>, + prepare_raw_banks::prepare_raw_banks_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 's'>, + package_sel_reports::package_sel_reports_t, 'p', 'a', 'c', 'k', 'a', 'g', 'e', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 'o', 'r', 't', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/hlt1_pp_no_gec.json b/configuration/pregenerated/hlt1_pp_no_gec.json index 101c8c89eb5..4ef4251ff04 100644 --- a/configuration/pregenerated/hlt1_pp_no_gec.json +++ b/configuration/pregenerated/hlt1_pp_no_gec.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.h b/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.h index 48ab3d286b5..3cd544f7c7d 100644 --- a/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.h +++ b/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/init_event_list/include/HostInitEventList.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -54,6 +59,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -96,3776 +102,249 @@ #include "../../cuda/selections/lines/include/D2PiPiLine.cuh" #include "../../cuda/selections/lines/include/D2KKLine.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t, - run_hlt1::Parameters::dev_odin_raw_input_t, - run_postscale::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t, - run_hlt1::Parameters::dev_odin_raw_input_offsets_t, - run_postscale::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_init_event_list::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_init_event_list::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t, - velo_pv_ip::Parameters::host_number_of_selected_events_t, - kalman_velo_only::Parameters::host_number_of_selected_events_t, - kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, - FilterTracks::Parameters::host_number_of_selected_events_t, - VertexFit::Parameters::host_number_of_selected_events_t, - run_hlt1::Parameters::host_number_of_selected_events_t, - run_postscale::Parameters::host_number_of_selected_events_t, - prepare_decisions::Parameters::host_number_of_selected_events_t, - prepare_raw_banks::Parameters::host_number_of_selected_events_t, - package_sel_reports::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_init_event_list::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t, - run_hlt1::Parameters::dev_event_list_t, - run_postscale::Parameters::dev_event_list_t, - prepare_decisions::Parameters::dev_event_list_t, - prepare_raw_banks::Parameters::dev_event_list_t, - package_sel_reports::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, - velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, - kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, - run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, - prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, - velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t, - kalman_velo_only::Parameters::dev_velo_track_hits_t, - prepare_decisions::Parameters::dev_velo_track_hits_t, - prepare_raw_banks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, - velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, - FilterTracks::Parameters::dev_multi_fit_vertices_t, - VertexFit::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, - FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, - VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, - prepare_decisions::Parameters::dev_offsets_ut_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, - prepare_decisions::Parameters::dev_ut_track_hits_t, - prepare_raw_banks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t, - kalman_velo_only::Parameters::dev_ut_qop_t, - prepare_decisions::Parameters::dev_ut_qop_t, - prepare_raw_banks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, - kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, - prepare_decisions::Parameters::dev_ut_track_velo_indices_t, - prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, - run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t, - kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, - kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, - FilterTracks::Parameters::dev_offsets_forward_tracks_t, - VertexFit::Parameters::dev_offsets_forward_tracks_t, - run_hlt1::Parameters::dev_offsets_forward_tracks_t, - run_postscale::Parameters::dev_offsets_forward_tracks_t, - prepare_decisions::Parameters::dev_offsets_forward_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, - package_sel_reports::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number, - kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, - kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, - FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, - VertexFit::Parameters::dev_offsets_scifi_track_hit_number, - prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, - prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, - prepare_decisions::Parameters::dev_scifi_track_hits_t, - prepare_raw_banks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, - is_muon::Parameters::dev_scifi_qop_t, - kalman_velo_only::Parameters::dev_scifi_qop_t, - kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, - FilterTracks::Parameters::dev_scifi_qop_t, - VertexFit::Parameters::dev_scifi_qop_t, - prepare_decisions::Parameters::dev_scifi_qop_t, - prepare_raw_banks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t, - kalman_velo_only::Parameters::dev_scifi_states_t, - kalman_pv_ipchi2::Parameters::dev_scifi_states_t, - FilterTracks::Parameters::dev_scifi_states_t, - VertexFit::Parameters::dev_scifi_states_t, - prepare_decisions::Parameters::dev_scifi_states_t, - prepare_raw_banks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t, - kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, - kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, - FilterTracks::Parameters::dev_scifi_track_ut_indices_t, - VertexFit::Parameters::dev_scifi_track_ut_indices_t, - prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, - prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; -struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { - constexpr static auto name {"dev_velo_pv_ip_t"}; - size_t size; - char* offset; -}; -struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, - kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, - FilterTracks::Parameters::dev_kf_tracks_t, - VertexFit::Parameters::dev_kf_tracks_t, - run_hlt1::Parameters::dev_kf_tracks_t, - prepare_decisions::Parameters::dev_kf_tracks_t, - prepare_raw_banks::Parameters::dev_kf_tracks_t { - constexpr static auto name {"dev_kf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, - FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, - VertexFit::Parameters::dev_kalman_pv_ipchi2_t { - constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; - size_t size; - char* offset; -}; -struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sv_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { - constexpr static auto name {"dev_svs_trk1_idx_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { - constexpr static auto name {"dev_svs_trk2_idx_t"}; - size_t size; - char* offset; -}; -struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - VertexFit::Parameters::host_number_of_svs_t, - run_hlt1::Parameters::host_number_of_svs_t, - prepare_decisions::Parameters::host_number_of_svs_t { - constexpr static auto name {"host_number_of_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - VertexFit::Parameters::dev_sv_offsets_t, - run_hlt1::Parameters::dev_sv_offsets_t, - run_postscale::Parameters::dev_sv_offsets_t, - prepare_decisions::Parameters::dev_sv_offsets_t, - prepare_raw_banks::Parameters::dev_sv_offsets_t { - constexpr static auto name {"dev_sv_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, - run_hlt1::Parameters::dev_consolidated_svs_t, - prepare_decisions::Parameters::dev_consolidated_svs_t, - prepare_raw_banks::Parameters::dev_consolidated_svs_t { - constexpr static auto name {"dev_consolidated_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, - run_postscale::Parameters::dev_sel_results_t, - prepare_decisions::Parameters::dev_sel_results_t { - constexpr static auto name {"dev_sel_results_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, - run_postscale::Parameters::dev_sel_results_offsets_t, - prepare_decisions::Parameters::dev_sel_results_offsets_t { - constexpr static auto name {"dev_sel_results_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, - prepare_raw_banks::Parameters::dev_candidate_lists_t { - constexpr static auto name {"dev_candidate_lists_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, - prepare_raw_banks::Parameters::dev_candidate_counts_t { - constexpr static auto name {"dev_candidate_counts_t"}; - size_t size; - char* offset; -}; -struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { - constexpr static auto name {"dev_n_passing_decisions_t"}; - size_t size; - char* offset; -}; -struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, - prepare_raw_banks::Parameters::dev_n_svs_saved_t { - constexpr static auto name {"dev_n_svs_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, - prepare_raw_banks::Parameters::dev_n_tracks_saved_t { - constexpr static auto name {"dev_n_tracks_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, - prepare_raw_banks::Parameters::dev_n_hits_saved_t { - constexpr static auto name {"dev_n_hits_saved_t"}; - size_t size; - char* offset; -}; -struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, - prepare_raw_banks::Parameters::dev_saved_tracks_list_t { - constexpr static auto name {"dev_saved_tracks_list_t"}; - size_t size; - char* offset; -}; -struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, - prepare_raw_banks::Parameters::dev_saved_svs_list_t { - constexpr static auto name {"dev_saved_svs_list_t"}; - size_t size; - char* offset; -}; -struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, - prepare_raw_banks::Parameters::dev_dec_reports_t { - constexpr static auto name {"dev_dec_reports_t"}; - size_t size; - char* offset; -}; -struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, - prepare_raw_banks::Parameters::dev_save_track_t { - constexpr static auto name {"dev_save_track_t"}; - size_t size; - char* offset; -}; -struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { - constexpr static auto name {"dev_save_sv_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, - package_sel_reports::Parameters::dev_sel_rb_hits_t { - constexpr static auto name {"dev_sel_rb_hits_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, - package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { - constexpr static auto name {"dev_sel_rb_stdinfo_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, - package_sel_reports::Parameters::dev_sel_rb_objtyp_t { - constexpr static auto name {"dev_sel_rb_objtyp_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, - package_sel_reports::Parameters::dev_sel_rb_substr_t { - constexpr static auto name {"dev_sel_rb_substr_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sel_rep_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { - constexpr static auto name {"dev_passing_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - package_sel_reports::Parameters::host_number_of_sel_rep_words_t { - constexpr static auto name {"host_number_of_sel_rep_words_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - package_sel_reports::Parameters::dev_sel_rep_offsets_t { - constexpr static auto name {"dev_sel_rep_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { - constexpr static auto name {"dev_sel_rep_raw_banks_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t, run_hlt1::Parameters::dev_odin_raw_input_t, run_postscale::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, run_hlt1::Parameters::dev_odin_raw_input_offsets_t, run_postscale::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_init_event_list::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_init_event_list::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t, velo_pv_ip::Parameters::host_number_of_selected_events_t, kalman_velo_only::Parameters::host_number_of_selected_events_t, kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, FilterTracks::Parameters::host_number_of_selected_events_t, VertexFit::Parameters::host_number_of_selected_events_t, run_hlt1::Parameters::host_number_of_selected_events_t, run_postscale::Parameters::host_number_of_selected_events_t, prepare_decisions::Parameters::host_number_of_selected_events_t, prepare_raw_banks::Parameters::host_number_of_selected_events_t, package_sel_reports::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_init_event_list::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t, run_hlt1::Parameters::dev_event_list_t, run_postscale::Parameters::dev_event_list_t, prepare_decisions::Parameters::dev_event_list_t, prepare_raw_banks::Parameters::dev_event_list_t, package_sel_reports::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t, kalman_velo_only::Parameters::dev_velo_track_hits_t, prepare_decisions::Parameters::dev_velo_track_hits_t, prepare_raw_banks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, FilterTracks::Parameters::dev_multi_fit_vertices_t, VertexFit::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, prepare_decisions::Parameters::dev_offsets_ut_tracks_t, prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, prepare_decisions::Parameters::dev_ut_track_hits_t, prepare_raw_banks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t, kalman_velo_only::Parameters::dev_ut_qop_t, prepare_decisions::Parameters::dev_ut_qop_t, prepare_raw_banks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, prepare_decisions::Parameters::dev_ut_track_velo_indices_t, prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t, kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, FilterTracks::Parameters::dev_offsets_forward_tracks_t, VertexFit::Parameters::dev_offsets_forward_tracks_t, run_hlt1::Parameters::dev_offsets_forward_tracks_t, run_postscale::Parameters::dev_offsets_forward_tracks_t, prepare_decisions::Parameters::dev_offsets_forward_tracks_t, prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, package_sel_reports::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number, kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, VertexFit::Parameters::dev_offsets_scifi_track_hit_number, prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, prepare_decisions::Parameters::dev_scifi_track_hits_t, prepare_raw_banks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t, kalman_velo_only::Parameters::dev_scifi_qop_t, kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, FilterTracks::Parameters::dev_scifi_qop_t, VertexFit::Parameters::dev_scifi_qop_t, prepare_decisions::Parameters::dev_scifi_qop_t, prepare_raw_banks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t, kalman_velo_only::Parameters::dev_scifi_states_t, kalman_pv_ipchi2::Parameters::dev_scifi_states_t, FilterTracks::Parameters::dev_scifi_states_t, VertexFit::Parameters::dev_scifi_states_t, prepare_decisions::Parameters::dev_scifi_states_t, prepare_raw_banks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t, kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, FilterTracks::Parameters::dev_scifi_track_ut_indices_t, VertexFit::Parameters::dev_scifi_track_ut_indices_t, prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; +struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { constexpr static auto name {"dev_velo_pv_ip_t"}; size_t size; char* offset; }; +struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, FilterTracks::Parameters::dev_kf_tracks_t, VertexFit::Parameters::dev_kf_tracks_t, run_hlt1::Parameters::dev_kf_tracks_t, prepare_decisions::Parameters::dev_kf_tracks_t, prepare_raw_banks::Parameters::dev_kf_tracks_t { constexpr static auto name {"dev_kf_tracks_t"}; size_t size; char* offset; }; +struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, VertexFit::Parameters::dev_kalman_pv_ipchi2_t { constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; size_t size; char* offset; }; +struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sv_atomics_t"}; size_t size; char* offset; }; +struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { constexpr static auto name {"dev_svs_trk1_idx_t"}; size_t size; char* offset; }; +struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { constexpr static auto name {"dev_svs_trk2_idx_t"}; size_t size; char* offset; }; +struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, VertexFit::Parameters::host_number_of_svs_t, run_hlt1::Parameters::host_number_of_svs_t, prepare_decisions::Parameters::host_number_of_svs_t { constexpr static auto name {"host_number_of_svs_t"}; size_t size; char* offset; }; +struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, VertexFit::Parameters::dev_sv_offsets_t, run_hlt1::Parameters::dev_sv_offsets_t, run_postscale::Parameters::dev_sv_offsets_t, prepare_decisions::Parameters::dev_sv_offsets_t, prepare_raw_banks::Parameters::dev_sv_offsets_t { constexpr static auto name {"dev_sv_offsets_t"}; size_t size; char* offset; }; +struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, run_hlt1::Parameters::dev_consolidated_svs_t, prepare_decisions::Parameters::dev_consolidated_svs_t, prepare_raw_banks::Parameters::dev_consolidated_svs_t { constexpr static auto name {"dev_consolidated_svs_t"}; size_t size; char* offset; }; +struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, run_postscale::Parameters::dev_sel_results_t, prepare_decisions::Parameters::dev_sel_results_t { constexpr static auto name {"dev_sel_results_t"}; size_t size; char* offset; }; +struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, run_postscale::Parameters::dev_sel_results_offsets_t, prepare_decisions::Parameters::dev_sel_results_offsets_t { constexpr static auto name {"dev_sel_results_offsets_t"}; size_t size; char* offset; }; +struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, prepare_raw_banks::Parameters::dev_candidate_lists_t { constexpr static auto name {"dev_candidate_lists_t"}; size_t size; char* offset; }; +struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, prepare_raw_banks::Parameters::dev_candidate_counts_t { constexpr static auto name {"dev_candidate_counts_t"}; size_t size; char* offset; }; +struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { constexpr static auto name {"dev_n_passing_decisions_t"}; size_t size; char* offset; }; +struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, prepare_raw_banks::Parameters::dev_n_svs_saved_t { constexpr static auto name {"dev_n_svs_saved_t"}; size_t size; char* offset; }; +struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, prepare_raw_banks::Parameters::dev_n_tracks_saved_t { constexpr static auto name {"dev_n_tracks_saved_t"}; size_t size; char* offset; }; +struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, prepare_raw_banks::Parameters::dev_n_hits_saved_t { constexpr static auto name {"dev_n_hits_saved_t"}; size_t size; char* offset; }; +struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, prepare_raw_banks::Parameters::dev_saved_tracks_list_t { constexpr static auto name {"dev_saved_tracks_list_t"}; size_t size; char* offset; }; +struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, prepare_raw_banks::Parameters::dev_saved_svs_list_t { constexpr static auto name {"dev_saved_svs_list_t"}; size_t size; char* offset; }; +struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, prepare_raw_banks::Parameters::dev_dec_reports_t { constexpr static auto name {"dev_dec_reports_t"}; size_t size; char* offset; }; +struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, prepare_raw_banks::Parameters::dev_save_track_t { constexpr static auto name {"dev_save_track_t"}; size_t size; char* offset; }; +struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { constexpr static auto name {"dev_save_sv_t"}; size_t size; char* offset; }; +struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, package_sel_reports::Parameters::dev_sel_rb_hits_t { constexpr static auto name {"dev_sel_rb_hits_t"}; size_t size; char* offset; }; +struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { constexpr static auto name {"dev_sel_rb_stdinfo_t"}; size_t size; char* offset; }; +struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, package_sel_reports::Parameters::dev_sel_rb_objtyp_t { constexpr static auto name {"dev_sel_rb_objtyp_t"}; size_t size; char* offset; }; +struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, package_sel_reports::Parameters::dev_sel_rb_substr_t { constexpr static auto name {"dev_sel_rb_substr_t"}; size_t size; char* offset; }; +struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sel_rep_sizes_t"}; size_t size; char* offset; }; +struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { constexpr static auto name {"dev_passing_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, package_sel_reports::Parameters::host_number_of_sel_rep_words_t { constexpr static auto name {"host_number_of_sel_rep_words_t"}; size_t size; char* offset; }; +struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, package_sel_reports::Parameters::dev_sel_rep_offsets_t { constexpr static auto name {"dev_sel_rep_offsets_t"}; size_t size; char* offset; }; +struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { constexpr static auto name {"dev_sel_rep_raw_banks_t"}; size_t size; char* offset; }; -using configured_lines_t = std::tuple< - ErrorEvent::ErrorEvent_t, - PassThrough::PassThrough_t, - NoBeams::NoBeams_t, - BeamOne::BeamOne_t, - BeamTwo::BeamTwo_t, - BothBeams::BothBeams_t, - ODINNoBias::ODINNoBias_t, - ODINLumi::ODINLumi_t, - GECPassthrough::GECPassthrough_t, - VeloMicroBias::VeloMicroBias_t, - TrackMVA::TrackMVA_t, - TrackMuonMVA::TrackMuonMVA_t, - SingleHighPtMuon::SingleHighPtMuon_t, - LowPtMuon::LowPtMuon_t, - TwoTrackMVA::TwoTrackMVA_t, - DiMuonHighMass::DiMuonHighMass_t, - DiMuonLowMass::DiMuonLowMass_t, - LowPtDiMuon::LowPtDiMuon_t, - DiMuonSoft::DiMuonSoft_t, - D2KPi::D2KPi_t, - D2PiPi::D2PiPi_t, - D2KK::D2KK_t>; +using configured_lines_t = std::tuple; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_init_event_list::host_init_event_list_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'i', - 'n', - 'i', - 't', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'l', - 'i', - 's', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>, - velo_pv_ip::velo_pv_ip_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_velo_pv_ip_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - '_', - 't'>, - kalman_velo_only::kalman_velo_only_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_velo_pv_ip_t, - dev_kf_tracks_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'o', - 'n', - 'l', - 'y', - '_', - 't'>, - kalman_pv_ipchi2::kalman_pv_ipchi2_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_is_muon_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - 'c', - 'h', - 'i', - '2', - '_', - 't'>, - FilterTracks::filter_tracks_t< - std::tuple< - host_number_of_selected_events_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_sv_atomics_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t>, - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's'>, - VertexFit::fit_secondary_vertices_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_svs_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t, - dev_sv_offsets_t, - dev_consolidated_svs_t>, - 'f', - 'i', - 't', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's', - '_', - 't'>, - run_hlt1::run_hlt1_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'h', - 'l', - 't', - '1', - '_', - 't'>, - run_postscale::run_postscale_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'p', - 'o', - 's', - 't', - 's', - 'c', - 'a', - 'l', - 'e', - '_', - 't'>, - prepare_decisions::prepare_decisions_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_passing_decisions_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_dec_reports_t, - dev_save_track_t, - dev_save_sv_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'i', - 's', - 'i', - 'o', - 'n', - 's', - '_', - 't'>, - prepare_raw_banks::prepare_raw_banks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_save_track_t, - dev_save_sv_t, - dev_dec_reports_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_sizes_t, - dev_passing_event_list_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 's'>, - package_sel_reports::package_sel_reports_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_sel_rep_words_t, - dev_event_list_t, - dev_offsets_forward_tracks_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_raw_banks_t, - dev_sel_rep_offsets_t>, - 'p', - 'a', - 'c', - 'k', - 'a', - 'g', - 'e', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 'o', - 'r', - 't', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_init_event_list::host_init_event_list_t, 'h', 'o', 's', 't', '_', 'i', 'n', 'i', 't', '_', 'e', 'v', 'e', 'n', 't', '_', 'l', 'i', 's', 't', '_', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'>, + velo_pv_ip::velo_pv_ip_t, 'v', 'e', 'l', 'o', '_', 'p', 'v', '_', 'i', 'p', '_', 't'>, + kalman_velo_only::kalman_velo_only_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'v', 'e', 'l', 'o', '_', 'o', 'n', 'l', 'y', '_', 't'>, + kalman_pv_ipchi2::kalman_pv_ipchi2_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'p', 'v', '_', 'i', 'p', 'c', 'h', 'i', '2', '_', 't'>, + FilterTracks::filter_tracks_t, 'f', 'i', 'l', 't', 'e', 'r', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's'>, + VertexFit::fit_secondary_vertices_t, 'f', 'i', 't', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's', '_', 't'>, + run_hlt1::run_hlt1_t, configured_lines_t, 'r', 'u', 'n', '_', 'h', 'l', 't', '1', '_', 't'>, + run_postscale::run_postscale_t, configured_lines_t, 'r', 'u', 'n', '_', 'p', 'o', 's', 't', 's', 'c', 'a', 'l', 'e', '_', 't'>, + prepare_decisions::prepare_decisions_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'd', 'e', 'c', 'i', 's', 'i', 'o', 'n', 's', '_', 't'>, + prepare_raw_banks::prepare_raw_banks_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 's'>, + package_sel_reports::package_sel_reports_t, 'p', 'a', 'c', 'k', 'a', 'g', 'e', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 'o', 'r', 't', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.json b/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.json index 24e72e19d90..bcf371ef94d 100644 --- a/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.json +++ b/configuration/pregenerated/hlt1_pp_no_gec_no_ut_cut.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "3000.0", "min_pt": "0.0"}, "compass_ut_t": {"min_momentum_final": "0.0", "min_pt_final": "0.0", "max_considered_before_found": "16"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/hlt1_pp_no_ut_cut.h b/configuration/pregenerated/hlt1_pp_no_ut_cut.h index fad9fa8c564..7480250117f 100644 --- a/configuration/pregenerated/hlt1_pp_no_ut_cut.h +++ b/configuration/pregenerated/hlt1_pp_no_ut_cut.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -54,6 +59,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -96,3782 +102,250 @@ #include "../../cuda/selections/lines/include/D2PiPiLine.cuh" #include "../../cuda/selections/lines/include/D2KKLine.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t, - run_hlt1::Parameters::dev_odin_raw_input_t, - run_postscale::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t, - run_hlt1::Parameters::dev_odin_raw_input_offsets_t, - run_postscale::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t, - velo_pv_ip::Parameters::host_number_of_selected_events_t, - kalman_velo_only::Parameters::host_number_of_selected_events_t, - kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, - FilterTracks::Parameters::host_number_of_selected_events_t, - VertexFit::Parameters::host_number_of_selected_events_t, - run_hlt1::Parameters::host_number_of_selected_events_t, - run_postscale::Parameters::host_number_of_selected_events_t, - prepare_decisions::Parameters::host_number_of_selected_events_t, - prepare_raw_banks::Parameters::host_number_of_selected_events_t, - package_sel_reports::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t, - run_hlt1::Parameters::dev_event_list_t, - run_postscale::Parameters::dev_event_list_t, - prepare_decisions::Parameters::dev_event_list_t, - prepare_raw_banks::Parameters::dev_event_list_t, - package_sel_reports::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, - velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, - kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, - run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, - prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, - velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t, - kalman_velo_only::Parameters::dev_velo_track_hits_t, - prepare_decisions::Parameters::dev_velo_track_hits_t, - prepare_raw_banks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, - velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, - FilterTracks::Parameters::dev_multi_fit_vertices_t, - VertexFit::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, - FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, - VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, - prepare_decisions::Parameters::dev_offsets_ut_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, - prepare_decisions::Parameters::dev_ut_track_hits_t, - prepare_raw_banks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t, - kalman_velo_only::Parameters::dev_ut_qop_t, - prepare_decisions::Parameters::dev_ut_qop_t, - prepare_raw_banks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, - kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, - prepare_decisions::Parameters::dev_ut_track_velo_indices_t, - prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, - run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t, - kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, - kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, - FilterTracks::Parameters::dev_offsets_forward_tracks_t, - VertexFit::Parameters::dev_offsets_forward_tracks_t, - run_hlt1::Parameters::dev_offsets_forward_tracks_t, - run_postscale::Parameters::dev_offsets_forward_tracks_t, - prepare_decisions::Parameters::dev_offsets_forward_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, - package_sel_reports::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number, - kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, - kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, - FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, - VertexFit::Parameters::dev_offsets_scifi_track_hit_number, - prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, - prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, - prepare_decisions::Parameters::dev_scifi_track_hits_t, - prepare_raw_banks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, - is_muon::Parameters::dev_scifi_qop_t, - kalman_velo_only::Parameters::dev_scifi_qop_t, - kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, - FilterTracks::Parameters::dev_scifi_qop_t, - VertexFit::Parameters::dev_scifi_qop_t, - prepare_decisions::Parameters::dev_scifi_qop_t, - prepare_raw_banks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t, - kalman_velo_only::Parameters::dev_scifi_states_t, - kalman_pv_ipchi2::Parameters::dev_scifi_states_t, - FilterTracks::Parameters::dev_scifi_states_t, - VertexFit::Parameters::dev_scifi_states_t, - prepare_decisions::Parameters::dev_scifi_states_t, - prepare_raw_banks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t, - kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, - kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, - FilterTracks::Parameters::dev_scifi_track_ut_indices_t, - VertexFit::Parameters::dev_scifi_track_ut_indices_t, - prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, - prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; -struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { - constexpr static auto name {"dev_velo_pv_ip_t"}; - size_t size; - char* offset; -}; -struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, - kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, - FilterTracks::Parameters::dev_kf_tracks_t, - VertexFit::Parameters::dev_kf_tracks_t, - run_hlt1::Parameters::dev_kf_tracks_t, - prepare_decisions::Parameters::dev_kf_tracks_t, - prepare_raw_banks::Parameters::dev_kf_tracks_t { - constexpr static auto name {"dev_kf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, - FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, - VertexFit::Parameters::dev_kalman_pv_ipchi2_t { - constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; - size_t size; - char* offset; -}; -struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sv_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { - constexpr static auto name {"dev_svs_trk1_idx_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { - constexpr static auto name {"dev_svs_trk2_idx_t"}; - size_t size; - char* offset; -}; -struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - VertexFit::Parameters::host_number_of_svs_t, - run_hlt1::Parameters::host_number_of_svs_t, - prepare_decisions::Parameters::host_number_of_svs_t { - constexpr static auto name {"host_number_of_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - VertexFit::Parameters::dev_sv_offsets_t, - run_hlt1::Parameters::dev_sv_offsets_t, - run_postscale::Parameters::dev_sv_offsets_t, - prepare_decisions::Parameters::dev_sv_offsets_t, - prepare_raw_banks::Parameters::dev_sv_offsets_t { - constexpr static auto name {"dev_sv_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, - run_hlt1::Parameters::dev_consolidated_svs_t, - prepare_decisions::Parameters::dev_consolidated_svs_t, - prepare_raw_banks::Parameters::dev_consolidated_svs_t { - constexpr static auto name {"dev_consolidated_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, - run_postscale::Parameters::dev_sel_results_t, - prepare_decisions::Parameters::dev_sel_results_t { - constexpr static auto name {"dev_sel_results_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, - run_postscale::Parameters::dev_sel_results_offsets_t, - prepare_decisions::Parameters::dev_sel_results_offsets_t { - constexpr static auto name {"dev_sel_results_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, - prepare_raw_banks::Parameters::dev_candidate_lists_t { - constexpr static auto name {"dev_candidate_lists_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, - prepare_raw_banks::Parameters::dev_candidate_counts_t { - constexpr static auto name {"dev_candidate_counts_t"}; - size_t size; - char* offset; -}; -struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { - constexpr static auto name {"dev_n_passing_decisions_t"}; - size_t size; - char* offset; -}; -struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, - prepare_raw_banks::Parameters::dev_n_svs_saved_t { - constexpr static auto name {"dev_n_svs_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, - prepare_raw_banks::Parameters::dev_n_tracks_saved_t { - constexpr static auto name {"dev_n_tracks_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, - prepare_raw_banks::Parameters::dev_n_hits_saved_t { - constexpr static auto name {"dev_n_hits_saved_t"}; - size_t size; - char* offset; -}; -struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, - prepare_raw_banks::Parameters::dev_saved_tracks_list_t { - constexpr static auto name {"dev_saved_tracks_list_t"}; - size_t size; - char* offset; -}; -struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, - prepare_raw_banks::Parameters::dev_saved_svs_list_t { - constexpr static auto name {"dev_saved_svs_list_t"}; - size_t size; - char* offset; -}; -struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, - prepare_raw_banks::Parameters::dev_dec_reports_t { - constexpr static auto name {"dev_dec_reports_t"}; - size_t size; - char* offset; -}; -struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, - prepare_raw_banks::Parameters::dev_save_track_t { - constexpr static auto name {"dev_save_track_t"}; - size_t size; - char* offset; -}; -struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { - constexpr static auto name {"dev_save_sv_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, - package_sel_reports::Parameters::dev_sel_rb_hits_t { - constexpr static auto name {"dev_sel_rb_hits_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, - package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { - constexpr static auto name {"dev_sel_rb_stdinfo_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, - package_sel_reports::Parameters::dev_sel_rb_objtyp_t { - constexpr static auto name {"dev_sel_rb_objtyp_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, - package_sel_reports::Parameters::dev_sel_rb_substr_t { - constexpr static auto name {"dev_sel_rb_substr_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sel_rep_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { - constexpr static auto name {"dev_passing_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - package_sel_reports::Parameters::host_number_of_sel_rep_words_t { - constexpr static auto name {"host_number_of_sel_rep_words_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - package_sel_reports::Parameters::dev_sel_rep_offsets_t { - constexpr static auto name {"dev_sel_rep_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { - constexpr static auto name {"dev_sel_rep_raw_banks_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t, run_hlt1::Parameters::dev_odin_raw_input_t, run_postscale::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, run_hlt1::Parameters::dev_odin_raw_input_offsets_t, run_postscale::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t, velo_pv_ip::Parameters::host_number_of_selected_events_t, kalman_velo_only::Parameters::host_number_of_selected_events_t, kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, FilterTracks::Parameters::host_number_of_selected_events_t, VertexFit::Parameters::host_number_of_selected_events_t, run_hlt1::Parameters::host_number_of_selected_events_t, run_postscale::Parameters::host_number_of_selected_events_t, prepare_decisions::Parameters::host_number_of_selected_events_t, prepare_raw_banks::Parameters::host_number_of_selected_events_t, package_sel_reports::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t, run_hlt1::Parameters::dev_event_list_t, run_postscale::Parameters::dev_event_list_t, prepare_decisions::Parameters::dev_event_list_t, prepare_raw_banks::Parameters::dev_event_list_t, package_sel_reports::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t, kalman_velo_only::Parameters::dev_velo_track_hits_t, prepare_decisions::Parameters::dev_velo_track_hits_t, prepare_raw_banks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, FilterTracks::Parameters::dev_multi_fit_vertices_t, VertexFit::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, prepare_decisions::Parameters::dev_offsets_ut_tracks_t, prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, prepare_decisions::Parameters::dev_ut_track_hits_t, prepare_raw_banks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t, kalman_velo_only::Parameters::dev_ut_qop_t, prepare_decisions::Parameters::dev_ut_qop_t, prepare_raw_banks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, prepare_decisions::Parameters::dev_ut_track_velo_indices_t, prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t, kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, FilterTracks::Parameters::dev_offsets_forward_tracks_t, VertexFit::Parameters::dev_offsets_forward_tracks_t, run_hlt1::Parameters::dev_offsets_forward_tracks_t, run_postscale::Parameters::dev_offsets_forward_tracks_t, prepare_decisions::Parameters::dev_offsets_forward_tracks_t, prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, package_sel_reports::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number, kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, VertexFit::Parameters::dev_offsets_scifi_track_hit_number, prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, prepare_decisions::Parameters::dev_scifi_track_hits_t, prepare_raw_banks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t, kalman_velo_only::Parameters::dev_scifi_qop_t, kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, FilterTracks::Parameters::dev_scifi_qop_t, VertexFit::Parameters::dev_scifi_qop_t, prepare_decisions::Parameters::dev_scifi_qop_t, prepare_raw_banks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t, kalman_velo_only::Parameters::dev_scifi_states_t, kalman_pv_ipchi2::Parameters::dev_scifi_states_t, FilterTracks::Parameters::dev_scifi_states_t, VertexFit::Parameters::dev_scifi_states_t, prepare_decisions::Parameters::dev_scifi_states_t, prepare_raw_banks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t, kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, FilterTracks::Parameters::dev_scifi_track_ut_indices_t, VertexFit::Parameters::dev_scifi_track_ut_indices_t, prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; +struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { constexpr static auto name {"dev_velo_pv_ip_t"}; size_t size; char* offset; }; +struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, FilterTracks::Parameters::dev_kf_tracks_t, VertexFit::Parameters::dev_kf_tracks_t, run_hlt1::Parameters::dev_kf_tracks_t, prepare_decisions::Parameters::dev_kf_tracks_t, prepare_raw_banks::Parameters::dev_kf_tracks_t { constexpr static auto name {"dev_kf_tracks_t"}; size_t size; char* offset; }; +struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, VertexFit::Parameters::dev_kalman_pv_ipchi2_t { constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; size_t size; char* offset; }; +struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sv_atomics_t"}; size_t size; char* offset; }; +struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { constexpr static auto name {"dev_svs_trk1_idx_t"}; size_t size; char* offset; }; +struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { constexpr static auto name {"dev_svs_trk2_idx_t"}; size_t size; char* offset; }; +struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, VertexFit::Parameters::host_number_of_svs_t, run_hlt1::Parameters::host_number_of_svs_t, prepare_decisions::Parameters::host_number_of_svs_t { constexpr static auto name {"host_number_of_svs_t"}; size_t size; char* offset; }; +struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, VertexFit::Parameters::dev_sv_offsets_t, run_hlt1::Parameters::dev_sv_offsets_t, run_postscale::Parameters::dev_sv_offsets_t, prepare_decisions::Parameters::dev_sv_offsets_t, prepare_raw_banks::Parameters::dev_sv_offsets_t { constexpr static auto name {"dev_sv_offsets_t"}; size_t size; char* offset; }; +struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, run_hlt1::Parameters::dev_consolidated_svs_t, prepare_decisions::Parameters::dev_consolidated_svs_t, prepare_raw_banks::Parameters::dev_consolidated_svs_t { constexpr static auto name {"dev_consolidated_svs_t"}; size_t size; char* offset; }; +struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, run_postscale::Parameters::dev_sel_results_t, prepare_decisions::Parameters::dev_sel_results_t { constexpr static auto name {"dev_sel_results_t"}; size_t size; char* offset; }; +struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, run_postscale::Parameters::dev_sel_results_offsets_t, prepare_decisions::Parameters::dev_sel_results_offsets_t { constexpr static auto name {"dev_sel_results_offsets_t"}; size_t size; char* offset; }; +struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, prepare_raw_banks::Parameters::dev_candidate_lists_t { constexpr static auto name {"dev_candidate_lists_t"}; size_t size; char* offset; }; +struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, prepare_raw_banks::Parameters::dev_candidate_counts_t { constexpr static auto name {"dev_candidate_counts_t"}; size_t size; char* offset; }; +struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { constexpr static auto name {"dev_n_passing_decisions_t"}; size_t size; char* offset; }; +struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, prepare_raw_banks::Parameters::dev_n_svs_saved_t { constexpr static auto name {"dev_n_svs_saved_t"}; size_t size; char* offset; }; +struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, prepare_raw_banks::Parameters::dev_n_tracks_saved_t { constexpr static auto name {"dev_n_tracks_saved_t"}; size_t size; char* offset; }; +struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, prepare_raw_banks::Parameters::dev_n_hits_saved_t { constexpr static auto name {"dev_n_hits_saved_t"}; size_t size; char* offset; }; +struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, prepare_raw_banks::Parameters::dev_saved_tracks_list_t { constexpr static auto name {"dev_saved_tracks_list_t"}; size_t size; char* offset; }; +struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, prepare_raw_banks::Parameters::dev_saved_svs_list_t { constexpr static auto name {"dev_saved_svs_list_t"}; size_t size; char* offset; }; +struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, prepare_raw_banks::Parameters::dev_dec_reports_t { constexpr static auto name {"dev_dec_reports_t"}; size_t size; char* offset; }; +struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, prepare_raw_banks::Parameters::dev_save_track_t { constexpr static auto name {"dev_save_track_t"}; size_t size; char* offset; }; +struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { constexpr static auto name {"dev_save_sv_t"}; size_t size; char* offset; }; +struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, package_sel_reports::Parameters::dev_sel_rb_hits_t { constexpr static auto name {"dev_sel_rb_hits_t"}; size_t size; char* offset; }; +struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { constexpr static auto name {"dev_sel_rb_stdinfo_t"}; size_t size; char* offset; }; +struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, package_sel_reports::Parameters::dev_sel_rb_objtyp_t { constexpr static auto name {"dev_sel_rb_objtyp_t"}; size_t size; char* offset; }; +struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, package_sel_reports::Parameters::dev_sel_rb_substr_t { constexpr static auto name {"dev_sel_rb_substr_t"}; size_t size; char* offset; }; +struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sel_rep_sizes_t"}; size_t size; char* offset; }; +struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { constexpr static auto name {"dev_passing_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, package_sel_reports::Parameters::host_number_of_sel_rep_words_t { constexpr static auto name {"host_number_of_sel_rep_words_t"}; size_t size; char* offset; }; +struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, package_sel_reports::Parameters::dev_sel_rep_offsets_t { constexpr static auto name {"dev_sel_rep_offsets_t"}; size_t size; char* offset; }; +struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { constexpr static auto name {"dev_sel_rep_raw_banks_t"}; size_t size; char* offset; }; -using configured_lines_t = std::tuple< - ErrorEvent::ErrorEvent_t, - PassThrough::PassThrough_t, - NoBeams::NoBeams_t, - BeamOne::BeamOne_t, - BeamTwo::BeamTwo_t, - BothBeams::BothBeams_t, - ODINNoBias::ODINNoBias_t, - ODINLumi::ODINLumi_t, - GECPassthrough::GECPassthrough_t, - VeloMicroBias::VeloMicroBias_t, - TrackMVA::TrackMVA_t, - TrackMuonMVA::TrackMuonMVA_t, - SingleHighPtMuon::SingleHighPtMuon_t, - LowPtMuon::LowPtMuon_t, - TwoTrackMVA::TwoTrackMVA_t, - DiMuonHighMass::DiMuonHighMass_t, - DiMuonLowMass::DiMuonLowMass_t, - LowPtDiMuon::LowPtDiMuon_t, - DiMuonSoft::DiMuonSoft_t, - D2KPi::D2KPi_t, - D2PiPi::D2PiPi_t, - D2KK::D2KK_t>; +using configured_lines_t = std::tuple; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>, - velo_pv_ip::velo_pv_ip_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_velo_pv_ip_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - '_', - 't'>, - kalman_velo_only::kalman_velo_only_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_velo_pv_ip_t, - dev_kf_tracks_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'o', - 'n', - 'l', - 'y', - '_', - 't'>, - kalman_pv_ipchi2::kalman_pv_ipchi2_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_is_muon_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - 'c', - 'h', - 'i', - '2', - '_', - 't'>, - FilterTracks::filter_tracks_t< - std::tuple< - host_number_of_selected_events_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_sv_atomics_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t>, - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's'>, - VertexFit::fit_secondary_vertices_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_svs_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t, - dev_sv_offsets_t, - dev_consolidated_svs_t>, - 'f', - 'i', - 't', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's', - '_', - 't'>, - run_hlt1::run_hlt1_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'h', - 'l', - 't', - '1', - '_', - 't'>, - run_postscale::run_postscale_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'p', - 'o', - 's', - 't', - 's', - 'c', - 'a', - 'l', - 'e', - '_', - 't'>, - prepare_decisions::prepare_decisions_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_passing_decisions_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_dec_reports_t, - dev_save_track_t, - dev_save_sv_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'i', - 's', - 'i', - 'o', - 'n', - 's', - '_', - 't'>, - prepare_raw_banks::prepare_raw_banks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_save_track_t, - dev_save_sv_t, - dev_dec_reports_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_sizes_t, - dev_passing_event_list_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 's'>, - package_sel_reports::package_sel_reports_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_sel_rep_words_t, - dev_event_list_t, - dev_offsets_forward_tracks_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_raw_banks_t, - dev_sel_rep_offsets_t>, - 'p', - 'a', - 'c', - 'k', - 'a', - 'g', - 'e', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 'o', - 'r', - 't', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'>, + velo_pv_ip::velo_pv_ip_t, 'v', 'e', 'l', 'o', '_', 'p', 'v', '_', 'i', 'p', '_', 't'>, + kalman_velo_only::kalman_velo_only_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'v', 'e', 'l', 'o', '_', 'o', 'n', 'l', 'y', '_', 't'>, + kalman_pv_ipchi2::kalman_pv_ipchi2_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'p', 'v', '_', 'i', 'p', 'c', 'h', 'i', '2', '_', 't'>, + FilterTracks::filter_tracks_t, 'f', 'i', 'l', 't', 'e', 'r', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's'>, + VertexFit::fit_secondary_vertices_t, 'f', 'i', 't', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's', '_', 't'>, + run_hlt1::run_hlt1_t, configured_lines_t, 'r', 'u', 'n', '_', 'h', 'l', 't', '1', '_', 't'>, + run_postscale::run_postscale_t, configured_lines_t, 'r', 'u', 'n', '_', 'p', 'o', 's', 't', 's', 'c', 'a', 'l', 'e', '_', 't'>, + prepare_decisions::prepare_decisions_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'd', 'e', 'c', 'i', 's', 'i', 'o', 'n', 's', '_', 't'>, + prepare_raw_banks::prepare_raw_banks_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 's'>, + package_sel_reports::package_sel_reports_t, 'p', 'a', 'c', 'k', 'a', 'g', 'e', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 'o', 'r', 't', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/hlt1_pp_no_ut_cut.json b/configuration/pregenerated/hlt1_pp_no_ut_cut.json index 24e72e19d90..bcf371ef94d 100644 --- a/configuration/pregenerated/hlt1_pp_no_ut_cut.json +++ b/configuration/pregenerated/hlt1_pp_no_ut_cut.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "3000.0", "min_pt": "0.0"}, "compass_ut_t": {"min_momentum_final": "0.0", "min_pt_final": "0.0", "max_considered_before_found": "16"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/hlt1_pp_scifi_v6.h b/configuration/pregenerated/hlt1_pp_scifi_v6.h index 8051a359e21..05a19e59e57 100644 --- a/configuration/pregenerated/hlt1_pp_scifi_v6.h +++ b/configuration/pregenerated/hlt1_pp_scifi_v6.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV6.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV6.cuh" @@ -53,6 +58,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -95,3743 +101,249 @@ #include "../../cuda/selections/lines/include/D2PiPiLine.cuh" #include "../../cuda/selections/lines/include/D2KKLine.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t, - run_hlt1::Parameters::dev_odin_raw_input_t, - run_postscale::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t, - run_hlt1::Parameters::dev_odin_raw_input_offsets_t, - run_postscale::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v6::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v6::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v6::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t, - velo_pv_ip::Parameters::host_number_of_selected_events_t, - kalman_velo_only::Parameters::host_number_of_selected_events_t, - kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, - FilterTracks::Parameters::host_number_of_selected_events_t, - VertexFit::Parameters::host_number_of_selected_events_t, - run_hlt1::Parameters::host_number_of_selected_events_t, - run_postscale::Parameters::host_number_of_selected_events_t, - prepare_decisions::Parameters::host_number_of_selected_events_t, - prepare_raw_banks::Parameters::host_number_of_selected_events_t, - package_sel_reports::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v6::Parameters::dev_event_list_t, - scifi_pre_decode_v6::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v6::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t, - run_hlt1::Parameters::dev_event_list_t, - run_postscale::Parameters::dev_event_list_t, - prepare_decisions::Parameters::dev_event_list_t, - prepare_raw_banks::Parameters::dev_event_list_t, - package_sel_reports::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, - velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, - kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, - run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, - prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, - velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t, - kalman_velo_only::Parameters::dev_velo_track_hits_t, - prepare_decisions::Parameters::dev_velo_track_hits_t, - prepare_raw_banks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, - velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, - FilterTracks::Parameters::dev_multi_fit_vertices_t, - VertexFit::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, - velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, - kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, - FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, - VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, - prepare_decisions::Parameters::dev_offsets_ut_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, - prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, - prepare_decisions::Parameters::dev_ut_track_hits_t, - prepare_raw_banks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t, - kalman_velo_only::Parameters::dev_ut_qop_t, - prepare_decisions::Parameters::dev_ut_qop_t, - prepare_raw_banks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, - kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, - prepare_decisions::Parameters::dev_ut_track_velo_indices_t, - prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v6::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v6::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v6::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v6::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v6::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v6::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v6::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v6::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v6::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v6::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v6::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v6::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, - kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, - run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, - prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t, - kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, - kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, - FilterTracks::Parameters::dev_offsets_forward_tracks_t, - VertexFit::Parameters::dev_offsets_forward_tracks_t, - run_hlt1::Parameters::dev_offsets_forward_tracks_t, - run_postscale::Parameters::dev_offsets_forward_tracks_t, - prepare_decisions::Parameters::dev_offsets_forward_tracks_t, - prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, - package_sel_reports::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number, - kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, - kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, - FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, - VertexFit::Parameters::dev_offsets_scifi_track_hit_number, - prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, - prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, - prepare_decisions::Parameters::dev_scifi_track_hits_t, - prepare_raw_banks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, - is_muon::Parameters::dev_scifi_qop_t, - kalman_velo_only::Parameters::dev_scifi_qop_t, - kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, - FilterTracks::Parameters::dev_scifi_qop_t, - VertexFit::Parameters::dev_scifi_qop_t, - prepare_decisions::Parameters::dev_scifi_qop_t, - prepare_raw_banks::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t, - kalman_velo_only::Parameters::dev_scifi_states_t, - kalman_pv_ipchi2::Parameters::dev_scifi_states_t, - FilterTracks::Parameters::dev_scifi_states_t, - VertexFit::Parameters::dev_scifi_states_t, - prepare_decisions::Parameters::dev_scifi_states_t, - prepare_raw_banks::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t, - kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, - kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, - FilterTracks::Parameters::dev_scifi_track_ut_indices_t, - VertexFit::Parameters::dev_scifi_track_ut_indices_t, - prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, - prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; -struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { - constexpr static auto name {"dev_velo_pv_ip_t"}; - size_t size; - char* offset; -}; -struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, - kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, - FilterTracks::Parameters::dev_kf_tracks_t, - VertexFit::Parameters::dev_kf_tracks_t, - run_hlt1::Parameters::dev_kf_tracks_t, - prepare_decisions::Parameters::dev_kf_tracks_t, - prepare_raw_banks::Parameters::dev_kf_tracks_t { - constexpr static auto name {"dev_kf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, - FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, - VertexFit::Parameters::dev_kalman_pv_ipchi2_t { - constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; - size_t size; - char* offset; -}; -struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sv_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { - constexpr static auto name {"dev_svs_trk1_idx_t"}; - size_t size; - char* offset; -}; -struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { - constexpr static auto name {"dev_svs_trk2_idx_t"}; - size_t size; - char* offset; -}; -struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - VertexFit::Parameters::host_number_of_svs_t, - run_hlt1::Parameters::host_number_of_svs_t, - prepare_decisions::Parameters::host_number_of_svs_t { - constexpr static auto name {"host_number_of_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - VertexFit::Parameters::dev_sv_offsets_t, - run_hlt1::Parameters::dev_sv_offsets_t, - run_postscale::Parameters::dev_sv_offsets_t, - prepare_decisions::Parameters::dev_sv_offsets_t, - prepare_raw_banks::Parameters::dev_sv_offsets_t { - constexpr static auto name {"dev_sv_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, - run_hlt1::Parameters::dev_consolidated_svs_t, - prepare_decisions::Parameters::dev_consolidated_svs_t, - prepare_raw_banks::Parameters::dev_consolidated_svs_t { - constexpr static auto name {"dev_consolidated_svs_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, - run_postscale::Parameters::dev_sel_results_t, - prepare_decisions::Parameters::dev_sel_results_t { - constexpr static auto name {"dev_sel_results_t"}; - size_t size; - char* offset; -}; -struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, - run_postscale::Parameters::dev_sel_results_offsets_t, - prepare_decisions::Parameters::dev_sel_results_offsets_t { - constexpr static auto name {"dev_sel_results_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, - prepare_raw_banks::Parameters::dev_candidate_lists_t { - constexpr static auto name {"dev_candidate_lists_t"}; - size_t size; - char* offset; -}; -struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, - prepare_raw_banks::Parameters::dev_candidate_counts_t { - constexpr static auto name {"dev_candidate_counts_t"}; - size_t size; - char* offset; -}; -struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { - constexpr static auto name {"dev_n_passing_decisions_t"}; - size_t size; - char* offset; -}; -struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, - prepare_raw_banks::Parameters::dev_n_svs_saved_t { - constexpr static auto name {"dev_n_svs_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, - prepare_raw_banks::Parameters::dev_n_tracks_saved_t { - constexpr static auto name {"dev_n_tracks_saved_t"}; - size_t size; - char* offset; -}; -struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, - prepare_raw_banks::Parameters::dev_n_hits_saved_t { - constexpr static auto name {"dev_n_hits_saved_t"}; - size_t size; - char* offset; -}; -struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, - prepare_raw_banks::Parameters::dev_saved_tracks_list_t { - constexpr static auto name {"dev_saved_tracks_list_t"}; - size_t size; - char* offset; -}; -struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, - prepare_raw_banks::Parameters::dev_saved_svs_list_t { - constexpr static auto name {"dev_saved_svs_list_t"}; - size_t size; - char* offset; -}; -struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, - prepare_raw_banks::Parameters::dev_dec_reports_t { - constexpr static auto name {"dev_dec_reports_t"}; - size_t size; - char* offset; -}; -struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, - prepare_raw_banks::Parameters::dev_save_track_t { - constexpr static auto name {"dev_save_track_t"}; - size_t size; - char* offset; -}; -struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { - constexpr static auto name {"dev_save_sv_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, - package_sel_reports::Parameters::dev_sel_rb_hits_t { - constexpr static auto name {"dev_sel_rb_hits_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, - package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { - constexpr static auto name {"dev_sel_rb_stdinfo_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, - package_sel_reports::Parameters::dev_sel_rb_objtyp_t { - constexpr static auto name {"dev_sel_rb_objtyp_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, - package_sel_reports::Parameters::dev_sel_rb_substr_t { - constexpr static auto name {"dev_sel_rb_substr_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_sel_rep_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { - constexpr static auto name {"dev_passing_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - package_sel_reports::Parameters::host_number_of_sel_rep_words_t { - constexpr static auto name {"host_number_of_sel_rep_words_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - package_sel_reports::Parameters::dev_sel_rep_offsets_t { - constexpr static auto name {"dev_sel_rep_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { - constexpr static auto name {"dev_sel_rep_raw_banks_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t, run_hlt1::Parameters::dev_odin_raw_input_t, run_postscale::Parameters::dev_odin_raw_input_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, run_hlt1::Parameters::dev_odin_raw_input_offsets_t, run_postscale::Parameters::dev_odin_raw_input_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v6::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v6::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v6::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t, velo_pv_ip::Parameters::host_number_of_selected_events_t, kalman_velo_only::Parameters::host_number_of_selected_events_t, kalman_pv_ipchi2::Parameters::host_number_of_selected_events_t, FilterTracks::Parameters::host_number_of_selected_events_t, VertexFit::Parameters::host_number_of_selected_events_t, run_hlt1::Parameters::host_number_of_selected_events_t, run_postscale::Parameters::host_number_of_selected_events_t, prepare_decisions::Parameters::host_number_of_selected_events_t, prepare_raw_banks::Parameters::host_number_of_selected_events_t, package_sel_reports::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v6::Parameters::dev_event_list_t, scifi_pre_decode_v6::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v6::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t, run_hlt1::Parameters::dev_event_list_t, run_postscale::Parameters::dev_event_list_t, prepare_decisions::Parameters::dev_event_list_t, prepare_raw_banks::Parameters::dev_event_list_t, package_sel_reports::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_pv_ip::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t, velo_pv_ip::Parameters::dev_offsets_all_velo_tracks_t, kalman_velo_only::Parameters::dev_offsets_all_velo_tracks_t, run_hlt1::Parameters::dev_offsets_all_velo_tracks_t, prepare_decisions::Parameters::dev_offsets_all_velo_tracks_t, prepare_raw_banks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t, velo_pv_ip::Parameters::dev_offsets_velo_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_velo_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_velo_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t, kalman_velo_only::Parameters::dev_velo_track_hits_t, prepare_decisions::Parameters::dev_velo_track_hits_t, prepare_raw_banks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t, velo_pv_ip::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_multi_fit_vertices_t, FilterTracks::Parameters::dev_multi_fit_vertices_t, VertexFit::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t, velo_pv_ip::Parameters::dev_number_of_multi_fit_vertices_t, kalman_pv_ipchi2::Parameters::dev_number_of_multi_fit_vertices_t, FilterTracks::Parameters::dev_number_of_multi_fit_vertices_t, VertexFit::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, kalman_velo_only::Parameters::dev_offsets_ut_tracks_t, prepare_decisions::Parameters::dev_offsets_ut_tracks_t, prepare_raw_banks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, kalman_velo_only::Parameters::dev_offsets_ut_track_hit_number_t, prepare_decisions::Parameters::dev_offsets_ut_track_hit_number_t, prepare_raw_banks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t, prepare_decisions::Parameters::dev_ut_track_hits_t, prepare_raw_banks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t, kalman_velo_only::Parameters::dev_ut_qop_t, prepare_decisions::Parameters::dev_ut_qop_t, prepare_raw_banks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t, kalman_velo_only::Parameters::dev_ut_track_velo_indices_t, prepare_decisions::Parameters::dev_ut_track_velo_indices_t, prepare_raw_banks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v6::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v6::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v6::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v6::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v6::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v6::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v6::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v6::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v6::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v6::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v6::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v6::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_velo_only::Parameters::host_number_of_reconstructed_scifi_tracks_t, kalman_pv_ipchi2::Parameters::host_number_of_reconstructed_scifi_tracks_t, run_hlt1::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_decisions::Parameters::host_number_of_reconstructed_scifi_tracks_t, prepare_raw_banks::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t, kalman_velo_only::Parameters::dev_offsets_forward_tracks_t, kalman_pv_ipchi2::Parameters::dev_offsets_forward_tracks_t, FilterTracks::Parameters::dev_offsets_forward_tracks_t, VertexFit::Parameters::dev_offsets_forward_tracks_t, run_hlt1::Parameters::dev_offsets_forward_tracks_t, run_postscale::Parameters::dev_offsets_forward_tracks_t, prepare_decisions::Parameters::dev_offsets_forward_tracks_t, prepare_raw_banks::Parameters::dev_offsets_forward_tracks_t, package_sel_reports::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number, kalman_velo_only::Parameters::dev_offsets_scifi_track_hit_number, kalman_pv_ipchi2::Parameters::dev_offsets_scifi_track_hit_number, FilterTracks::Parameters::dev_offsets_scifi_track_hit_number, VertexFit::Parameters::dev_offsets_scifi_track_hit_number, prepare_decisions::Parameters::dev_offsets_scifi_track_hit_number, prepare_raw_banks::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t, prepare_decisions::Parameters::dev_scifi_track_hits_t, prepare_raw_banks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t, kalman_velo_only::Parameters::dev_scifi_qop_t, kalman_pv_ipchi2::Parameters::dev_scifi_qop_t, FilterTracks::Parameters::dev_scifi_qop_t, VertexFit::Parameters::dev_scifi_qop_t, prepare_decisions::Parameters::dev_scifi_qop_t, prepare_raw_banks::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t, kalman_velo_only::Parameters::dev_scifi_states_t, kalman_pv_ipchi2::Parameters::dev_scifi_states_t, FilterTracks::Parameters::dev_scifi_states_t, VertexFit::Parameters::dev_scifi_states_t, prepare_decisions::Parameters::dev_scifi_states_t, prepare_raw_banks::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t, kalman_velo_only::Parameters::dev_scifi_track_ut_indices_t, kalman_pv_ipchi2::Parameters::dev_scifi_track_ut_indices_t, FilterTracks::Parameters::dev_scifi_track_ut_indices_t, VertexFit::Parameters::dev_scifi_track_ut_indices_t, prepare_decisions::Parameters::dev_scifi_track_ut_indices_t, prepare_raw_banks::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t, kalman_pv_ipchi2::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; +struct dev_velo_pv_ip_t : velo_pv_ip::Parameters::dev_velo_pv_ip_t, kalman_velo_only::Parameters::dev_velo_pv_ip_t { constexpr static auto name {"dev_velo_pv_ip_t"}; size_t size; char* offset; }; +struct dev_kf_tracks_t : kalman_velo_only::Parameters::dev_kf_tracks_t, kalman_pv_ipchi2::Parameters::dev_kf_tracks_t, FilterTracks::Parameters::dev_kf_tracks_t, VertexFit::Parameters::dev_kf_tracks_t, run_hlt1::Parameters::dev_kf_tracks_t, prepare_decisions::Parameters::dev_kf_tracks_t, prepare_raw_banks::Parameters::dev_kf_tracks_t { constexpr static auto name {"dev_kf_tracks_t"}; size_t size; char* offset; }; +struct dev_kalman_pv_ipchi2_t : kalman_pv_ipchi2::Parameters::dev_kalman_pv_ipchi2_t, FilterTracks::Parameters::dev_kalman_pv_ipchi2_t, VertexFit::Parameters::dev_kalman_pv_ipchi2_t { constexpr static auto name {"dev_kalman_pv_ipchi2_t"}; size_t size; char* offset; }; +struct dev_sv_atomics_t : FilterTracks::Parameters::dev_sv_atomics_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sv_atomics_t"}; size_t size; char* offset; }; +struct dev_svs_trk1_idx_t : FilterTracks::Parameters::dev_svs_trk1_idx_t, VertexFit::Parameters::dev_svs_trk1_idx_t { constexpr static auto name {"dev_svs_trk1_idx_t"}; size_t size; char* offset; }; +struct dev_svs_trk2_idx_t : FilterTracks::Parameters::dev_svs_trk2_idx_t, VertexFit::Parameters::dev_svs_trk2_idx_t { constexpr static auto name {"dev_svs_trk2_idx_t"}; size_t size; char* offset; }; +struct host_number_of_svs_t : host_prefix_sum::Parameters::host_total_sum_holder_t, VertexFit::Parameters::host_number_of_svs_t, run_hlt1::Parameters::host_number_of_svs_t, prepare_decisions::Parameters::host_number_of_svs_t { constexpr static auto name {"host_number_of_svs_t"}; size_t size; char* offset; }; +struct dev_sv_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, VertexFit::Parameters::dev_sv_offsets_t, run_hlt1::Parameters::dev_sv_offsets_t, run_postscale::Parameters::dev_sv_offsets_t, prepare_decisions::Parameters::dev_sv_offsets_t, prepare_raw_banks::Parameters::dev_sv_offsets_t { constexpr static auto name {"dev_sv_offsets_t"}; size_t size; char* offset; }; +struct dev_consolidated_svs_t : VertexFit::Parameters::dev_consolidated_svs_t, run_hlt1::Parameters::dev_consolidated_svs_t, prepare_decisions::Parameters::dev_consolidated_svs_t, prepare_raw_banks::Parameters::dev_consolidated_svs_t { constexpr static auto name {"dev_consolidated_svs_t"}; size_t size; char* offset; }; +struct dev_sel_results_t : run_hlt1::Parameters::dev_sel_results_t, run_postscale::Parameters::dev_sel_results_t, prepare_decisions::Parameters::dev_sel_results_t { constexpr static auto name {"dev_sel_results_t"}; size_t size; char* offset; }; +struct dev_sel_results_offsets_t : run_hlt1::Parameters::dev_sel_results_offsets_t, run_postscale::Parameters::dev_sel_results_offsets_t, prepare_decisions::Parameters::dev_sel_results_offsets_t { constexpr static auto name {"dev_sel_results_offsets_t"}; size_t size; char* offset; }; +struct dev_candidate_lists_t : prepare_decisions::Parameters::dev_candidate_lists_t, prepare_raw_banks::Parameters::dev_candidate_lists_t { constexpr static auto name {"dev_candidate_lists_t"}; size_t size; char* offset; }; +struct dev_candidate_counts_t : prepare_decisions::Parameters::dev_candidate_counts_t, prepare_raw_banks::Parameters::dev_candidate_counts_t { constexpr static auto name {"dev_candidate_counts_t"}; size_t size; char* offset; }; +struct dev_n_passing_decisions_t : prepare_decisions::Parameters::dev_n_passing_decisions_t { constexpr static auto name {"dev_n_passing_decisions_t"}; size_t size; char* offset; }; +struct dev_n_svs_saved_t : prepare_decisions::Parameters::dev_n_svs_saved_t, prepare_raw_banks::Parameters::dev_n_svs_saved_t { constexpr static auto name {"dev_n_svs_saved_t"}; size_t size; char* offset; }; +struct dev_n_tracks_saved_t : prepare_decisions::Parameters::dev_n_tracks_saved_t, prepare_raw_banks::Parameters::dev_n_tracks_saved_t { constexpr static auto name {"dev_n_tracks_saved_t"}; size_t size; char* offset; }; +struct dev_n_hits_saved_t : prepare_decisions::Parameters::dev_n_hits_saved_t, prepare_raw_banks::Parameters::dev_n_hits_saved_t { constexpr static auto name {"dev_n_hits_saved_t"}; size_t size; char* offset; }; +struct dev_saved_tracks_list_t : prepare_decisions::Parameters::dev_saved_tracks_list_t, prepare_raw_banks::Parameters::dev_saved_tracks_list_t { constexpr static auto name {"dev_saved_tracks_list_t"}; size_t size; char* offset; }; +struct dev_saved_svs_list_t : prepare_decisions::Parameters::dev_saved_svs_list_t, prepare_raw_banks::Parameters::dev_saved_svs_list_t { constexpr static auto name {"dev_saved_svs_list_t"}; size_t size; char* offset; }; +struct dev_dec_reports_t : prepare_decisions::Parameters::dev_dec_reports_t, prepare_raw_banks::Parameters::dev_dec_reports_t { constexpr static auto name {"dev_dec_reports_t"}; size_t size; char* offset; }; +struct dev_save_track_t : prepare_decisions::Parameters::dev_save_track_t, prepare_raw_banks::Parameters::dev_save_track_t { constexpr static auto name {"dev_save_track_t"}; size_t size; char* offset; }; +struct dev_save_sv_t : prepare_decisions::Parameters::dev_save_sv_t, prepare_raw_banks::Parameters::dev_save_sv_t { constexpr static auto name {"dev_save_sv_t"}; size_t size; char* offset; }; +struct dev_sel_rb_hits_t : prepare_raw_banks::Parameters::dev_sel_rb_hits_t, package_sel_reports::Parameters::dev_sel_rb_hits_t { constexpr static auto name {"dev_sel_rb_hits_t"}; size_t size; char* offset; }; +struct dev_sel_rb_stdinfo_t : prepare_raw_banks::Parameters::dev_sel_rb_stdinfo_t, package_sel_reports::Parameters::dev_sel_rb_stdinfo_t { constexpr static auto name {"dev_sel_rb_stdinfo_t"}; size_t size; char* offset; }; +struct dev_sel_rb_objtyp_t : prepare_raw_banks::Parameters::dev_sel_rb_objtyp_t, package_sel_reports::Parameters::dev_sel_rb_objtyp_t { constexpr static auto name {"dev_sel_rb_objtyp_t"}; size_t size; char* offset; }; +struct dev_sel_rb_substr_t : prepare_raw_banks::Parameters::dev_sel_rb_substr_t, package_sel_reports::Parameters::dev_sel_rb_substr_t { constexpr static auto name {"dev_sel_rb_substr_t"}; size_t size; char* offset; }; +struct dev_sel_rep_sizes_t : prepare_raw_banks::Parameters::dev_sel_rep_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_sel_rep_sizes_t"}; size_t size; char* offset; }; +struct dev_passing_event_list_t : prepare_raw_banks::Parameters::dev_passing_event_list_t { constexpr static auto name {"dev_passing_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_sel_rep_words_t : host_prefix_sum::Parameters::host_total_sum_holder_t, package_sel_reports::Parameters::host_number_of_sel_rep_words_t { constexpr static auto name {"host_number_of_sel_rep_words_t"}; size_t size; char* offset; }; +struct dev_sel_rep_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, package_sel_reports::Parameters::dev_sel_rep_offsets_t { constexpr static auto name {"dev_sel_rep_offsets_t"}; size_t size; char* offset; }; +struct dev_sel_rep_raw_banks_t : package_sel_reports::Parameters::dev_sel_rep_raw_banks_t { constexpr static auto name {"dev_sel_rep_raw_banks_t"}; size_t size; char* offset; }; -using configured_lines_t = std::tuple< - ErrorEvent::ErrorEvent_t, - PassThrough::PassThrough_t, - NoBeams::NoBeams_t, - BeamOne::BeamOne_t, - BeamTwo::BeamTwo_t, - BothBeams::BothBeams_t, - ODINNoBias::ODINNoBias_t, - ODINLumi::ODINLumi_t, - GECPassthrough::GECPassthrough_t, - VeloMicroBias::VeloMicroBias_t, - TrackMVA::TrackMVA_t, - TrackMuonMVA::TrackMuonMVA_t, - SingleHighPtMuon::SingleHighPtMuon_t, - LowPtMuon::LowPtMuon_t, - TwoTrackMVA::TwoTrackMVA_t, - DiMuonHighMass::DiMuonHighMass_t, - DiMuonLowMass::DiMuonLowMass_t, - LowPtDiMuon::LowPtDiMuon_t, - DiMuonSoft::DiMuonSoft_t, - D2KPi::D2KPi_t, - D2PiPi::D2PiPi_t, - D2KK::D2KK_t>; +using configured_lines_t = std::tuple; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v6::scifi_calculate_cluster_count_v6_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '6', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v6::scifi_pre_decode_v6_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '6', - '_', - 't'>, - scifi_raw_bank_decoder_v6::scifi_raw_bank_decoder_v6_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '6', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>, - velo_pv_ip::velo_pv_ip_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_velo_pv_ip_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - '_', - 't'>, - kalman_velo_only::kalman_velo_only_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_velo_pv_ip_t, - dev_kf_tracks_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'o', - 'n', - 'l', - 'y', - '_', - 't'>, - kalman_pv_ipchi2::kalman_pv_ipchi2_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_is_muon_t>, - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'p', - 'v', - '_', - 'i', - 'p', - 'c', - 'h', - 'i', - '2', - '_', - 't'>, - FilterTracks::filter_tracks_t< - std::tuple< - host_number_of_selected_events_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_sv_atomics_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t>, - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's'>, - VertexFit::fit_secondary_vertices_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_svs_t, - dev_kf_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_kalman_pv_ipchi2_t, - dev_svs_trk1_idx_t, - dev_svs_trk2_idx_t, - dev_sv_offsets_t, - dev_consolidated_svs_t>, - 'f', - 'i', - 't', - '_', - 's', - 'e', - 'c', - 'o', - 'n', - 'd', - 'a', - 'r', - 'y', - '_', - 'v', - 'e', - 'r', - 't', - 'i', - 'c', - 'e', - 's', - '_', - 't'>, - run_hlt1::run_hlt1_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'h', - 'l', - 't', - '1', - '_', - 't'>, - run_postscale::run_postscale_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_odin_raw_input_t, - dev_odin_raw_input_offsets_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t>, - configured_lines_t, - 'r', - 'u', - 'n', - '_', - 'p', - 'o', - 's', - 't', - 's', - 'c', - 'a', - 'l', - 'e', - '_', - 't'>, - prepare_decisions::prepare_decisions_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - host_number_of_svs_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_sv_offsets_t, - dev_sel_results_t, - dev_sel_results_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_passing_decisions_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_dec_reports_t, - dev_save_track_t, - dev_save_sv_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'i', - 's', - 'i', - 'o', - 'n', - 's', - '_', - 't'>, - prepare_raw_banks::prepare_raw_banks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_event_list_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_ut_track_hits_t, - dev_scifi_track_hits_t, - dev_kf_tracks_t, - dev_consolidated_svs_t, - dev_offsets_forward_tracks_t, - dev_sv_offsets_t, - dev_candidate_lists_t, - dev_candidate_counts_t, - dev_n_svs_saved_t, - dev_n_tracks_saved_t, - dev_n_hits_saved_t, - dev_saved_tracks_list_t, - dev_saved_svs_list_t, - dev_save_track_t, - dev_save_sv_t, - dev_dec_reports_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_sizes_t, - dev_passing_event_list_t>, - configured_lines_t, - 'p', - 'r', - 'e', - 'p', - 'a', - 'r', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 's'>, - package_sel_reports::package_sel_reports_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_sel_rep_words_t, - dev_event_list_t, - dev_offsets_forward_tracks_t, - dev_sel_rb_hits_t, - dev_sel_rb_stdinfo_t, - dev_sel_rb_objtyp_t, - dev_sel_rb_substr_t, - dev_sel_rep_raw_banks_t, - dev_sel_rep_offsets_t>, - 'p', - 'a', - 'c', - 'k', - 'a', - 'g', - 'e', - '_', - 's', - 'e', - 'l', - '_', - 'r', - 'e', - 'p', - 'o', - 'r', - 't', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v6::scifi_calculate_cluster_count_v6_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '6', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v6::scifi_pre_decode_v6_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '6', '_', 't'>, + scifi_raw_bank_decoder_v6::scifi_raw_bank_decoder_v6_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '6', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'>, + velo_pv_ip::velo_pv_ip_t, 'v', 'e', 'l', 'o', '_', 'p', 'v', '_', 'i', 'p', '_', 't'>, + kalman_velo_only::kalman_velo_only_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'v', 'e', 'l', 'o', '_', 'o', 'n', 'l', 'y', '_', 't'>, + kalman_pv_ipchi2::kalman_pv_ipchi2_t, 'k', 'a', 'l', 'm', 'a', 'n', '_', 'p', 'v', '_', 'i', 'p', 'c', 'h', 'i', '2', '_', 't'>, + FilterTracks::filter_tracks_t, 'f', 'i', 'l', 't', 'e', 'r', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's'>, + VertexFit::fit_secondary_vertices_t, 'f', 'i', 't', '_', 's', 'e', 'c', 'o', 'n', 'd', 'a', 'r', 'y', '_', 'v', 'e', 'r', 't', 'i', 'c', 'e', 's', '_', 't'>, + run_hlt1::run_hlt1_t, configured_lines_t, 'r', 'u', 'n', '_', 'h', 'l', 't', '1', '_', 't'>, + run_postscale::run_postscale_t, configured_lines_t, 'r', 'u', 'n', '_', 'p', 'o', 's', 't', 's', 'c', 'a', 'l', 'e', '_', 't'>, + prepare_decisions::prepare_decisions_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'd', 'e', 'c', 'i', 's', 'i', 'o', 'n', 's', '_', 't'>, + prepare_raw_banks::prepare_raw_banks_t, configured_lines_t, 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 's'>, + package_sel_reports::package_sel_reports_t, 'p', 'a', 'c', 'k', 'a', 'g', 'e', '_', 's', 'e', 'l', '_', 'r', 'e', 'p', 'o', 'r', 't', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/hlt1_pp_scifi_v6.json b/configuration/pregenerated/hlt1_pp_scifi_v6.json index 101c8c89eb5..4ef4251ff04 100644 --- a/configuration/pregenerated/hlt1_pp_scifi_v6.json +++ b/configuration/pregenerated/hlt1_pp_scifi_v6.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": ["ErrorEvent", "PassThrough", "NoBeams", "BeamOne", "BeamTwo", "BothBeams", "ODINNoBias", "ODINLumi", "GECPassthrough", "VeloMicroBias", "TrackMVA", "TrackMuonMVA", "SingleHighPtMuon", "LowPtMuon", "TwoTrackMVA", "DiMuonHighMass", "DiMuonLowMass", "LowPtDiMuon", "DiMuonSoft", "D2KPi", "D2PiPi", "D2KK"] } diff --git a/configuration/pregenerated/muon.h b/configuration/pregenerated/muon.h index 27b33b91332..259362ca932 100644 --- a/configuration/pregenerated/muon.h +++ b/configuration/pregenerated/muon.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -37,6 +41,7 @@ #include "../../cuda/UT/consolidate/include/UTCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/preprocessing/include/SciFiPreDecodeV4.cuh" @@ -54,6 +59,7 @@ #include "../../cuda/SciFi/consolidate/include/SciFiCopyTrackHitNumber.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/SciFi/consolidate/include/ConsolidateSciFi.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/muon/decoding_steps/include/MuonPreDecoding.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/muon/decoding_steps/include/MuonSortBySRQ.cuh" @@ -62,3058 +68,207 @@ #include "../../cuda/muon/decoding_steps/include/MuonSortByStation.cuh" #include "../../cuda/muon/is_muon/include/IsMuon.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, - scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, - scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, - scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, - scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, - lf_search_initial_windows::Parameters::host_number_of_selected_events_t, - lf_triplet_seeding::Parameters::host_number_of_selected_events_t, - lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, - lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, - lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, - lf_quality_filter_length::Parameters::host_number_of_selected_events_t, - lf_quality_filter::Parameters::host_number_of_selected_events_t, - scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, - muon_pre_decoding::Parameters::host_number_of_selected_events_t, - muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, - muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, - muon_sort_by_station::Parameters::host_number_of_selected_events_t, - is_muon::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, - scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, - scifi_pre_decode_v4::Parameters::dev_event_list_t, - scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, - scifi_direct_decoder_v4::Parameters::dev_event_list_t, - muon_pre_decoding::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, - lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t, - lf_search_initial_windows::Parameters::dev_velo_states_t, - lf_triplet_seeding::Parameters::dev_velo_states_t, - lf_calculate_parametrization::Parameters::dev_velo_states_t, - lf_quality_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, - lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, - lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, - lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, - lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, - lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, - lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, - lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, - scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, - lf_search_initial_windows::Parameters::dev_ut_qop_t, - lf_triplet_seeding::Parameters::dev_ut_qop_t, - lf_calculate_parametrization::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, - lf_search_initial_windows::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, - lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, - lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, - lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, - lf_quality_filter::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { - constexpr static auto name {"dev_scifi_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_raw_input_offsets_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { - constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_hit_count_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_scifi_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { - constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, - lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, - lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, - lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, - lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { - constexpr static auto name {"dev_scifi_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, - scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, - scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, - lf_search_initial_windows::Parameters::dev_scifi_hits_t, - lf_triplet_seeding::Parameters::dev_scifi_hits_t, - lf_calculate_parametrization::Parameters::dev_scifi_hits_t, - lf_extend_tracks_x::Parameters::dev_scifi_hits_t, - lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, - lf_quality_filter::Parameters::dev_scifi_hits_t, - scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { - constexpr static auto name {"dev_scifi_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { - constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, - lf_triplet_seeding::Parameters::dev_ut_states_t, - lf_extend_tracks_uv::Parameters::dev_ut_states_t, - lf_quality_filter::Parameters::dev_ut_states_t { - constexpr static auto name {"dev_ut_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { - constexpr static auto name {"dev_scifi_lf_process_track_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_number_of_found_triplets_t - : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, - lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { - constexpr static auto name {"dev_scifi_lf_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, - lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { - constexpr static auto name {"dev_scifi_lf_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_total_number_of_found_triplets_t - : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { - constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, - lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, - lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { - constexpr static auto name {"dev_scifi_lf_parametrization_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_tracks_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_length_filtered_atomics_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, - lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { - constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_length_filter_t - : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, - lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_scifi_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, - scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { - constexpr static auto name {"dev_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_y_parametrization_length_filter_t - : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { - constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_lf_parametrization_consolidate_t - : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, - scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { - constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, - scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, - is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, - scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, - is_muon::Parameters::dev_offsets_forward_tracks_t { - constexpr static auto name {"dev_offsets_forward_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_scifi_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_scifi_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, - scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, - is_muon::Parameters::dev_offsets_scifi_track_hit_number { - constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t { - constexpr static auto name {"dev_scifi_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t { - constexpr static auto name {"dev_scifi_qop_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, - is_muon::Parameters::dev_scifi_states_t { - constexpr static auto name {"dev_scifi_states_t"}; - size_t size; - char* offset; -}; -struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, - is_muon::Parameters::dev_scifi_track_ut_indices_t { - constexpr static auto name {"dev_scifi_track_ut_indices_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_t : muon_pre_decoding::Parameters::dev_muon_raw_t { - constexpr static auto name {"dev_muon_raw_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_offsets_t : muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { - constexpr static auto name {"dev_muon_raw_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, - muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, - muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { - constexpr static auto name {"dev_muon_raw_to_hits_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_sizes_t - : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, - muon_sort_by_station::Parameters::dev_storage_tile_id_t { - constexpr static auto name {"dev_storage_tile_id_t"}; - size_t size; - char* offset; -}; -struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, - muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, - muon_sort_by_station::Parameters::dev_storage_tdc_value_t { - constexpr static auto name {"dev_storage_tdc_value_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, - muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, - muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, - muon_sort_by_station::Parameters::dev_atomics_muon_t { - constexpr static auto name {"dev_atomics_muon_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_tiles_t"}; - size_t size; - char* offset; -}; -struct dev_storage_station_region_quarter_offsets_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { - constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { - constexpr static auto name {"dev_permutation_srq_t"}; - size_t size; - char* offset; -}; -struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, - muon_sort_by_station::Parameters::dev_muon_hits_t, - is_muon::Parameters::dev_muon_hits_t { - constexpr static auto name {"dev_muon_hits_t"}; - size_t size; - char* offset; -}; -struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, - muon_sort_by_station::Parameters::dev_muon_compact_hit_t { - constexpr static auto name {"dev_muon_compact_hit_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_station_ocurrences_sizes_t"}; - size_t size; - char* offset; -}; -struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { - constexpr static auto name {"host_muon_total_number_of_hits_t"}; - size_t size; - char* offset; -}; -struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, - muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { - constexpr static auto name {"dev_station_ocurrences_offset_t"}; - size_t size; - char* offset; -}; -struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { - constexpr static auto name {"dev_permutation_station_t"}; - size_t size; - char* offset; -}; -struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { - constexpr static auto name {"dev_muon_track_occupancies_t"}; - size_t size; - char* offset; -}; -struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t { - constexpr static auto name {"dev_is_muon_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t, scifi_calculate_cluster_count_v4::Parameters::host_number_of_selected_events_t, scifi_pre_decode_v4::Parameters::host_number_of_selected_events_t, scifi_raw_bank_decoder_v4::Parameters::host_number_of_selected_events_t, scifi_direct_decoder_v4::Parameters::host_number_of_selected_events_t, lf_search_initial_windows::Parameters::host_number_of_selected_events_t, lf_triplet_seeding::Parameters::host_number_of_selected_events_t, lf_triplet_keep_best::Parameters::host_number_of_selected_events_t, lf_calculate_parametrization::Parameters::host_number_of_selected_events_t, lf_extend_tracks_x::Parameters::host_number_of_selected_events_t, lf_extend_tracks_uv::Parameters::host_number_of_selected_events_t, lf_quality_filter_length::Parameters::host_number_of_selected_events_t, lf_quality_filter::Parameters::host_number_of_selected_events_t, scifi_copy_track_hit_number::Parameters::host_number_of_selected_events_t, scifi_consolidate_tracks::Parameters::host_number_of_selected_events_t, muon_pre_decoding::Parameters::host_number_of_selected_events_t, muon_sort_station_region_quarter::Parameters::host_number_of_selected_events_t, muon_add_coords_crossing_maps::Parameters::host_number_of_selected_events_t, muon_sort_by_station::Parameters::host_number_of_selected_events_t, is_muon::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t, scifi_calculate_cluster_count_v4::Parameters::dev_event_list_t, scifi_pre_decode_v4::Parameters::dev_event_list_t, scifi_raw_bank_decoder_v4::Parameters::dev_event_list_t, scifi_direct_decoder_v4::Parameters::dev_event_list_t, muon_pre_decoding::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_all_velo_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_all_velo_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_all_velo_tracks_t, lf_quality_filter::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_velo_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_velo_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t, lf_search_initial_windows::Parameters::dev_velo_states_t, lf_triplet_seeding::Parameters::dev_velo_states_t, lf_calculate_parametrization::Parameters::dev_velo_states_t, lf_quality_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_search_initial_windows::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_seeding::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_triplet_keep_best::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_calculate_parametrization::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter_length::Parameters::host_number_of_reconstructed_ut_tracks_t, lf_quality_filter::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t, lf_search_initial_windows::Parameters::dev_offsets_ut_tracks_t, lf_triplet_seeding::Parameters::dev_offsets_ut_tracks_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_tracks_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_tracks_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter_length::Parameters::dev_offsets_ut_tracks_t, lf_quality_filter::Parameters::dev_offsets_ut_tracks_t, scifi_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t, lf_search_initial_windows::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_seeding::Parameters::dev_offsets_ut_track_hit_number_t, lf_triplet_keep_best::Parameters::dev_offsets_ut_track_hit_number_t, lf_calculate_parametrization::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_x::Parameters::dev_offsets_ut_track_hit_number_t, lf_extend_tracks_uv::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter_length::Parameters::dev_offsets_ut_track_hit_number_t, lf_quality_filter::Parameters::dev_offsets_ut_track_hit_number_t, scifi_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t, lf_search_initial_windows::Parameters::dev_ut_qop_t, lf_triplet_seeding::Parameters::dev_ut_qop_t, lf_calculate_parametrization::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t, lf_search_initial_windows::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t, lf_search_initial_windows::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t, lf_search_initial_windows::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t, lf_search_initial_windows::Parameters::dev_ut_track_velo_indices_t, lf_triplet_seeding::Parameters::dev_ut_track_velo_indices_t, lf_calculate_parametrization::Parameters::dev_ut_track_velo_indices_t, lf_quality_filter::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_t : data_provider::Parameters::dev_raw_banks_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_t { constexpr static auto name {"dev_scifi_raw_input_t"}; size_t size; char* offset; }; +struct dev_scifi_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, scifi_calculate_cluster_count_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_pre_decode_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_raw_input_offsets_t { constexpr static auto name {"dev_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_count_t : scifi_calculate_cluster_count_v4::Parameters::dev_scifi_hit_count_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_hit_count_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_scifi_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_pre_decode_v4::Parameters::host_accumulated_number_of_scifi_hits_t { constexpr static auto name {"host_accumulated_number_of_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_pre_decode_v4::Parameters::dev_scifi_hit_offsets_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hit_offsets_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hit_offsets_t, lf_search_initial_windows::Parameters::dev_scifi_hit_offsets_t, lf_triplet_seeding::Parameters::dev_scifi_hit_offsets_t, lf_calculate_parametrization::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_x::Parameters::dev_scifi_hit_offsets_t, lf_extend_tracks_uv::Parameters::dev_scifi_hit_offsets_t, lf_quality_filter::Parameters::dev_scifi_hit_offsets_t, scifi_consolidate_tracks::Parameters::dev_scifi_hit_offsets_t { constexpr static auto name {"dev_scifi_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_scifi_hits_t : scifi_pre_decode_v4::Parameters::dev_scifi_hits_t, scifi_raw_bank_decoder_v4::Parameters::dev_scifi_hits_t, scifi_direct_decoder_v4::Parameters::dev_scifi_hits_t, lf_search_initial_windows::Parameters::dev_scifi_hits_t, lf_triplet_seeding::Parameters::dev_scifi_hits_t, lf_calculate_parametrization::Parameters::dev_scifi_hits_t, lf_extend_tracks_x::Parameters::dev_scifi_hits_t, lf_extend_tracks_uv::Parameters::dev_scifi_hits_t, lf_quality_filter::Parameters::dev_scifi_hits_t, scifi_consolidate_tracks::Parameters::dev_scifi_hits_t { constexpr static auto name {"dev_scifi_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_initial_windows_t : lf_search_initial_windows::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_seeding::Parameters::dev_scifi_lf_initial_windows_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_initial_windows_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_initial_windows_t { constexpr static auto name {"dev_scifi_lf_initial_windows_t"}; size_t size; char* offset; }; +struct dev_ut_states_t : lf_search_initial_windows::Parameters::dev_ut_states_t, lf_triplet_seeding::Parameters::dev_ut_states_t, lf_extend_tracks_uv::Parameters::dev_ut_states_t, lf_quality_filter::Parameters::dev_ut_states_t { constexpr static auto name {"dev_ut_states_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_process_track_t : lf_search_initial_windows::Parameters::dev_scifi_lf_process_track_t, lf_triplet_seeding::Parameters::dev_scifi_lf_process_track_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_process_track_t { constexpr static auto name {"dev_scifi_lf_process_track_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_found_triplets_t { constexpr static auto name {"dev_scifi_lf_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_number_of_found_triplets_t : lf_triplet_seeding::Parameters::dev_scifi_lf_number_of_found_triplets_t, lf_triplet_keep_best::Parameters::dev_scifi_lf_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_tracks_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_tracks_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_tracks_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_tracks_t, lf_quality_filter_length::Parameters::dev_scifi_lf_tracks_t { constexpr static auto name {"dev_scifi_lf_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_atomics_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_atomics_t, lf_calculate_parametrization::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_atomics_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_atomics_t, lf_quality_filter_length::Parameters::dev_scifi_lf_atomics_t { constexpr static auto name {"dev_scifi_lf_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_total_number_of_found_triplets_t : lf_triplet_keep_best::Parameters::dev_scifi_lf_total_number_of_found_triplets_t { constexpr static auto name {"dev_scifi_lf_total_number_of_found_triplets_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_t : lf_calculate_parametrization::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_x::Parameters::dev_scifi_lf_parametrization_t, lf_extend_tracks_uv::Parameters::dev_scifi_lf_parametrization_t, lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_t { constexpr static auto name {"dev_scifi_lf_parametrization_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_tracks_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_tracks_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_tracks_t { constexpr static auto name {"dev_scifi_lf_length_filtered_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_length_filtered_atomics_t : lf_quality_filter_length::Parameters::dev_scifi_lf_length_filtered_atomics_t, lf_quality_filter::Parameters::dev_scifi_lf_length_filtered_atomics_t { constexpr static auto name {"dev_scifi_lf_length_filtered_atomics_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_length_filter_t : lf_quality_filter_length::Parameters::dev_scifi_lf_parametrization_length_filter_t, lf_quality_filter::Parameters::dev_scifi_lf_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_atomics_scifi_t : lf_quality_filter::Parameters::dev_atomics_scifi_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_scifi_t"}; size_t size; char* offset; }; +struct dev_scifi_tracks_t : lf_quality_filter::Parameters::dev_scifi_tracks_t, scifi_copy_track_hit_number::Parameters::dev_scifi_tracks_t, scifi_consolidate_tracks::Parameters::dev_scifi_tracks_t { constexpr static auto name {"dev_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_y_parametrization_length_filter_t : lf_quality_filter::Parameters::dev_scifi_lf_y_parametrization_length_filter_t { constexpr static auto name {"dev_scifi_lf_y_parametrization_length_filter_t"}; size_t size; char* offset; }; +struct dev_scifi_lf_parametrization_consolidate_t : lf_quality_filter::Parameters::dev_scifi_lf_parametrization_consolidate_t, scifi_consolidate_tracks::Parameters::dev_scifi_lf_parametrization_consolidate_t { constexpr static auto name {"dev_scifi_lf_parametrization_consolidate_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_copy_track_hit_number::Parameters::host_number_of_reconstructed_scifi_tracks_t, scifi_consolidate_tracks::Parameters::host_number_of_reconstructed_scifi_tracks_t, is_muon::Parameters::host_number_of_reconstructed_scifi_tracks_t { constexpr static auto name {"host_number_of_reconstructed_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_forward_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_copy_track_hit_number::Parameters::dev_offsets_forward_tracks_t, scifi_consolidate_tracks::Parameters::dev_offsets_forward_tracks_t, is_muon::Parameters::dev_offsets_forward_tracks_t { constexpr static auto name {"dev_offsets_forward_tracks_t"}; size_t size; char* offset; }; +struct dev_scifi_track_hit_number_t : scifi_copy_track_hit_number::Parameters::dev_scifi_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_scifi_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_scifi_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, scifi_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_scifi_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_scifi_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_scifi_track_hit_number : host_prefix_sum::Parameters::dev_output_buffer_t, scifi_consolidate_tracks::Parameters::dev_offsets_scifi_track_hit_number, is_muon::Parameters::dev_offsets_scifi_track_hit_number { constexpr static auto name {"dev_offsets_scifi_track_hit_number"}; size_t size; char* offset; }; +struct dev_scifi_track_hits_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_hits_t { constexpr static auto name {"dev_scifi_track_hits_t"}; size_t size; char* offset; }; +struct dev_scifi_qop_t : scifi_consolidate_tracks::Parameters::dev_scifi_qop_t, is_muon::Parameters::dev_scifi_qop_t { constexpr static auto name {"dev_scifi_qop_t"}; size_t size; char* offset; }; +struct dev_scifi_states_t : scifi_consolidate_tracks::Parameters::dev_scifi_states_t, is_muon::Parameters::dev_scifi_states_t { constexpr static auto name {"dev_scifi_states_t"}; size_t size; char* offset; }; +struct dev_scifi_track_ut_indices_t : scifi_consolidate_tracks::Parameters::dev_scifi_track_ut_indices_t, is_muon::Parameters::dev_scifi_track_ut_indices_t { constexpr static auto name {"dev_scifi_track_ut_indices_t"}; size_t size; char* offset; }; +struct dev_muon_raw_t : data_provider::Parameters::dev_raw_banks_t, muon_pre_decoding::Parameters::dev_muon_raw_t { constexpr static auto name {"dev_muon_raw_t"}; size_t size; char* offset; }; +struct dev_muon_raw_offsets_t : data_provider::Parameters::dev_raw_offsets_t, muon_pre_decoding::Parameters::dev_muon_raw_offsets_t { constexpr static auto name {"dev_muon_raw_offsets_t"}; size_t size; char* offset; }; +struct dev_muon_raw_to_hits_t : muon_pre_decoding::Parameters::dev_muon_raw_to_hits_t, muon_add_coords_crossing_maps::Parameters::dev_muon_raw_to_hits_t, muon_sort_by_station::Parameters::dev_muon_raw_to_hits_t { constexpr static auto name {"dev_muon_raw_to_hits_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_sizes_t : muon_pre_decoding::Parameters::dev_storage_station_region_quarter_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_storage_station_region_quarter_sizes_t"}; size_t size; char* offset; }; +struct dev_storage_tile_id_t : muon_pre_decoding::Parameters::dev_storage_tile_id_t, muon_sort_station_region_quarter::Parameters::dev_storage_tile_id_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tile_id_t, muon_sort_by_station::Parameters::dev_storage_tile_id_t { constexpr static auto name {"dev_storage_tile_id_t"}; size_t size; char* offset; }; +struct dev_storage_tdc_value_t : muon_pre_decoding::Parameters::dev_storage_tdc_value_t, muon_sort_station_region_quarter::Parameters::dev_storage_tdc_value_t, muon_add_coords_crossing_maps::Parameters::dev_storage_tdc_value_t, muon_sort_by_station::Parameters::dev_storage_tdc_value_t { constexpr static auto name {"dev_storage_tdc_value_t"}; size_t size; char* offset; }; +struct dev_atomics_muon_t : muon_pre_decoding::Parameters::dev_atomics_muon_t, muon_sort_station_region_quarter::Parameters::dev_atomics_muon_t, muon_add_coords_crossing_maps::Parameters::dev_atomics_muon_t, muon_sort_by_station::Parameters::dev_atomics_muon_t { constexpr static auto name {"dev_atomics_muon_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_tiles_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_tiles_t"}; size_t size; char* offset; }; +struct dev_storage_station_region_quarter_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_add_coords_crossing_maps::Parameters::dev_storage_station_region_quarter_offsets_t { constexpr static auto name {"dev_storage_station_region_quarter_offsets_t"}; size_t size; char* offset; }; +struct dev_permutation_srq_t : muon_sort_station_region_quarter::Parameters::dev_permutation_srq_t { constexpr static auto name {"dev_permutation_srq_t"}; size_t size; char* offset; }; +struct dev_muon_hits_t : muon_add_coords_crossing_maps::Parameters::dev_muon_hits_t, muon_sort_by_station::Parameters::dev_muon_hits_t, is_muon::Parameters::dev_muon_hits_t { constexpr static auto name {"dev_muon_hits_t"}; size_t size; char* offset; }; +struct dev_muon_compact_hit_t : muon_add_coords_crossing_maps::Parameters::dev_muon_compact_hit_t, muon_sort_by_station::Parameters::dev_muon_compact_hit_t { constexpr static auto name {"dev_muon_compact_hit_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_sizes_t : muon_add_coords_crossing_maps::Parameters::dev_station_ocurrences_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_station_ocurrences_sizes_t"}; size_t size; char* offset; }; +struct host_muon_total_number_of_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t { constexpr static auto name {"host_muon_total_number_of_hits_t"}; size_t size; char* offset; }; +struct dev_station_ocurrences_offset_t : host_prefix_sum::Parameters::dev_output_buffer_t, muon_sort_by_station::Parameters::dev_station_ocurrences_offset_t { constexpr static auto name {"dev_station_ocurrences_offset_t"}; size_t size; char* offset; }; +struct dev_permutation_station_t : muon_sort_by_station::Parameters::dev_permutation_station_t { constexpr static auto name {"dev_permutation_station_t"}; size_t size; char* offset; }; +struct dev_muon_track_occupancies_t : is_muon::Parameters::dev_muon_track_occupancies_t { constexpr static auto name {"dev_muon_track_occupancies_t"}; size_t size; char* offset; }; +struct dev_is_muon_t : is_muon::Parameters::dev_is_muon_t { constexpr static auto name {"dev_is_muon_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_count_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - '_', - 'c', - 'o', - 'u', - 'n', - 't', - '_', - 'v', - '4', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'h', - 'i', - 't', - 's'>, - scifi_pre_decode_v4::scifi_pre_decode_v4_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_scifi_hits_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_event_list_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'v', - '4', - '_', - 't'>, - scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - scifi_direct_decoder_v4::scifi_direct_decoder_v4_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_raw_input_t, - dev_scifi_raw_input_offsets_t, - dev_scifi_hit_offsets_t, - dev_scifi_hits_t, - dev_event_list_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'd', - 'i', - 'r', - 'e', - 'c', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - 'r', - '_', - 'v', - '4', - '_', - 't'>, - lf_search_initial_windows::lf_search_initial_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_qop_t, - dev_ut_track_velo_indices_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t>, - 'l', - 'f', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'i', - 'n', - 'i', - 't', - 'i', - 'a', - 'l', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - lf_triplet_seeding::lf_triplet_seeding_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_initial_windows_t, - dev_ut_states_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 's', - 'e', - 'e', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - lf_triplet_keep_best::lf_triplet_keep_best_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_process_track_t, - dev_scifi_lf_found_triplets_t, - dev_scifi_lf_number_of_found_triplets_t, - dev_scifi_lf_total_number_of_found_triplets_t>, - 'l', - 'f', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 'k', - 'e', - 'e', - 'p', - '_', - 'b', - 'e', - 's', - 't', - '_', - 't'>, - lf_calculate_parametrization::lf_calculate_parametrization_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_track_velo_indices_t, - dev_ut_qop_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'a', - 'r', - 'a', - 'm', - 'e', - 't', - 'r', - 'i', - 'z', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - lf_extend_tracks_x::lf_extend_tracks_x_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'x', - '_', - 't'>, - lf_extend_tracks_uv::lf_extend_tracks_uv_t< - std::tuple< - host_number_of_selected_events_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_ut_states_t, - dev_scifi_lf_initial_windows_t, - dev_scifi_lf_parametrization_t>, - 'l', - 'f', - '_', - 'e', - 'x', - 't', - 'e', - 'n', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'u', - 'v', - '_', - 't'>, - lf_quality_filter_length::lf_quality_filter_length_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_tracks_t, - dev_scifi_lf_atomics_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_scifi_lf_parametrization_t, - dev_scifi_lf_parametrization_length_filter_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 'l', - 'e', - 'n', - 'g', - 't', - 'h', - '_', - 't'>, - lf_quality_filter::lf_quality_filter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_lf_length_filtered_tracks_t, - dev_scifi_lf_length_filtered_atomics_t, - dev_atomics_scifi_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_length_filter_t, - dev_scifi_lf_y_parametrization_length_filter_t, - dev_scifi_lf_parametrization_consolidate_t, - dev_ut_states_t, - dev_velo_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_ut_track_velo_indices_t>, - 'l', - 'f', - '_', - 'q', - 'u', - 'a', - 'l', - 'i', - 't', - 'y', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'f', - 'o', - 'r', - 'w', - 'a', - 'r', - 'd', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - scifi_copy_track_hit_number::scifi_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_ut_tracks_t, - dev_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_scifi_track_hit_number_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_scifi_tracks_t, - dev_scifi_track_hit_number_t, - dev_offsets_scifi_track_hit_number>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - scifi_consolidate_tracks::scifi_consolidate_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_scifi_tracks_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_scifi_hits_t, - dev_scifi_hit_offsets_t, - dev_scifi_track_hits_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_scifi_tracks_t, - dev_scifi_lf_parametrization_consolidate_t>, - 's', - 'c', - 'i', - 'f', - 'i', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - muon_pre_decoding::muon_pre_decoding_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_muon_raw_t, - dev_muon_raw_offsets_t, - dev_muon_raw_to_hits_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_muon_total_number_of_tiles_t, - dev_storage_station_region_quarter_sizes_t, - dev_storage_station_region_quarter_offsets_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'i', - 'n', - 'g', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_station_region_quarter::muon_sort_station_region_quarter_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_srq_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'r', - 'e', - 'g', - 'i', - 'o', - 'n', - '_', - 'q', - 'u', - 'a', - 'r', - 't', - 'e', - 'r', - '_', - 't'>, - muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_station_region_quarter_offsets_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_muon_hits_t, - dev_muon_raw_to_hits_t, - dev_muon_compact_hit_t, - dev_station_ocurrences_sizes_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 'a', - 'd', - 'd', - '_', - 'c', - 'o', - 'o', - 'r', - 'd', - 's', - '_', - 'c', - 'r', - 'o', - 's', - 's', - 'i', - 'n', - 'g', - '_', - 'm', - 'a', - 'p', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 'o', - 'c', - 'u', - 'r', - 'r', - 'e', - 'n', - 'c', - 'e', - '_', - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm'>, - muon_sort_by_station::muon_sort_by_station_t< - std::tuple< - host_number_of_selected_events_t, - dev_storage_tile_id_t, - dev_storage_tdc_value_t, - dev_atomics_muon_t, - dev_permutation_station_t, - dev_muon_hits_t, - dev_station_ocurrences_offset_t, - dev_muon_compact_hit_t, - dev_muon_raw_to_hits_t>, - 'm', - 'u', - 'o', - 'n', - '_', - 's', - 'o', - 'r', - 't', - '_', - 'b', - 'y', - '_', - 's', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - is_muon::is_muon_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_scifi_tracks_t, - dev_offsets_forward_tracks_t, - dev_offsets_scifi_track_hit_number, - dev_scifi_qop_t, - dev_scifi_states_t, - dev_scifi_track_ut_indices_t, - dev_muon_hits_t, - dev_muon_track_occupancies_t, - dev_is_muon_t>, - 'i', - 's', - '_', - 'm', - 'u', - 'o', - 'n', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + scifi_calculate_cluster_count_v4::scifi_calculate_cluster_count_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '_', 'v', '4', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 'h', 'i', 't', 's'>, + scifi_pre_decode_v4::scifi_pre_decode_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'v', '4', '_', 't'>, + scifi_raw_bank_decoder_v4::scifi_raw_bank_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + scifi_direct_decoder_v4::scifi_direct_decoder_v4_t, 's', 'c', 'i', 'f', 'i', '_', 'd', 'i', 'r', 'e', 'c', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', 'r', '_', 'v', '4', '_', 't'>, + lf_search_initial_windows::lf_search_initial_windows_t, 'l', 'f', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'i', 'n', 'i', 't', 'i', 'a', 'l', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + lf_triplet_seeding::lf_triplet_seeding_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 's', 'e', 'e', 'd', 'i', 'n', 'g', '_', 't'>, + lf_triplet_keep_best::lf_triplet_keep_best_t, 'l', 'f', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 'k', 'e', 'e', 'p', '_', 'b', 'e', 's', 't', '_', 't'>, + lf_calculate_parametrization::lf_calculate_parametrization_t, 'l', 'f', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'r', 'i', 'z', 'a', 't', 'i', 'o', 'n', '_', 't'>, + lf_extend_tracks_x::lf_extend_tracks_x_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'x', '_', 't'>, + lf_extend_tracks_uv::lf_extend_tracks_uv_t, 'l', 'f', '_', 'e', 'x', 't', 'e', 'n', 'd', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'u', 'v', '_', 't'>, + lf_quality_filter_length::lf_quality_filter_length_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 't'>, + lf_quality_filter::lf_quality_filter_t, 'l', 'f', '_', 'q', 'u', 'a', 'l', 'i', 't', 'y', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'f', 'o', 'r', 'w', 'a', 'r', 'd', '_', 't', 'r', 'a', 'c', 'k', 's'>, + scifi_copy_track_hit_number::scifi_copy_track_hit_number_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 's', 'c', 'i', 'f', 'i', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + scifi_consolidate_tracks::scifi_consolidate_tracks_t, 's', 'c', 'i', 'f', 'i', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + data_provider::data_provider_t, 'm', 'u', 'o', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + muon_pre_decoding::muon_pre_decoding_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_station_region_quarter::muon_sort_station_region_quarter_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'r', 'e', 'g', 'i', 'o', 'n', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', '_', 't'>, + muon_add_coords_crossing_maps::muon_add_coords_crossing_maps_t, 'm', 'u', 'o', 'n', '_', 'a', 'd', 'd', '_', 'c', 'o', 'o', 'r', 'd', 's', '_', 'c', 'r', 'o', 's', 's', 'i', 'n', 'g', '_', 'm', 'a', 'p', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'm', 'u', 'o', 'n', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 'o', 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'e', '_', 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm'>, + muon_sort_by_station::muon_sort_by_station_t, 'm', 'u', 'o', 'n', '_', 's', 'o', 'r', 't', '_', 'b', 'y', '_', 's', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + is_muon::is_muon_t, 'i', 's', '_', 'm', 'u', 'o', 'n', '_', 't'> +>; diff --git a/configuration/pregenerated/muon.json b/configuration/pregenerated/muon.json index 10e6958c99d..d73bc4de05c 100644 --- a/configuration/pregenerated/muon.json +++ b/configuration/pregenerated/muon.json @@ -1,5 +1,12 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, + "scifi_banks": {"bank_type": "FTCluster"}, + "muon_banks": {"bank_type": "Muon"}, "configured_lines": [] } diff --git a/configuration/pregenerated/pv.h b/configuration/pregenerated/pv.h index 9ff83147efc..73d4db5df95 100644 --- a/configuration/pregenerated/pv.h +++ b/configuration/pregenerated/pv.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -25,1173 +28,91 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'> +>; diff --git a/configuration/pregenerated/pv.json b/configuration/pregenerated/pv.json index 7119bb7d6c1..a80bf89680e 100644 --- a/configuration/pregenerated/pv.json +++ b/configuration/pregenerated/pv.json @@ -1,3 +1,7 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, "configured_lines": [] } diff --git a/configuration/pregenerated/ut.h b/configuration/pregenerated/ut.h index 991c1fe2ba5..ae5f1b3c8a0 100644 --- a/configuration/pregenerated/ut.h +++ b/configuration/pregenerated/ut.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -24,6 +27,7 @@ #include "../../cuda/PV/beamlinePV/include/pv_beamline_calculate_denom.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_multi_fitter.cuh" #include "../../cuda/PV/beamlinePV/include/pv_beamline_cleanup.cuh" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/UTDecoding/include/UTPreDecode.cuh" @@ -38,1800 +42,132 @@ #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/UT/consolidate/include/ConsolidateUT.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, - velo_kalman_filter::Parameters::host_number_of_selected_events_t, - pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, - pv_beamline_histo::Parameters::host_number_of_selected_events_t, - pv_beamline_peak::Parameters::host_number_of_selected_events_t, - pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, - pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, - pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, - ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, - ut_pre_decode::Parameters::host_number_of_selected_events_t, - ut_find_permutation::Parameters::host_number_of_selected_events_t, - ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, - ut_search_windows::Parameters::host_number_of_selected_events_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, - compass_ut::Parameters::host_number_of_selected_events_t, - ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - ut_consolidate_tracks::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t, - ut_calculate_number_of_hits::Parameters::dev_event_list_t, - ut_pre_decode::Parameters::dev_event_list_t, - ut_decode_raw_banks_in_order::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, - velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, - ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, - compass_ut::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, - pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, - ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, - ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, - compass_ut::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, - velo_kalman_filter::Parameters::dev_velo_states_t, - ut_select_velo_tracks::Parameters::dev_velo_states_t, - ut_search_windows::Parameters::dev_velo_states_t, - ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, - compass_ut::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, - velo_kalman_filter::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, - pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { - constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, - pv_beamline_histo::Parameters::dev_pvtracks_t, - pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { - constexpr static auto name {"dev_pvtracks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, - pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { - constexpr static auto name {"dev_pvtrack_z_t"}; - size_t size; - char* offset; -}; -struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { - constexpr static auto name {"dev_zhisto_t"}; - size_t size; - char* offset; -}; -struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { - constexpr static auto name {"dev_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, - pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, - pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { - constexpr static auto name {"dev_number_of_zpeaks_t"}; - size_t size; - char* offset; -}; -struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, - pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { - constexpr static auto name {"dev_pvtracks_denom_t"}; - size_t size; - char* offset; -}; -struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { - constexpr static auto name {"dev_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, - pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { - constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { - constexpr static auto name {"dev_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { - constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, - ut_pre_decode::Parameters::dev_ut_raw_input_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { - constexpr static auto name {"dev_ut_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_ut_raw_input_offsets_t : ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, - ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { - constexpr static auto name {"dev_ut_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_hit_sizes_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_ut_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, - ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, - ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { - constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_pre_decode::Parameters::dev_ut_hit_offsets_t, - ut_find_permutation::Parameters::dev_ut_hit_offsets_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, - ut_search_windows::Parameters::dev_ut_hit_offsets_t, - compass_ut::Parameters::dev_ut_hit_offsets_t, - ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { - constexpr static auto name {"dev_ut_hit_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, - ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { - constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { - constexpr static auto name {"dev_ut_hit_count_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, - ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { - constexpr static auto name {"dev_ut_hit_permutations_t"}; - size_t size; - char* offset; -}; -struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, - ut_search_windows::Parameters::dev_ut_hits_t, - compass_ut::Parameters::dev_ut_hits_t, - ut_consolidate_tracks::Parameters::dev_ut_hits_t { - constexpr static auto name {"dev_ut_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_t - : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, - ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, - ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, - compass_ut::Parameters::dev_ut_windows_layers_t { - constexpr static auto name {"dev_ut_windows_layers_t"}; - size_t size; - char* offset; -}; -struct dev_ut_number_of_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_selected_velo_tracks_with_windows_t - : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, - compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { - constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, - ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_ut_tracks_t { - constexpr static auto name {"dev_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_atomics_ut_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, - ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { - constexpr static auto name {"dev_offsets_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_ut_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { - constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { - constexpr static auto name {"dev_ut_track_hits_t"}; - size_t size; - char* offset; -}; -struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t { - constexpr static auto name {"dev_ut_qop_t"}; - size_t size; - char* offset; -}; -struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t { - constexpr static auto name {"dev_ut_x_t"}; - size_t size; - char* offset; -}; -struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t { - constexpr static auto name {"dev_ut_tx_t"}; - size_t size; - char* offset; -}; -struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t { - constexpr static auto name {"dev_ut_z_t"}; - size_t size; - char* offset; -}; -struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t { - constexpr static auto name {"dev_ut_track_velo_indices_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t, velo_kalman_filter::Parameters::host_number_of_selected_events_t, pv_beamline_extrapolate::Parameters::host_number_of_selected_events_t, pv_beamline_histo::Parameters::host_number_of_selected_events_t, pv_beamline_peak::Parameters::host_number_of_selected_events_t, pv_beamline_calculate_denom::Parameters::host_number_of_selected_events_t, pv_beamline_multi_fitter::Parameters::host_number_of_selected_events_t, pv_beamline_cleanup::Parameters::host_number_of_selected_events_t, ut_calculate_number_of_hits::Parameters::host_number_of_selected_events_t, ut_pre_decode::Parameters::host_number_of_selected_events_t, ut_find_permutation::Parameters::host_number_of_selected_events_t, ut_decode_raw_banks_in_order::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks::Parameters::host_number_of_selected_events_t, ut_search_windows::Parameters::host_number_of_selected_events_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_selected_events_t, compass_ut::Parameters::host_number_of_selected_events_t, ut_copy_track_hit_number::Parameters::host_number_of_selected_events_t, ut_consolidate_tracks::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t, ut_calculate_number_of_hits::Parameters::dev_event_list_t, ut_pre_decode::Parameters::dev_event_list_t, ut_decode_raw_banks_in_order::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_kalman_filter::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_extrapolate::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_calculate_denom::Parameters::host_number_of_reconstructed_velo_tracks_t, pv_beamline_multi_fitter::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_search_windows::Parameters::host_number_of_reconstructed_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t, velo_kalman_filter::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_extrapolate::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_histo::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_calculate_denom::Parameters::dev_offsets_all_velo_tracks_t, pv_beamline_multi_fitter::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_offsets_all_velo_tracks_t, ut_search_windows::Parameters::dev_offsets_all_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_all_velo_tracks_t, compass_ut::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t, velo_kalman_filter::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_extrapolate::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_histo::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_calculate_denom::Parameters::dev_offsets_velo_track_hit_number_t, pv_beamline_multi_fitter::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks::Parameters::dev_offsets_velo_track_hit_number_t, ut_search_windows::Parameters::dev_offsets_velo_track_hit_number_t, ut_select_velo_tracks_with_windows::Parameters::dev_offsets_velo_track_hit_number_t, compass_ut::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks::Parameters::dev_accepted_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t, velo_kalman_filter::Parameters::dev_velo_states_t, ut_select_velo_tracks::Parameters::dev_velo_states_t, ut_search_windows::Parameters::dev_velo_states_t, ut_select_velo_tracks_with_windows::Parameters::dev_velo_states_t, compass_ut::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t, velo_kalman_filter::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; +struct dev_velo_kalman_beamline_states_t : velo_kalman_filter::Parameters::dev_velo_kalman_beamline_states_t, pv_beamline_extrapolate::Parameters::dev_velo_kalman_beamline_states_t { constexpr static auto name {"dev_velo_kalman_beamline_states_t"}; size_t size; char* offset; }; +struct dev_pvtracks_t : pv_beamline_extrapolate::Parameters::dev_pvtracks_t, pv_beamline_histo::Parameters::dev_pvtracks_t, pv_beamline_calculate_denom::Parameters::dev_pvtracks_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_t { constexpr static auto name {"dev_pvtracks_t"}; size_t size; char* offset; }; +struct dev_pvtrack_z_t : pv_beamline_extrapolate::Parameters::dev_pvtrack_z_t, pv_beamline_multi_fitter::Parameters::dev_pvtrack_z_t { constexpr static auto name {"dev_pvtrack_z_t"}; size_t size; char* offset; }; +struct dev_zhisto_t : pv_beamline_histo::Parameters::dev_zhisto_t, pv_beamline_peak::Parameters::dev_zhisto_t { constexpr static auto name {"dev_zhisto_t"}; size_t size; char* offset; }; +struct dev_zpeaks_t : pv_beamline_peak::Parameters::dev_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_zpeaks_t { constexpr static auto name {"dev_zpeaks_t"}; size_t size; char* offset; }; +struct dev_number_of_zpeaks_t : pv_beamline_peak::Parameters::dev_number_of_zpeaks_t, pv_beamline_calculate_denom::Parameters::dev_number_of_zpeaks_t, pv_beamline_multi_fitter::Parameters::dev_number_of_zpeaks_t { constexpr static auto name {"dev_number_of_zpeaks_t"}; size_t size; char* offset; }; +struct dev_pvtracks_denom_t : pv_beamline_calculate_denom::Parameters::dev_pvtracks_denom_t, pv_beamline_multi_fitter::Parameters::dev_pvtracks_denom_t { constexpr static auto name {"dev_pvtracks_denom_t"}; size_t size; char* offset; }; +struct dev_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_multi_fit_vertices_t { constexpr static auto name {"dev_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_fit_vertices_t : pv_beamline_multi_fitter::Parameters::dev_number_of_multi_fit_vertices_t, pv_beamline_cleanup::Parameters::dev_number_of_multi_fit_vertices_t { constexpr static auto name {"dev_number_of_multi_fit_vertices_t"}; size_t size; char* offset; }; +struct dev_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_multi_final_vertices_t { constexpr static auto name {"dev_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_number_of_multi_final_vertices_t : pv_beamline_cleanup::Parameters::dev_number_of_multi_final_vertices_t { constexpr static auto name {"dev_number_of_multi_final_vertices_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_t : data_provider::Parameters::dev_raw_banks_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_t, ut_pre_decode::Parameters::dev_ut_raw_input_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_t { constexpr static auto name {"dev_ut_raw_input_t"}; size_t size; char* offset; }; +struct dev_ut_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, ut_calculate_number_of_hits::Parameters::dev_ut_raw_input_offsets_t, ut_pre_decode::Parameters::dev_ut_raw_input_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_raw_input_offsets_t { constexpr static auto name {"dev_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_hit_sizes_t : ut_calculate_number_of_hits::Parameters::dev_ut_hit_sizes_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_hit_sizes_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_ut_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_pre_decode::Parameters::host_accumulated_number_of_ut_hits_t, ut_find_permutation::Parameters::host_accumulated_number_of_ut_hits_t, ut_decode_raw_banks_in_order::Parameters::host_accumulated_number_of_ut_hits_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_ut_hits_t { constexpr static auto name {"host_accumulated_number_of_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_pre_decode::Parameters::dev_ut_hit_offsets_t, ut_find_permutation::Parameters::dev_ut_hit_offsets_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_offsets_t, ut_search_windows::Parameters::dev_ut_hit_offsets_t, compass_ut::Parameters::dev_ut_hit_offsets_t, ut_consolidate_tracks::Parameters::dev_ut_hit_offsets_t { constexpr static auto name {"dev_ut_hit_offsets_t"}; size_t size; char* offset; }; +struct dev_ut_pre_decoded_hits_t : ut_pre_decode::Parameters::dev_ut_pre_decoded_hits_t, ut_find_permutation::Parameters::dev_ut_pre_decoded_hits_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_pre_decoded_hits_t { constexpr static auto name {"dev_ut_pre_decoded_hits_t"}; size_t size; char* offset; }; +struct dev_ut_hit_count_t : ut_pre_decode::Parameters::dev_ut_hit_count_t { constexpr static auto name {"dev_ut_hit_count_t"}; size_t size; char* offset; }; +struct dev_ut_hit_permutations_t : ut_find_permutation::Parameters::dev_ut_hit_permutations_t, ut_decode_raw_banks_in_order::Parameters::dev_ut_hit_permutations_t { constexpr static auto name {"dev_ut_hit_permutations_t"}; size_t size; char* offset; }; +struct dev_ut_hits_t : ut_decode_raw_banks_in_order::Parameters::dev_ut_hits_t, ut_search_windows::Parameters::dev_ut_hits_t, compass_ut::Parameters::dev_ut_hits_t, ut_consolidate_tracks::Parameters::dev_ut_hits_t { constexpr static auto name {"dev_ut_hits_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_t : ut_select_velo_tracks::Parameters::dev_ut_selected_velo_tracks_t, ut_search_windows::Parameters::dev_ut_selected_velo_tracks_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_t { constexpr static auto name {"dev_ut_selected_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_windows_layers_t : ut_search_windows::Parameters::dev_ut_windows_layers_t, ut_select_velo_tracks_with_windows::Parameters::dev_ut_windows_layers_t, compass_ut::Parameters::dev_ut_windows_layers_t { constexpr static auto name {"dev_ut_windows_layers_t"}; size_t size; char* offset; }; +struct dev_ut_number_of_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_number_of_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_number_of_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_selected_velo_tracks_with_windows_t : ut_select_velo_tracks_with_windows::Parameters::dev_ut_selected_velo_tracks_with_windows_t, compass_ut::Parameters::dev_ut_selected_velo_tracks_with_windows_t { constexpr static auto name {"dev_ut_selected_velo_tracks_with_windows_t"}; size_t size; char* offset; }; +struct dev_ut_tracks_t : compass_ut::Parameters::dev_ut_tracks_t, ut_copy_track_hit_number::Parameters::dev_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_ut_tracks_t { constexpr static auto name {"dev_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_atomics_ut_t : compass_ut::Parameters::dev_atomics_ut_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_atomics_ut_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_copy_track_hit_number::Parameters::host_number_of_reconstructed_ut_tracks_t, ut_consolidate_tracks::Parameters::host_number_of_reconstructed_ut_tracks_t { constexpr static auto name {"host_number_of_reconstructed_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_copy_track_hit_number::Parameters::dev_offsets_ut_tracks_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_tracks_t { constexpr static auto name {"dev_offsets_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_ut_track_hit_number_t : ut_copy_track_hit_number::Parameters::dev_ut_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_ut_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, ut_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_ut_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_ut_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_ut_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, ut_consolidate_tracks::Parameters::dev_offsets_ut_track_hit_number_t { constexpr static auto name {"dev_offsets_ut_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_ut_track_hits_t : ut_consolidate_tracks::Parameters::dev_ut_track_hits_t { constexpr static auto name {"dev_ut_track_hits_t"}; size_t size; char* offset; }; +struct dev_ut_qop_t : ut_consolidate_tracks::Parameters::dev_ut_qop_t { constexpr static auto name {"dev_ut_qop_t"}; size_t size; char* offset; }; +struct dev_ut_x_t : ut_consolidate_tracks::Parameters::dev_ut_x_t { constexpr static auto name {"dev_ut_x_t"}; size_t size; char* offset; }; +struct dev_ut_tx_t : ut_consolidate_tracks::Parameters::dev_ut_tx_t { constexpr static auto name {"dev_ut_tx_t"}; size_t size; char* offset; }; +struct dev_ut_z_t : ut_consolidate_tracks::Parameters::dev_ut_z_t { constexpr static auto name {"dev_ut_z_t"}; size_t size; char* offset; }; +struct dev_ut_track_velo_indices_t : ut_consolidate_tracks::Parameters::dev_ut_track_velo_indices_t { constexpr static auto name {"dev_ut_track_velo_indices_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - velo_kalman_filter::velo_kalman_filter_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_track_hits_t, - dev_velo_states_t, - dev_velo_kalman_beamline_states_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'k', - 'a', - 'l', - 'm', - 'a', - 'n', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_extrapolate::pv_beamline_extrapolate_t< - std::tuple< - host_number_of_reconstructed_velo_tracks_t, - host_number_of_selected_events_t, - dev_velo_kalman_beamline_states_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'e', - 'x', - 't', - 'r', - 'a', - 'p', - 'o', - 'l', - 'a', - 't', - 'e', - '_', - 't'>, - pv_beamline_histo::pv_beamline_histo_t< - std::tuple< - host_number_of_selected_events_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_zhisto_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'h', - 'i', - 's', - 't', - 'o', - '_', - 't'>, - pv_beamline_peak::pv_beamline_peak_t< - std::tuple, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'p', - 'e', - 'a', - 'k', - '_', - 't'>, - pv_beamline_calculate_denom::pv_beamline_calculate_denom_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'd', - 'e', - 'n', - 'o', - 'm', - '_', - 't'>, - pv_beamline_multi_fitter::pv_beamline_multi_fitter_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_pvtracks_t, - dev_pvtracks_denom_t, - dev_zpeaks_t, - dev_number_of_zpeaks_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_pvtrack_z_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'm', - 'u', - 'l', - 't', - 'i', - '_', - 'f', - 'i', - 't', - 't', - 'e', - 'r', - '_', - 't'>, - pv_beamline_cleanup::pv_beamline_cleanup_t< - std::tuple< - host_number_of_selected_events_t, - dev_multi_fit_vertices_t, - dev_number_of_multi_fit_vertices_t, - dev_multi_final_vertices_t, - dev_number_of_multi_final_vertices_t>, - 'p', - 'v', - '_', - 'b', - 'e', - 'a', - 'm', - 'l', - 'i', - 'n', - 'e', - '_', - 'c', - 'l', - 'e', - 'a', - 'n', - 'u', - 'p', - '_', - 't'>, - ut_calculate_number_of_hits::ut_calculate_number_of_hits_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_ut_hit_sizes_t>, - 'u', - 't', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'h', - 'i', - 't', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 'h', - 'i', - 't', - 's'>, - ut_pre_decode::ut_pre_decode_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_count_t>, - 'u', - 't', - '_', - 'p', - 'r', - 'e', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 't'>, - ut_find_permutation::ut_find_permutation_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hit_offsets_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'f', - 'i', - 'n', - 'd', - '_', - 'p', - 'e', - 'r', - 'm', - 'u', - 't', - 'a', - 't', - 'i', - 'o', - 'n', - '_', - 't'>, - ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t< - std::tuple< - host_number_of_selected_events_t, - host_accumulated_number_of_ut_hits_t, - dev_ut_raw_input_t, - dev_ut_raw_input_offsets_t, - dev_event_list_t, - dev_ut_hit_offsets_t, - dev_ut_pre_decoded_hits_t, - dev_ut_hits_t, - dev_ut_hit_permutations_t>, - 'u', - 't', - '_', - 'd', - 'e', - 'c', - 'o', - 'd', - 'e', - '_', - 'r', - 'a', - 'w', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 'i', - 'n', - '_', - 'o', - 'r', - 'd', - 'e', - 'r', - '_', - 't'>, - ut_select_velo_tracks::ut_select_velo_tracks_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>, - ut_search_windows::ut_search_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t>, - 'u', - 't', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_accepted_velo_tracks_t, - dev_ut_number_of_selected_velo_tracks_t, - dev_ut_selected_velo_tracks_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'u', - 't', - '_', - 's', - 'e', - 'l', - 'e', - 'c', - 't', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'w', - 'i', - 't', - 'h', - '_', - 'w', - 'i', - 'n', - 'd', - 'o', - 'w', - 's', - '_', - 't'>, - compass_ut::compass_ut_t< - std::tuple< - host_number_of_selected_events_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_offsets_all_velo_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_velo_states_t, - dev_ut_tracks_t, - dev_atomics_ut_t, - dev_ut_windows_layers_t, - dev_ut_number_of_selected_velo_tracks_with_windows_t, - dev_ut_selected_velo_tracks_with_windows_t>, - 'c', - 'o', - 'm', - 'p', - 'a', - 's', - 's', - '_', - 'u', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - ut_copy_track_hit_number::ut_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_reconstructed_ut_tracks_t, - dev_ut_tracks_t, - dev_offsets_ut_tracks_t, - dev_ut_track_hit_number_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_track_hit_number_t, - dev_offsets_ut_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'u', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - ut_consolidate_tracks::ut_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_ut_hits_t, - host_number_of_reconstructed_ut_tracks_t, - host_number_of_selected_events_t, - host_accumulated_number_of_hits_in_ut_tracks_t, - dev_ut_hits_t, - dev_ut_hit_offsets_t, - dev_ut_track_hits_t, - dev_offsets_ut_tracks_t, - dev_offsets_ut_track_hit_number_t, - dev_ut_qop_t, - dev_ut_x_t, - dev_ut_tx_t, - dev_ut_z_t, - dev_ut_track_velo_indices_t, - dev_ut_tracks_t>, - 'u', - 't', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + velo_kalman_filter::velo_kalman_filter_t, 'v', 'e', 'l', 'o', '_', 'k', 'a', 'l', 'm', 'a', 'n', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + pv_beamline_extrapolate::pv_beamline_extrapolate_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'e', 'x', 't', 'r', 'a', 'p', 'o', 'l', 'a', 't', 'e', '_', 't'>, + pv_beamline_histo::pv_beamline_histo_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'h', 'i', 's', 't', 'o', '_', 't'>, + pv_beamline_peak::pv_beamline_peak_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'p', 'e', 'a', 'k', '_', 't'>, + pv_beamline_calculate_denom::pv_beamline_calculate_denom_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'd', 'e', 'n', 'o', 'm', '_', 't'>, + pv_beamline_multi_fitter::pv_beamline_multi_fitter_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'm', 'u', 'l', 't', 'i', '_', 'f', 'i', 't', 't', 'e', 'r', '_', 't'>, + pv_beamline_cleanup::pv_beamline_cleanup_t, 'p', 'v', '_', 'b', 'e', 'a', 'm', 'l', 'i', 'n', 'e', '_', 'c', 'l', 'e', 'a', 'n', 'u', 'p', '_', 't'>, + data_provider::data_provider_t, 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + ut_calculate_number_of_hits::ut_calculate_number_of_hits_t, 'u', 't', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'h', 'i', 't', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 'h', 'i', 't', 's'>, + ut_pre_decode::ut_pre_decode_t, 'u', 't', '_', 'p', 'r', 'e', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 't'>, + ut_find_permutation::ut_find_permutation_t, 'u', 't', '_', 'f', 'i', 'n', 'd', '_', 'p', 'e', 'r', 'm', 'u', 't', 'a', 't', 'i', 'o', 'n', '_', 't'>, + ut_decode_raw_banks_in_order::ut_decode_raw_banks_in_order_t, 'u', 't', '_', 'd', 'e', 'c', 'o', 'd', 'e', '_', 'r', 'a', 'w', '_', 'b', 'a', 'n', 'k', 's', '_', 'i', 'n', '_', 'o', 'r', 'd', 'e', 'r', '_', 't'>, + ut_select_velo_tracks::ut_select_velo_tracks_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'>, + ut_search_windows::ut_search_windows_t, 'u', 't', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + ut_select_velo_tracks_with_windows::ut_select_velo_tracks_with_windows_t, 'u', 't', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'w', 'i', 't', 'h', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_', 't'>, + compass_ut::compass_ut_t, 'c', 'o', 'm', 'p', 'a', 's', 's', '_', 'u', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', 's'>, + ut_copy_track_hit_number::ut_copy_track_hit_number_t, 'u', 't', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'u', 't', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + ut_consolidate_tracks::ut_consolidate_tracks_t, 'u', 't', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/ut.json b/configuration/pregenerated/ut.json index 10e6958c99d..80cd7ed23ca 100644 --- a/configuration/pregenerated/ut.json +++ b/configuration/pregenerated/ut.json @@ -1,4 +1,9 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, + "ut_banks": {"bank_type": "UT"}, "ut_search_windows_t": {"min_momentum": "1500.0", "min_pt": "300.0"}, "compass_ut_t": {"min_momentum_final": "2500.0", "min_pt_final": "425.0", "max_considered_before_found": "6"}, "configured_lines": [] diff --git a/configuration/pregenerated/velo.h b/configuration/pregenerated/velo.h index afcaf634739..8a31bd59b66 100644 --- a/configuration/pregenerated/velo.h +++ b/configuration/pregenerated/velo.h @@ -2,8 +2,11 @@ #include #include "../../cuda/selections/Hlt1/include/LineTraverser.cuh" -#include "../../cuda/raw_banks/include/PopulateOdinBanks.cuh" +#include "../../x86/data_provider/include/DataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" +#include "../../x86/data_provider/include/HostDataProvider.h" #include "../../x86/global_event_cut/include/HostGlobalEventCut.h" +#include "../../x86/data_provider/include/DataProvider.h" #include "../../cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh" #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/mask_clustering/include/EstimateInputSize.cuh" @@ -18,867 +21,73 @@ #include "../../x86/prefix_sum/include/HostPrefixSum.h" #include "../../cuda/velo/consolidate_tracks/include/VeloConsolidateTracks.cuh" -struct dev_odin_raw_input_t : populate_odin_banks::Parameters::dev_odin_raw_input_t { - constexpr static auto name {"dev_odin_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_odin_raw_input_offsets_t : populate_odin_banks::Parameters::dev_odin_raw_input_offsets_t { - constexpr static auto name {"dev_odin_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { - constexpr static auto name {"host_total_number_of_events_t"}; - size_t size; - char* offset; -}; -struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { - constexpr static auto name {"host_event_list_t"}; - size_t size; - char* offset; -}; -struct host_number_of_selected_events_t - : host_global_event_cut::Parameters::host_number_of_selected_events_t, - velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, - velo_estimate_input_size::Parameters::host_number_of_selected_events_t, - velo_masked_clustering::Parameters::host_number_of_selected_events_t, - velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, - velo_search_by_triplet::Parameters::host_number_of_selected_events_t, - velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, - velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, - velo_consolidate_tracks::Parameters::host_number_of_selected_events_t { - constexpr static auto name {"host_number_of_selected_events_t"}; - size_t size; - char* offset; -}; -struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, - velo_calculate_number_of_candidates::Parameters::dev_event_list_t, - velo_estimate_input_size::Parameters::dev_event_list_t, - velo_masked_clustering::Parameters::dev_event_list_t { - constexpr static auto name {"dev_event_list_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_t { - constexpr static auto name {"dev_velo_raw_input_t"}; - size_t size; - char* offset; -}; -struct dev_velo_raw_input_offsets_t : velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, - velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, - velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { - constexpr static auto name {"dev_velo_raw_input_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_candidates_t"}; - size_t size; - char* offset; -}; -struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { - constexpr static auto name {"host_number_of_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_estimate_input_size::Parameters::dev_candidates_offsets_t, - velo_masked_clustering::Parameters::dev_candidates_offsets_t { - constexpr static auto name {"dev_candidates_offsets_t"}; - size_t size; - char* offset; -}; -struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, - velo_masked_clustering::Parameters::dev_module_candidate_num_t { - constexpr static auto name {"dev_module_candidate_num_t"}; - size_t size; - char* offset; -}; -struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, - velo_masked_clustering::Parameters::dev_cluster_candidates_t { - constexpr static auto name {"dev_cluster_candidates_t"}; - size_t size; - char* offset; -}; -struct host_total_number_of_velo_clusters_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, - velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, - velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { - constexpr static auto name {"host_total_number_of_velo_clusters_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_estimated_input_size_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, - velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, - velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, - velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, - velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { - constexpr static auto name {"dev_offsets_estimated_input_size_t"}; - size_t size; - char* offset; -}; -struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, - velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, - velo_search_by_triplet::Parameters::dev_module_cluster_num_t { - constexpr static auto name {"dev_module_cluster_num_t"}; - size_t size; - char* offset; -}; -struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, - velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { - constexpr static auto name {"dev_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_sorted_velo_cluster_container_t - : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, - velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, - velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, - velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { - constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; - size_t size; - char* offset; -}; -struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { - constexpr static auto name {"dev_hit_permutation_t"}; - size_t size; - char* offset; -}; -struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, - velo_search_by_triplet::Parameters::dev_hit_phi_t { - constexpr static auto name {"dev_hit_phi_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, - velo_copy_track_hit_number::Parameters::dev_tracks_t, - velo_consolidate_tracks::Parameters::dev_tracks_t { - constexpr static auto name {"dev_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { - constexpr static auto name {"dev_tracklets_t"}; - size_t size; - char* offset; -}; -struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { - constexpr static auto name {"dev_tracks_to_follow_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, - velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { - constexpr static auto name {"dev_three_hit_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, - velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { - constexpr static auto name {"dev_hit_used_t"}; - size_t size; - char* offset; -}; -struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, - velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { - constexpr static auto name {"dev_atomics_velo_t"}; - size_t size; - char* offset; -}; -struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { - constexpr static auto name {"dev_rel_indices_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_number_of_velo_tracks_at_least_four_hits_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { - constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { - constexpr static auto name {"dev_offsets_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, - velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { - constexpr static auto name {"dev_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct dev_number_of_three_hit_tracks_output_t - : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; - size_t size; - char* offset; -}; -struct host_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_number_of_three_hit_tracks_filtered_t - : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, - velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { - constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; - size_t size; - char* offset; -}; -struct host_number_of_reconstructed_velo_tracks_t - : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, - velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t { - constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, - host_prefix_sum::Parameters::dev_input_buffer_t { - constexpr static auto name {"dev_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, - velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t { - constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct host_accumulated_number_of_hits_in_velo_tracks_t - : host_prefix_sum::Parameters::host_total_sum_holder_t, - velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { - constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, - velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t { - constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; - size_t size; - char* offset; -}; -struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t { - constexpr static auto name {"dev_accepted_velo_tracks_t"}; - size_t size; - char* offset; -}; -struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t { - constexpr static auto name {"dev_velo_states_t"}; - size_t size; - char* offset; -}; -struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t { - constexpr static auto name {"dev_velo_track_hits_t"}; - size_t size; - char* offset; -}; +struct dev_odin_raw_input_t : data_provider::Parameters::dev_raw_banks_t { constexpr static auto name {"dev_odin_raw_input_t"}; size_t size; char* offset; }; +struct dev_odin_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t { constexpr static auto name {"dev_odin_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_ut_raw_banks_t { constexpr static auto name {"host_ut_raw_input_t"}; size_t size; char* offset; }; +struct host_ut_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_ut_raw_offsets_t { constexpr static auto name {"host_ut_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_t : host_data_provider::Parameters::host_raw_banks_t, host_global_event_cut::Parameters::host_scifi_raw_banks_t { constexpr static auto name {"host_scifi_raw_input_t"}; size_t size; char* offset; }; +struct host_scifi_raw_input_offsets_t : host_data_provider::Parameters::host_raw_offsets_t, host_global_event_cut::Parameters::host_scifi_raw_offsets_t { constexpr static auto name {"host_scifi_raw_input_offsets_t"}; size_t size; char* offset; }; +struct host_total_number_of_events_t : host_global_event_cut::Parameters::host_total_number_of_events_t { constexpr static auto name {"host_total_number_of_events_t"}; size_t size; char* offset; }; +struct host_event_list_t : host_global_event_cut::Parameters::host_event_list_t { constexpr static auto name {"host_event_list_t"}; size_t size; char* offset; }; +struct host_number_of_selected_events_t : host_global_event_cut::Parameters::host_number_of_selected_events_t, velo_calculate_number_of_candidates::Parameters::host_number_of_selected_events_t, velo_estimate_input_size::Parameters::host_number_of_selected_events_t, velo_masked_clustering::Parameters::host_number_of_selected_events_t, velo_calculate_phi_and_sort::Parameters::host_number_of_selected_events_t, velo_search_by_triplet::Parameters::host_number_of_selected_events_t, velo_three_hit_tracks_filter::Parameters::host_number_of_selected_events_t, velo_copy_track_hit_number::Parameters::host_number_of_selected_events_t, velo_consolidate_tracks::Parameters::host_number_of_selected_events_t { constexpr static auto name {"host_number_of_selected_events_t"}; size_t size; char* offset; }; +struct dev_event_list_t : host_global_event_cut::Parameters::dev_event_list_t, velo_calculate_number_of_candidates::Parameters::dev_event_list_t, velo_estimate_input_size::Parameters::dev_event_list_t, velo_masked_clustering::Parameters::dev_event_list_t { constexpr static auto name {"dev_event_list_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_t : data_provider::Parameters::dev_raw_banks_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_t, velo_masked_clustering::Parameters::dev_velo_raw_input_t { constexpr static auto name {"dev_velo_raw_input_t"}; size_t size; char* offset; }; +struct dev_velo_raw_input_offsets_t : data_provider::Parameters::dev_raw_offsets_t, velo_calculate_number_of_candidates::Parameters::dev_velo_raw_input_offsets_t, velo_estimate_input_size::Parameters::dev_velo_raw_input_offsets_t, velo_masked_clustering::Parameters::dev_velo_raw_input_offsets_t { constexpr static auto name {"dev_velo_raw_input_offsets_t"}; size_t size; char* offset; }; +struct dev_number_of_candidates_t : velo_calculate_number_of_candidates::Parameters::dev_number_of_candidates_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_candidates_t"}; size_t size; char* offset; }; +struct host_number_of_cluster_candidates_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_estimate_input_size::Parameters::host_number_of_cluster_candidates_t { constexpr static auto name {"host_number_of_cluster_candidates_t"}; size_t size; char* offset; }; +struct dev_candidates_offsets_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_estimate_input_size::Parameters::dev_candidates_offsets_t, velo_masked_clustering::Parameters::dev_candidates_offsets_t { constexpr static auto name {"dev_candidates_offsets_t"}; size_t size; char* offset; }; +struct dev_estimated_input_size_t : velo_estimate_input_size::Parameters::dev_estimated_input_size_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_candidate_num_t : velo_estimate_input_size::Parameters::dev_module_candidate_num_t, velo_masked_clustering::Parameters::dev_module_candidate_num_t { constexpr static auto name {"dev_module_candidate_num_t"}; size_t size; char* offset; }; +struct dev_cluster_candidates_t : velo_estimate_input_size::Parameters::dev_cluster_candidates_t, velo_masked_clustering::Parameters::dev_cluster_candidates_t { constexpr static auto name {"dev_cluster_candidates_t"}; size_t size; char* offset; }; +struct host_total_number_of_velo_clusters_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_masked_clustering::Parameters::host_total_number_of_velo_clusters_t, velo_calculate_phi_and_sort::Parameters::host_total_number_of_velo_clusters_t, velo_search_by_triplet::Parameters::host_total_number_of_velo_clusters_t { constexpr static auto name {"host_total_number_of_velo_clusters_t"}; size_t size; char* offset; }; +struct dev_offsets_estimated_input_size_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_masked_clustering::Parameters::dev_offsets_estimated_input_size_t, velo_calculate_phi_and_sort::Parameters::dev_offsets_estimated_input_size_t, velo_search_by_triplet::Parameters::dev_offsets_estimated_input_size_t, velo_three_hit_tracks_filter::Parameters::dev_offsets_estimated_input_size_t, velo_consolidate_tracks::Parameters::dev_offsets_estimated_input_size_t { constexpr static auto name {"dev_offsets_estimated_input_size_t"}; size_t size; char* offset; }; +struct dev_module_cluster_num_t : velo_masked_clustering::Parameters::dev_module_cluster_num_t, velo_calculate_phi_and_sort::Parameters::dev_module_cluster_num_t, velo_search_by_triplet::Parameters::dev_module_cluster_num_t { constexpr static auto name {"dev_module_cluster_num_t"}; size_t size; char* offset; }; +struct dev_velo_cluster_container_t : velo_masked_clustering::Parameters::dev_velo_cluster_container_t, velo_calculate_phi_and_sort::Parameters::dev_velo_cluster_container_t { constexpr static auto name {"dev_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_sorted_velo_cluster_container_t : velo_calculate_phi_and_sort::Parameters::dev_sorted_velo_cluster_container_t, velo_search_by_triplet::Parameters::dev_sorted_velo_cluster_container_t, velo_three_hit_tracks_filter::Parameters::dev_sorted_velo_cluster_container_t, velo_consolidate_tracks::Parameters::dev_sorted_velo_cluster_container_t { constexpr static auto name {"dev_sorted_velo_cluster_container_t"}; size_t size; char* offset; }; +struct dev_hit_permutation_t : velo_calculate_phi_and_sort::Parameters::dev_hit_permutation_t { constexpr static auto name {"dev_hit_permutation_t"}; size_t size; char* offset; }; +struct dev_hit_phi_t : velo_calculate_phi_and_sort::Parameters::dev_hit_phi_t, velo_search_by_triplet::Parameters::dev_hit_phi_t { constexpr static auto name {"dev_hit_phi_t"}; size_t size; char* offset; }; +struct dev_tracks_t : velo_search_by_triplet::Parameters::dev_tracks_t, velo_copy_track_hit_number::Parameters::dev_tracks_t, velo_consolidate_tracks::Parameters::dev_tracks_t { constexpr static auto name {"dev_tracks_t"}; size_t size; char* offset; }; +struct dev_tracklets_t : velo_search_by_triplet::Parameters::dev_tracklets_t { constexpr static auto name {"dev_tracklets_t"}; size_t size; char* offset; }; +struct dev_tracks_to_follow_t : velo_search_by_triplet::Parameters::dev_tracks_to_follow_t { constexpr static auto name {"dev_tracks_to_follow_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_t : velo_search_by_triplet::Parameters::dev_three_hit_tracks_t, velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_input_t { constexpr static auto name {"dev_three_hit_tracks_t"}; size_t size; char* offset; }; +struct dev_hit_used_t : velo_search_by_triplet::Parameters::dev_hit_used_t, velo_three_hit_tracks_filter::Parameters::dev_hit_used_t { constexpr static auto name {"dev_hit_used_t"}; size_t size; char* offset; }; +struct dev_atomics_velo_t : velo_search_by_triplet::Parameters::dev_atomics_velo_t, velo_three_hit_tracks_filter::Parameters::dev_atomics_velo_t { constexpr static auto name {"dev_atomics_velo_t"}; size_t size; char* offset; }; +struct dev_rel_indices_t : velo_search_by_triplet::Parameters::dev_rel_indices_t { constexpr static auto name {"dev_rel_indices_t"}; size_t size; char* offset; }; +struct dev_number_of_velo_tracks_t : velo_search_by_triplet::Parameters::dev_number_of_velo_tracks_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_velo_tracks_t"}; size_t size; char* offset; }; +struct host_number_of_velo_tracks_at_least_four_hits_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_velo_tracks_at_least_four_hits_t { constexpr static auto name {"host_number_of_velo_tracks_at_least_four_hits_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_tracks_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_velo_tracks_t { constexpr static auto name {"dev_offsets_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_three_hit_tracks_output_t, velo_consolidate_tracks::Parameters::dev_three_hit_tracks_output_t { constexpr static auto name {"dev_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct dev_number_of_three_hit_tracks_output_t : velo_three_hit_tracks_filter::Parameters::dev_number_of_three_hit_tracks_output_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_number_of_three_hit_tracks_output_t"}; size_t size; char* offset; }; +struct host_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_copy_track_hit_number::Parameters::host_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::host_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"host_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct dev_offsets_number_of_three_hit_tracks_filtered_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_copy_track_hit_number::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t, velo_consolidate_tracks::Parameters::dev_offsets_number_of_three_hit_tracks_filtered_t { constexpr static auto name {"dev_offsets_number_of_three_hit_tracks_filtered_t"}; size_t size; char* offset; }; +struct host_number_of_reconstructed_velo_tracks_t : velo_copy_track_hit_number::Parameters::host_number_of_reconstructed_velo_tracks_t, velo_consolidate_tracks::Parameters::host_number_of_reconstructed_velo_tracks_t { constexpr static auto name {"host_number_of_reconstructed_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_track_hit_number_t : velo_copy_track_hit_number::Parameters::dev_velo_track_hit_number_t, host_prefix_sum::Parameters::dev_input_buffer_t { constexpr static auto name {"dev_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_offsets_all_velo_tracks_t : velo_copy_track_hit_number::Parameters::dev_offsets_all_velo_tracks_t, velo_consolidate_tracks::Parameters::dev_offsets_all_velo_tracks_t { constexpr static auto name {"dev_offsets_all_velo_tracks_t"}; size_t size; char* offset; }; +struct host_accumulated_number_of_hits_in_velo_tracks_t : host_prefix_sum::Parameters::host_total_sum_holder_t, velo_consolidate_tracks::Parameters::host_accumulated_number_of_hits_in_velo_tracks_t { constexpr static auto name {"host_accumulated_number_of_hits_in_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_offsets_velo_track_hit_number_t : host_prefix_sum::Parameters::dev_output_buffer_t, velo_consolidate_tracks::Parameters::dev_offsets_velo_track_hit_number_t { constexpr static auto name {"dev_offsets_velo_track_hit_number_t"}; size_t size; char* offset; }; +struct dev_accepted_velo_tracks_t : velo_consolidate_tracks::Parameters::dev_accepted_velo_tracks_t { constexpr static auto name {"dev_accepted_velo_tracks_t"}; size_t size; char* offset; }; +struct dev_velo_states_t : velo_consolidate_tracks::Parameters::dev_velo_states_t { constexpr static auto name {"dev_velo_states_t"}; size_t size; char* offset; }; +struct dev_velo_track_hits_t : velo_consolidate_tracks::Parameters::dev_velo_track_hits_t { constexpr static auto name {"dev_velo_track_hits_t"}; size_t size; char* offset; }; using configured_lines_t = std::tuple<>; using configured_sequence_t = std::tuple< - populate_odin_banks::populate_odin_banks_t< - std::tuple, - configured_lines_t, - 'p', - 'o', - 'p', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'o', - 'd', - 'i', - 'n', - '_', - 'b', - 'a', - 'n', - 'k', - 's', - '_', - 't'>, - host_global_event_cut::host_global_event_cut_t< - std::tuple, - 'h', - 'o', - 's', - 't', - '_', - 'g', - 'l', - 'o', - 'b', - 'a', - 'l', - '_', - 'e', - 'v', - 'e', - 'n', - 't', - '_', - 'c', - 'u', - 't', - '_', - 't'>, - velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t< - std::tuple< - host_number_of_selected_events_t, - dev_event_list_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_number_of_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'n', - 'd', - 'i', - 'd', - 'a', - 't', - 'e', - 's'>, - velo_estimate_input_size::velo_estimate_input_size_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'e', - 's', - 't', - 'i', - 'm', - 'a', - 't', - 'e', - 'd', - '_', - 'i', - 'n', - 'p', - 'u', - 't', - '_', - 's', - 'i', - 'z', - 'e'>, - velo_masked_clustering::velo_masked_clustering_t< - std::tuple< - host_total_number_of_velo_clusters_t, - host_number_of_selected_events_t, - dev_velo_raw_input_t, - dev_velo_raw_input_offsets_t, - dev_offsets_estimated_input_size_t, - dev_module_candidate_num_t, - dev_cluster_candidates_t, - dev_event_list_t, - dev_candidates_offsets_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'm', - 'a', - 's', - 'k', - 'e', - 'd', - '_', - 'c', - 'l', - 'u', - 's', - 't', - 'e', - 'r', - 'i', - 'n', - 'g', - '_', - 't'>, - velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_velo_cluster_container_t, - dev_sorted_velo_cluster_container_t, - dev_hit_permutation_t, - dev_hit_phi_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'a', - 'l', - 'c', - 'u', - 'l', - 'a', - 't', - 'e', - '_', - 'p', - 'h', - 'i', - '_', - 'a', - 'n', - 'd', - '_', - 's', - 'o', - 'r', - 't', - '_', - 't'>, - velo_search_by_triplet::velo_search_by_triplet_t< - std::tuple< - host_number_of_selected_events_t, - host_total_number_of_velo_clusters_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_module_cluster_num_t, - dev_hit_phi_t, - dev_tracks_t, - dev_tracklets_t, - dev_tracks_to_follow_t, - dev_three_hit_tracks_t, - dev_hit_used_t, - dev_atomics_velo_t, - dev_rel_indices_t, - dev_number_of_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 's', - 'e', - 'a', - 'r', - 'c', - 'h', - '_', - 'b', - 'y', - '_', - 't', - 'r', - 'i', - 'p', - 'l', - 'e', - 't', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's'>, - velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t< - std::tuple< - host_number_of_selected_events_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_three_hit_tracks_t, - dev_atomics_velo_t, - dev_hit_used_t, - dev_three_hit_tracks_output_t, - dev_number_of_three_hit_tracks_output_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_number_of_three_hit_tracks_filtered_t, - dev_number_of_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 'o', - 'f', - '_', - 't', - 'h', - 'r', - 'e', - 'e', - '_', - 'h', - 'i', - 't', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 'f', - 'i', - 'l', - 't', - 'e', - 'r', - 'e', - 'd'>, - velo_copy_track_hit_number::velo_copy_track_hit_number_t< - std::tuple< - host_number_of_selected_events_t, - host_number_of_velo_tracks_at_least_four_hits_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_reconstructed_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_tracks_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hit_number_t, - dev_offsets_all_velo_tracks_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'p', - 'y', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r', - '_', - 't'>, - host_prefix_sum::host_prefix_sum_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - dev_velo_track_hit_number_t, - dev_offsets_velo_track_hit_number_t>, - 'p', - 'r', - 'e', - 'f', - 'i', - 'x', - '_', - 's', - 'u', - 'm', - '_', - 'o', - 'f', - 'f', - 's', - 'e', - 't', - 's', - '_', - 'v', - 'e', - 'l', - 'o', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - '_', - 'h', - 'i', - 't', - '_', - 'n', - 'u', - 'm', - 'b', - 'e', - 'r'>, - velo_consolidate_tracks::velo_consolidate_tracks_t< - std::tuple< - host_accumulated_number_of_hits_in_velo_tracks_t, - host_number_of_reconstructed_velo_tracks_t, - host_number_of_three_hit_tracks_filtered_t, - host_number_of_selected_events_t, - dev_accepted_velo_tracks_t, - dev_offsets_all_velo_tracks_t, - dev_tracks_t, - dev_offsets_velo_track_hit_number_t, - dev_sorted_velo_cluster_container_t, - dev_offsets_estimated_input_size_t, - dev_velo_states_t, - dev_three_hit_tracks_output_t, - dev_offsets_number_of_three_hit_tracks_filtered_t, - dev_velo_track_hits_t>, - 'v', - 'e', - 'l', - 'o', - '_', - 'c', - 'o', - 'n', - 's', - 'o', - 'l', - 'i', - 'd', - 'a', - 't', - 'e', - '_', - 't', - 'r', - 'a', - 'c', - 'k', - 's', - '_', - 't'>>; + data_provider::data_provider_t, 'p', 'o', 'p', 'u', 'l', 'a', 't', 'e', '_', 'o', 'd', 'i', 'n', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 'u', 't', '_', 'b', 'a', 'n', 'k', 's'>, + host_data_provider::host_data_provider_t, 'h', 'o', 's', 't', '_', 's', 'c', 'i', 'f', 'i', '_', 'b', 'a', 'n', 'k', 's'>, + host_global_event_cut::host_global_event_cut_t, 'h', 'o', 's', 't', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 'e', 'v', 'e', 'n', 't', '_', 'c', 'u', 't'>, + data_provider::data_provider_t, 'v', 'e', 'l', 'o', '_', 'b', 'a', 'n', 'k', 's'>, + velo_calculate_number_of_candidates::velo_calculate_number_of_candidates_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 'c', 'a', 'n', 'd', 'i', 'd', 'a', 't', 'e', 's'>, + velo_estimate_input_size::velo_estimate_input_size_t, 'v', 'e', 'l', 'o', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'e', 's', 't', 'i', 'm', 'a', 't', 'e', 'd', '_', 'i', 'n', 'p', 'u', 't', '_', 's', 'i', 'z', 'e'>, + velo_masked_clustering::velo_masked_clustering_t, 'v', 'e', 'l', 'o', '_', 'm', 'a', 's', 'k', 'e', 'd', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 'i', 'n', 'g', '_', 't'>, + velo_calculate_phi_and_sort::velo_calculate_phi_and_sort_t, 'v', 'e', 'l', 'o', '_', 'c', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', '_', 'p', 'h', 'i', '_', 'a', 'n', 'd', '_', 's', 'o', 'r', 't', '_', 't'>, + velo_search_by_triplet::velo_search_by_triplet_t, 'v', 'e', 'l', 'o', '_', 's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'y', '_', 't', 'r', 'i', 'p', 'l', 'e', 't', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', 's'>, + velo_three_hit_tracks_filter::velo_three_hit_tracks_filter_t, 'v', 'e', 'l', 'o', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 'o', 'f', '_', 't', 'h', 'r', 'e', 'e', '_', 'h', 'i', 't', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 'f', 'i', 'l', 't', 'e', 'r', 'e', 'd'>, + velo_copy_track_hit_number::velo_copy_track_hit_number_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'p', 'y', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r', '_', 't'>, + host_prefix_sum::host_prefix_sum_t, 'p', 'r', 'e', 'f', 'i', 'x', '_', 's', 'u', 'm', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '_', 'v', 'e', 'l', 'o', '_', 't', 'r', 'a', 'c', 'k', '_', 'h', 'i', 't', '_', 'n', 'u', 'm', 'b', 'e', 'r'>, + velo_consolidate_tracks::velo_consolidate_tracks_t, 'v', 'e', 'l', 'o', '_', 'c', 'o', 'n', 's', 'o', 'l', 'i', 'd', 'a', 't', 'e', '_', 't', 'r', 'a', 'c', 'k', 's', '_', 't'> +>; diff --git a/configuration/pregenerated/velo.json b/configuration/pregenerated/velo.json index 7119bb7d6c1..a80bf89680e 100644 --- a/configuration/pregenerated/velo.json +++ b/configuration/pregenerated/velo.json @@ -1,3 +1,7 @@ { + "populate_odin_banks": {"bank_type": "ODIN"}, + "host_ut_banks": {"bank_type": "UT"}, + "host_scifi_banks": {"bank_type": "FTCluster"}, + "velo_banks": {"bank_type": "VP"}, "configured_lines": [] } diff --git a/configuration/sequences/Velo_Retina.py b/configuration/sequences/Velo_Retina.py deleted file mode 100644 index e27916709da..00000000000 --- a/configuration/sequences/Velo_Retina.py +++ /dev/null @@ -1,4 +0,0 @@ -from definitions.VeloSequence_Retina import VeloSequence_Retina - -velo_sequence = VeloSequence_Retina() -velo_sequence.generate() diff --git a/configuration/sequences/definitions/BaseTypes.py b/configuration/sequences/definitions/BaseTypes.py index b05691b3c0c..08ed66b5b03 100644 --- a/configuration/sequences/definitions/BaseTypes.py +++ b/configuration/sequences/definitions/BaseTypes.py @@ -102,6 +102,7 @@ class OutputParameter(): def compatible_parameter_assignment(a, b): """Returns whether the parameter b can accept to be written with class a.""" + a, b = type(a), type(b) return ((issubclass(b, DeviceParameter) and issubclass(a, DeviceParameter)) or \ (issubclass(b, HostParameter) and issubclass(a, HostParameter))) and \ (issubclass(b, InputParameter) or (issubclass(b, OutputParameter) and issubclass(a, OutputParameter))) @@ -112,7 +113,7 @@ class HostInput(HostParameter, InputParameter): if type(value) == str: self.__name = value else: - assert compatible_parameter_assignment(type(value), __class__) + assert compatible_parameter_assignment(value, self) assert value.type() == Type(vtype) self.__name = value.name() self.__type = Type(vtype) @@ -138,7 +139,7 @@ class HostOutput(HostParameter, OutputParameter): if type(value) == str: self.__name = value else: - assert compatible_parameter_assignment(type(value), __class__) + assert compatible_parameter_assignment(value, self) assert value.type() == Type(vtype) self.__name = value.name() self.__type = Type(vtype) @@ -164,7 +165,7 @@ class DeviceInput(DeviceParameter, InputParameter): if type(value) == str: self.__name = value else: - assert compatible_parameter_assignment(type(value), __class__) + assert compatible_parameter_assignment(value, self) assert value.type() == Type(vtype) self.__name = value.name() self.__type = Type(vtype) @@ -191,7 +192,7 @@ class DeviceOutput(DeviceParameter, OutputParameter): if type(value) == str: self.__name = value else: - assert compatible_parameter_assignment(type(value), __class__) + assert compatible_parameter_assignment(value, self) assert value.type() == Type(vtype) self.__name = value.name() self.__type = Type(vtype) diff --git a/configuration/sequences/definitions/ForwardSequence.py b/configuration/sequences/definitions/ForwardSequence.py index b73ca904a1b..5f7ce758b9a 100644 --- a/configuration/sequences/definitions/ForwardSequence.py +++ b/configuration/sequences/definitions/ForwardSequence.py @@ -2,34 +2,14 @@ from definitions.algorithms import * def ForwardSequence(forward_decoding="v4"): - lf_search_initial_windows = lf_search_initial_windows_t() - lf_triplet_seeding = lf_triplet_seeding_t() - lf_triplet_keep_best = lf_triplet_keep_best_t() - lf_calculate_parametrization = lf_calculate_parametrization_t() - lf_extend_tracks_x = lf_extend_tracks_x_t() - lf_extend_tracks_uv = lf_extend_tracks_uv_t() - lf_quality_filter_length = lf_quality_filter_length_t() - lf_quality_filter = lf_quality_filter_t() - - prefix_sum_forward_tracks = host_prefix_sum_t( - "prefix_sum_forward_tracks", - host_total_sum_holder_t="host_number_of_reconstructed_scifi_tracks_t", - dev_input_buffer_t=lf_quality_filter.dev_atomics_scifi_t(), - dev_output_buffer_t="dev_offsets_forward_tracks_t") - scifi_copy_track_hit_number = scifi_copy_track_hit_number_t() - - prefix_sum_scifi_track_hit_number = host_prefix_sum_t( - "prefix_sum_scifi_track_hit_number", - host_total_sum_holder_t= - "host_accumulated_number_of_hits_in_scifi_tracks_t", - dev_input_buffer_t=scifi_copy_track_hit_number. - dev_scifi_track_hit_number_t(), - dev_output_buffer_t="dev_offsets_scifi_track_hit_number") - - scifi_consolidate_tracks = scifi_consolidate_tracks_t() + scifi_banks = data_provider_t( + "scifi_banks", + dev_raw_banks_t="dev_scifi_raw_input_t", + dev_raw_offsets_t="dev_scifi_raw_input_offsets_t", + bank_type="FTCluster") - forward_sequence = None + scifi_decoding = [scifi_banks] if forward_decoding == "v4": scifi_calculate_cluster_count_v4 = scifi_calculate_cluster_count_v4_t() @@ -44,15 +24,11 @@ def ForwardSequence(forward_decoding="v4"): scifi_raw_bank_decoder_v4 = scifi_raw_bank_decoder_v4_t() scifi_direct_decoder_v4 = scifi_direct_decoder_v4_t() - forward_sequence = Sequence( + scifi_decoding += [ scifi_calculate_cluster_count_v4, prefix_sum_scifi_hits, scifi_pre_decode_v4, scifi_raw_bank_decoder_v4, - scifi_direct_decoder_v4, lf_search_initial_windows, - lf_triplet_seeding, lf_triplet_keep_best, - lf_calculate_parametrization, lf_extend_tracks_x, - lf_extend_tracks_uv, lf_quality_filter_length, lf_quality_filter, - prefix_sum_forward_tracks, scifi_copy_track_hit_number, - prefix_sum_scifi_track_hit_number, scifi_consolidate_tracks) + scifi_direct_decoder_v4 + ] elif forward_decoding == "v6": scifi_calculate_cluster_count_v6 = scifi_calculate_cluster_count_v6_t() @@ -65,15 +41,44 @@ def ForwardSequence(forward_decoding="v4"): scifi_pre_decode_v6 = scifi_pre_decode_v6_t() scifi_raw_bank_decoder_v6 = scifi_raw_bank_decoder_v6_t() - - forward_sequence = Sequence( + scifi_decoding += [ scifi_calculate_cluster_count_v6, prefix_sum_scifi_hits, - scifi_pre_decode_v6, scifi_raw_bank_decoder_v6, - lf_search_initial_windows, lf_triplet_seeding, - lf_triplet_keep_best, lf_calculate_parametrization, - lf_extend_tracks_x, lf_extend_tracks_uv, lf_quality_filter_length, - lf_quality_filter, prefix_sum_forward_tracks, - scifi_copy_track_hit_number, prefix_sum_scifi_track_hit_number, - scifi_consolidate_tracks) - - return forward_sequence + scifi_pre_decode_v6, scifi_raw_bank_decoder_v6 + ] + + lf_search_initial_windows = lf_search_initial_windows_t() + lf_triplet_seeding = lf_triplet_seeding_t() + lf_triplet_keep_best = lf_triplet_keep_best_t() + lf_calculate_parametrization = lf_calculate_parametrization_t() + lf_extend_tracks_x = lf_extend_tracks_x_t() + lf_extend_tracks_uv = lf_extend_tracks_uv_t() + lf_quality_filter_length = lf_quality_filter_length_t() + lf_quality_filter = lf_quality_filter_t() + + prefix_sum_forward_tracks = host_prefix_sum_t( + "prefix_sum_forward_tracks", + host_total_sum_holder_t="host_number_of_reconstructed_scifi_tracks_t", + dev_input_buffer_t=lf_quality_filter.dev_atomics_scifi_t(), + dev_output_buffer_t="dev_offsets_forward_tracks_t") + + scifi_copy_track_hit_number = scifi_copy_track_hit_number_t() + + prefix_sum_scifi_track_hit_number = host_prefix_sum_t( + "prefix_sum_scifi_track_hit_number", + host_total_sum_holder_t= + "host_accumulated_number_of_hits_in_scifi_tracks_t", + dev_input_buffer_t=scifi_copy_track_hit_number. + dev_scifi_track_hit_number_t(), + dev_output_buffer_t="dev_offsets_scifi_track_hit_number") + + scifi_consolidate_tracks = scifi_consolidate_tracks_t() + + scifi_tracking = [ + lf_search_initial_windows, lf_triplet_seeding, lf_triplet_keep_best, + lf_calculate_parametrization, lf_extend_tracks_x, lf_extend_tracks_uv, + lf_quality_filter_length, lf_quality_filter, prefix_sum_forward_tracks, + scifi_copy_track_hit_number, prefix_sum_scifi_track_hit_number, + scifi_consolidate_tracks + ] + + return Sequence(scifi_decoding + scifi_tracking) diff --git a/configuration/sequences/definitions/MuonSequence.py b/configuration/sequences/definitions/MuonSequence.py index 11c3c600431..54e1f2a3494 100644 --- a/configuration/sequences/definitions/MuonSequence.py +++ b/configuration/sequences/definitions/MuonSequence.py @@ -2,6 +2,12 @@ from definitions.algorithms import * def MuonSequence(): + muon_banks = data_provider_t( + "muon_banks", + dev_raw_banks_t="dev_muon_raw_t", + dev_raw_offsets_t="dev_muon_raw_offsets_t", + bank_type="Muon") + muon_pre_decoding = muon_pre_decoding_t() muon_pre_decoding_prefix_sum = host_prefix_sum_t( @@ -25,7 +31,7 @@ def MuonSequence(): is_muon = is_muon_t() muon_sequence = Sequence( - muon_pre_decoding, muon_pre_decoding_prefix_sum, + muon_banks, muon_pre_decoding, muon_pre_decoding_prefix_sum, muon_sort_station_region_quarter, muon_add_coords_crossing_maps, muon_station_ocurrence_prefix_sum, muon_sort_by_station, is_muon) diff --git a/configuration/sequences/definitions/UTSequence.py b/configuration/sequences/definitions/UTSequence.py index 01aad8d0b4d..f9b64180188 100644 --- a/configuration/sequences/definitions/UTSequence.py +++ b/configuration/sequences/definitions/UTSequence.py @@ -2,6 +2,12 @@ from definitions.algorithms import * def UTSequence(restricted=True): + ut_banks = data_provider_t( + "ut_banks", + dev_raw_banks_t="dev_ut_raw_input_t", + dev_raw_offsets_t="dev_ut_raw_input_offsets_t", + bank_type="UT") + ut_calculate_number_of_hits = ut_calculate_number_of_hits_t() prefix_sum_ut_hits = host_prefix_sum_t( @@ -53,8 +59,8 @@ def UTSequence(restricted=True): ut_consolidate_tracks = ut_consolidate_tracks_t() ut_sequence = Sequence( - ut_calculate_number_of_hits, prefix_sum_ut_hits, ut_pre_decode, - ut_find_permutation, ut_decode_raw_banks_in_order, + ut_banks, ut_calculate_number_of_hits, prefix_sum_ut_hits, + ut_pre_decode, ut_find_permutation, ut_decode_raw_banks_in_order, ut_select_velo_tracks, ut_search_windows, ut_select_velo_tracks_with_windows, compass_ut, prefix_sum_ut_tracks, ut_copy_track_hit_number, prefix_sum_ut_track_hit_number, diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index d904962e166..7ee94cb122c 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -1,7 +1,7 @@ from definitions.algorithms import * -def VeloSequence(doGEC=True): +def VeloSequence(doGEC=True, retina_decoding=True): odin_banks = data_provider_t( "populate_odin_banks", dev_raw_banks_t="dev_odin_raw_input_t", @@ -31,32 +31,61 @@ def VeloSequence(doGEC=True): else: initialize_lists = host_init_event_list_t() - velo_banks = data_provider_t( - "velo_banks", - dev_raw_banks_t="dev_velo_raw_input_t", - dev_raw_offsets_t="dev_velo_raw_input_offsets_t", - bank_type="VP") + if retina_decoding: + velo_banks = data_provider_t( + "velo_retina_banks", + dev_raw_banks_t="dev_velo_retina_raw_input_t", + dev_raw_offsets_t="dev_velo_retina_raw_input_offsets_t", + bank_type="VPRetinaCluster") - velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t( - ) + velo_calculate_number_of_retinaclusters = velo_calculate_number_of_retinaclusters_t() + + prefix_sum_offsets_velo_retinaclusters = host_prefix_sum_t( + "prefix_sum_offsets_velo_retinaclusters", + host_total_sum_holder_t="host_number_of_cluster_candidates_t", + dev_input_buffer_t=velo_calculate_number_of_retinaclusters. + dev_number_of_candidates_t(), + dev_output_buffer_t="dev_candidates_offsets_t") + + calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t() - prefix_sum_offsets_velo_candidates = host_prefix_sum_t( - "prefix_sum_offsets_velo_candidates", - host_total_sum_holder_t="host_number_of_cluster_candidates_t", - dev_input_buffer_t=velo_calculate_number_of_candidates. - dev_number_of_candidates_t(), - dev_output_buffer_t="dev_candidates_offsets_t") + prefix_sum_offsets_retinaclusters_each_pair_module = host_prefix_sum_t( + "prefix_sum_offsets_retinaclusters_each_pair_module", + host_total_sum_holder_t="host_total_number_of_velo_clusters_t", + dev_input_buffer_t=calculate_number_of_retinaclusters_each_pair_module. + dev_estimated_input_size_t(), + dev_output_buffer_t="dev_offsets_estimated_input_size_t") - velo_estimate_input_size = velo_estimate_input_size_t() + decode_retinaclusters = decode_retinaclusters_t() - prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( - "prefix_sum_offsets_estimated_input_size", - host_total_sum_holder_t="host_total_number_of_velo_clusters_t", - dev_input_buffer_t=velo_estimate_input_size. - dev_estimated_input_size_t(), - dev_output_buffer_t="dev_offsets_estimated_input_size_t") - velo_masked_clustering = velo_masked_clustering_t() + else: + velo_banks = data_provider_t( + "velo_banks", + dev_raw_banks_t="dev_velo_raw_input_t", + dev_raw_offsets_t="dev_velo_raw_input_offsets_t", + bank_type="VP") + + velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t() + + prefix_sum_offsets_velo_candidates = host_prefix_sum_t( + "prefix_sum_offsets_velo_candidates", + host_total_sum_holder_t="host_number_of_cluster_candidates_t", + dev_input_buffer_t=velo_calculate_number_of_candidates. + dev_number_of_candidates_t(), + dev_output_buffer_t="dev_candidates_offsets_t") + + velo_estimate_input_size = velo_estimate_input_size_t() + + prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( + "prefix_sum_offsets_estimated_input_size", + host_total_sum_holder_t="host_total_number_of_velo_clusters_t", + dev_input_buffer_t=velo_estimate_input_size. + dev_estimated_input_size_t(), + dev_output_buffer_t="dev_offsets_estimated_input_size_t") + + velo_masked_clustering = velo_masked_clustering_t() + velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() velo_search_by_triplet = velo_search_by_triplet_t() @@ -92,16 +121,28 @@ def VeloSequence(doGEC=True): velo_consolidate_tracks = velo_consolidate_tracks_t() - velo_sequence = Sequence( - odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, - velo_banks, velo_calculate_number_of_candidates, - prefix_sum_offsets_velo_candidates, velo_estimate_input_size, - prefix_sum_offsets_estimated_input_size, velo_masked_clustering, - velo_calculate_phi_and_sort, velo_search_by_triplet, - prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, - prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + if retina_decoding: + velo_sequence = Sequence( + odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, + velo_banks, velo_calculate_number_of_retinaclusters, + prefix_sum_offsets_velo_retinaclusters, calculate_number_of_retinaclusters_each_pair_module, + prefix_sum_offsets_retinaclusters_each_pair_module, decode_retinaclusters, + velo_calculate_phi_and_sort, velo_search_by_triplet, + prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, + prefix_sum_offsets_number_of_three_hit_tracks_filtered, + velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, + velo_consolidate_tracks) + else: + velo_sequence = Sequence( + odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, + velo_banks, velo_calculate_number_of_candidates, + prefix_sum_offsets_velo_candidates, velo_estimate_input_size, + prefix_sum_offsets_estimated_input_size, velo_masked_clustering, + velo_calculate_phi_and_sort, velo_search_by_triplet, + prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, + prefix_sum_offsets_number_of_three_hit_tracks_filtered, + velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, + velo_consolidate_tracks) return velo_sequence diff --git a/configuration/sequences/definitions/VeloSequence_Retina.py b/configuration/sequences/definitions/VeloSequence_Retina.py deleted file mode 100755 index 85e6386f7a0..00000000000 --- a/configuration/sequences/definitions/VeloSequence_Retina.py +++ /dev/null @@ -1,81 +0,0 @@ -from definitions.algorithms import * - - -def VeloSequence_Retina(doGEC=True): - populate_odin_banks = populate_odin_banks_t() - - initialize_lists = None - if doGEC: - initialize_lists = host_global_event_cut_t() - else: - initialize_lists = host_init_event_list_t() - - velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t( - ) - - prefix_sum_offsets_velo_candidates = host_prefix_sum_t( - "prefix_sum_offsets_velo_candidates", - host_total_sum_holder_t="host_number_of_cluster_candidates_t", - dev_input_buffer_t=velo_calculate_number_of_candidates. - dev_number_of_candidates_t(), - dev_output_buffer_t="dev_candidates_offsets_t") - - Pair_Module_Size = Pair_Module_Size_t() - - prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( - "prefix_sum_offsets_estimated_input_size", - host_total_sum_holder_t="host_total_number_of_velo_clusters_t", - dev_input_buffer_t=Pair_Module_Size. - dev_estimated_input_size_t(), - dev_output_buffer_t="dev_offsets_estimated_input_size_t") - - Cluster_Container = Cluster_Container_t() - - velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() - velo_search_by_triplet = velo_search_by_triplet_t() - - prefix_sum_offsets_velo_tracks = host_prefix_sum_t( - "prefix_sum_offsets_velo_tracks", - host_total_sum_holder_t= - "host_number_of_velo_tracks_at_least_four_hits_t", - dev_input_buffer_t=velo_search_by_triplet. - dev_number_of_velo_tracks_t(), - dev_output_buffer_t="dev_offsets_velo_tracks_t") - - velo_three_hit_tracks_filter = velo_three_hit_tracks_filter_t( - dev_three_hit_tracks_input_t=velo_search_by_triplet. - dev_three_hit_tracks_t()) - - prefix_sum_offsets_number_of_three_hit_tracks_filtered = host_prefix_sum_t( - "prefix_sum_offsets_number_of_three_hit_tracks_filtered", - host_total_sum_holder_t="host_number_of_three_hit_tracks_filtered_t", - dev_input_buffer_t=velo_three_hit_tracks_filter. - dev_number_of_three_hit_tracks_output_t(), - dev_output_buffer_t="dev_offsets_number_of_three_hit_tracks_filtered_t" - ) - - velo_copy_track_hit_number = velo_copy_track_hit_number_t() - - prefix_sum_offsets_velo_track_hit_number = host_prefix_sum_t( - "prefix_sum_offsets_velo_track_hit_number", - host_total_sum_holder_t= - "host_accumulated_number_of_hits_in_velo_tracks_t", - dev_input_buffer_t=velo_copy_track_hit_number. - dev_velo_track_hit_number_t(), - dev_output_buffer_t="dev_offsets_velo_track_hit_number_t") - - velo_consolidate_tracks = velo_consolidate_tracks_t() - - velo_sequence = Sequence( - populate_odin_banks, initialize_lists, - velo_calculate_number_of_candidates, - prefix_sum_offsets_velo_candidates, Pair_Module_Size, - prefix_sum_offsets_estimated_input_size, Cluster_Container, - velo_calculate_phi_and_sort, velo_search_by_triplet, - prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, - prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) - - - return velo_sequence diff --git a/configuration/sequences/hlt1_RetinaClusters.py b/configuration/sequences/hlt1_RetinaClusters.py deleted file mode 100644 index ba31612d893..00000000000 --- a/configuration/sequences/hlt1_RetinaClusters.py +++ /dev/null @@ -1,14 +0,0 @@ -from definitions.VeloSequence_Retina import VeloSequence_Retina -from definitions.PVSequence import PVSequence -from definitions.UTSequence import UTSequence -from definitions.ForwardSequence import ForwardSequence -from definitions.MuonSequence import MuonSequence -from definitions.HLT1Sequence import HLT1Sequence -from definitions.algorithms import compose_sequences - -hlt1_sequence = compose_sequences(VeloSequence_Retina(), PVSequence(), UTSequence(), - ForwardSequence(), MuonSequence(), - HLT1Sequence()) -hlt1_sequence.generate() - - diff --git a/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh b/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh index b5acb7b35f4..f672df44259 100644 --- a/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh +++ b/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV4.cuh @@ -7,10 +7,10 @@ namespace scifi_calculate_cluster_count_v4 { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); - DEVICE_OUTPUT(dev_scifi_raw_input_t, char) dev_scifi_raw_input; - DEVICE_OUTPUT(dev_scifi_raw_input_offsets_t, uint) dev_scifi_raw_input_offsets; - DEVICE_OUTPUT(dev_scifi_hit_count_t, uint) dev_scifi_hit_count; DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_scifi_raw_input_t, char) dev_scifi_raw_input; + DEVICE_INPUT(dev_scifi_raw_input_offsets_t, uint) dev_scifi_raw_input_offsets; + DEVICE_OUTPUT(dev_scifi_hit_count_t, uint) dev_scifi_hit_count; PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); }; @@ -21,18 +21,13 @@ namespace scifi_calculate_cluster_count_v4 { template struct scifi_calculate_cluster_count_v4_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(scifi_calculate_cluster_count_v4)) function {scifi_calculate_cluster_count_v4}; - decltype(global_function(scifi_calculate_cluster_count_v4_mep)) function_mep {scifi_calculate_cluster_count_v4_mep}; void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants&, const HostBuffers&) const { - set_size(arguments, std::get<1>(runtime_options.host_scifi_events)); - set_size( - arguments, std::get<2>(runtime_options.host_scifi_events).size_bytes() / sizeof(uint32_t)); set_size( arguments, value(arguments) * SciFi::Constants::n_mat_groups_and_mats); } @@ -45,24 +40,17 @@ namespace scifi_calculate_cluster_count_v4 { cudaStream_t& cuda_stream, cudaEvent_t&) const { - data_to_device - (arguments, runtime_options.host_scifi_events, cuda_stream); - initialize(arguments, 0, cuda_stream); - const auto parameters = Parameters {begin(arguments), + const auto parameters = Parameters {begin(arguments), + begin(arguments), begin(arguments), - begin(arguments), - begin(arguments)}; + begin(arguments)}; - if (runtime_options.mep_layout) { - function_mep(dim3(value(arguments)), property(), cuda_stream)( - parameters, constants.dev_scifi_geometry); - } - else { - function(dim3(value(arguments)), property(), cuda_stream)( - parameters, constants.dev_scifi_geometry); - } + using function_t = decltype(global_function(scifi_calculate_cluster_count_v4)); + function_t function = runtime_options.mep_layout ? function_t{scifi_calculate_cluster_count_v4_mep} : function_t{scifi_calculate_cluster_count_v4}; + function(dim3(value(arguments)), property(), cuda_stream)( + parameters, constants.dev_scifi_geometry); } private: diff --git a/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV6.cuh b/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV6.cuh index 207fab20f62..2f258a2f2b5 100644 --- a/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV6.cuh +++ b/cuda/SciFi/preprocessing/include/SciFiCalculateClusterCountV6.cuh @@ -7,10 +7,10 @@ namespace scifi_calculate_cluster_count_v6 { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); - DEVICE_OUTPUT(dev_scifi_raw_input_t, char) dev_scifi_raw_input; - DEVICE_OUTPUT(dev_scifi_raw_input_offsets_t, uint) dev_scifi_raw_input_offsets; - DEVICE_OUTPUT(dev_scifi_hit_count_t, uint) dev_scifi_hit_count; DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_scifi_raw_input_t, char) dev_scifi_raw_input; + DEVICE_INPUT(dev_scifi_raw_input_offsets_t, uint) dev_scifi_raw_input_offsets; + DEVICE_OUTPUT(dev_scifi_hit_count_t, uint) dev_scifi_hit_count; }; __global__ void scifi_calculate_cluster_count_v6(Parameters, const char* scifi_geometry); @@ -25,13 +25,10 @@ namespace scifi_calculate_cluster_count_v6 { void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants&, const HostBuffers&) const { - set_size(arguments, std::get<1>(runtime_options.host_scifi_events)); - set_size( - arguments, std::get<2>(runtime_options.host_scifi_events).size_bytes() / sizeof(uint32_t)); set_size( arguments, value(arguments) * SciFi::Constants::n_mat_groups_and_mats); } @@ -44,15 +41,12 @@ namespace scifi_calculate_cluster_count_v6 { cudaStream_t& cuda_stream, cudaEvent_t&) const { - data_to_device( - arguments, runtime_options.host_scifi_events, cuda_stream); - initialize(arguments, 0, cuda_stream); - const auto parameters = Parameters {begin(arguments), + const auto parameters = Parameters {begin(arguments), + begin(arguments), begin(arguments), - begin(arguments), - begin(arguments)}; + begin(arguments)}; if (runtime_options.mep_layout) { function_mep( @@ -68,4 +62,4 @@ namespace scifi_calculate_cluster_count_v6 { } } }; -} // namespace scifi_calculate_cluster_count_v6 \ No newline at end of file +} // namespace scifi_calculate_cluster_count_v6 diff --git a/cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh b/cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh index 1476545954a..212a74493dc 100644 --- a/cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh +++ b/cuda/UT/UTDecoding/include/UTCalculateNumberOfHits.cuh @@ -7,8 +7,8 @@ namespace ut_calculate_number_of_hits { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; - DEVICE_OUTPUT(dev_ut_raw_input_t, char) dev_ut_raw_input; - DEVICE_OUTPUT(dev_ut_raw_input_offsets_t, uint) dev_ut_raw_input_offsets; + DEVICE_INPUT(dev_ut_raw_input_t, char) dev_ut_raw_input; + DEVICE_INPUT(dev_ut_raw_input_offsets_t, uint) dev_ut_raw_input_offsets; DEVICE_OUTPUT(dev_ut_hit_sizes_t, uint) dev_ut_hit_sizes; PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions"); }; @@ -30,18 +30,13 @@ namespace ut_calculate_number_of_hits { template struct ut_calculate_number_of_hits_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(ut_calculate_number_of_hits)) function {ut_calculate_number_of_hits}; - decltype(global_function(ut_calculate_number_of_hits_mep)) function_mep {ut_calculate_number_of_hits_mep}; void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants& constants, const HostBuffers&) const { - set_size(arguments, std::get<1>(runtime_options.host_ut_events)); - set_size( - arguments, std::get<2>(runtime_options.host_ut_events).size_bytes() / sizeof(uint)); set_size( arguments, value(arguments) * constants.host_unique_x_sector_layer_offsets[4]); @@ -55,9 +50,6 @@ namespace ut_calculate_number_of_hits { cudaStream_t& cuda_stream, cudaEvent_t&) const { - data_to_device - (arguments, runtime_options.host_ut_events, cuda_stream); - initialize(arguments, 0, cuda_stream); const auto parameters = Parameters {begin(arguments), @@ -65,22 +57,14 @@ namespace ut_calculate_number_of_hits { begin(arguments), begin(arguments)}; - if (runtime_options.mep_layout) { - function_mep(dim3(value(arguments)), property(), cuda_stream)( - parameters, - constants.dev_ut_boards.data(), - constants.dev_ut_region_offsets.data(), - constants.dev_unique_x_sector_layer_offsets.data(), - constants.dev_unique_x_sector_offsets.data()); - } - else { - function(dim3(value(arguments)), property(), cuda_stream)( - parameters, - constants.dev_ut_boards.data(), - constants.dev_ut_region_offsets.data(), - constants.dev_unique_x_sector_layer_offsets.data(), - constants.dev_unique_x_sector_offsets.data()); - } + using function_t = decltype(global_function(ut_calculate_number_of_hits)); + function_t function = runtime_options.mep_layout ? function_t{ut_calculate_number_of_hits_mep} : function_t{ut_calculate_number_of_hits}; + function(dim3(value(arguments)), property(), cuda_stream)( + parameters, + constants.dev_ut_boards.data(), + constants.dev_ut_region_offsets.data(), + constants.dev_unique_x_sector_layer_offsets.data(), + constants.dev_unique_x_sector_offsets.data()); } private: diff --git a/cuda/muon/decoding/include/MuonDecoding.cuh b/cuda/muon/decoding/include/MuonDecoding.cuh index 29a7740623c..954106e6eab 100644 --- a/cuda/muon/decoding/include/MuonDecoding.cuh +++ b/cuda/muon/decoding/include/MuonDecoding.cuh @@ -9,8 +9,8 @@ namespace muon_decoding { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; - DEVICE_OUTPUT(dev_muon_raw_t, char) dev_muon_raw; - DEVICE_OUTPUT(dev_muon_raw_offsets_t, uint) dev_muon_raw_offsets; + DEVICE_INPUT(dev_muon_raw_t, char) dev_muon_raw; + DEVICE_INPUT(dev_muon_raw_offsets_t, uint) dev_muon_raw_offsets; DEVICE_OUTPUT(dev_muon_raw_to_hits_t, Muon::MuonRawToHits) dev_muon_raw_to_hits; DEVICE_OUTPUT(dev_muon_hits_t, Muon::HitsSoA) dev_muon_hits; }; @@ -24,12 +24,10 @@ namespace muon_decoding { void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants&, const HostBuffers&) const { - set_size(arguments, std::get<1>(runtime_options.host_muon_events)); - set_size(arguments, std::get<2>(runtime_options.host_muon_events).size_bytes() / sizeof(uint32_t)); set_size(arguments, 1); set_size(arguments, value(arguments)); } @@ -54,9 +52,6 @@ namespace muon_decoding { cudaMemcpyHostToDevice, cuda_stream)); - data_to_device - (arguments, runtime_options.host_muon_events, cuda_stream); - function( dim3(value(arguments)), dim3(Muon::Constants::n_stations * Muon::Constants::n_regions * Muon::Constants::n_quarters), @@ -67,4 +62,4 @@ namespace muon_decoding { begin(arguments)}); } }; -} // namespace muon_decoding \ No newline at end of file +} // namespace muon_decoding diff --git a/cuda/muon/decoding_steps/include/MuonPreDecoding.cuh b/cuda/muon/decoding_steps/include/MuonPreDecoding.cuh index 334c55d7cf9..ed49d1a1940 100644 --- a/cuda/muon/decoding_steps/include/MuonPreDecoding.cuh +++ b/cuda/muon/decoding_steps/include/MuonPreDecoding.cuh @@ -9,8 +9,8 @@ namespace muon_pre_decoding { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; - DEVICE_OUTPUT(dev_muon_raw_t, char) dev_muon_raw; - DEVICE_OUTPUT(dev_muon_raw_offsets_t, uint) dev_muon_raw_offsets; + DEVICE_INPUT(dev_muon_raw_t, char) dev_muon_raw; + DEVICE_INPUT(dev_muon_raw_offsets_t, uint) dev_muon_raw_offsets; DEVICE_OUTPUT(dev_muon_raw_to_hits_t, Muon::MuonRawToHits) dev_muon_raw_to_hits; DEVICE_OUTPUT(dev_storage_station_region_quarter_sizes_t, uint) dev_storage_station_region_quarter_offsets; DEVICE_OUTPUT(dev_storage_tile_id_t, uint) dev_storage_tile_id; @@ -25,18 +25,13 @@ namespace muon_pre_decoding { template struct muon_pre_decoding_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(muon_pre_decoding)) function {muon_pre_decoding}; - decltype(global_function(muon_pre_decoding_mep)) function_mep {muon_pre_decoding_mep}; void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants&, const HostBuffers&) const { - set_size(arguments, std::get<1>(runtime_options.host_muon_events)); - set_size( - arguments, std::get<2>(runtime_options.host_muon_events).size_bytes() / sizeof(uint32_t)); set_size(arguments, 1); set_size( arguments, @@ -70,9 +65,6 @@ namespace muon_pre_decoding { cudaMemcpyHostToDevice, cuda_stream)); - data_to_device - (arguments, runtime_options.host_muon_events, cuda_stream); - initialize(arguments, 0, cuda_stream); initialize(arguments, 0, cuda_stream); @@ -86,18 +78,11 @@ namespace muon_pre_decoding { begin(arguments), begin(arguments)}; - if (runtime_options.mep_layout) { - function_mep( - value(arguments), - Muon::MuonRawEvent::number_of_raw_banks * Muon::MuonRawEvent::batches_per_bank, - cuda_stream)(parameters); - } - else { - function( - value(arguments), - Muon::MuonRawEvent::number_of_raw_banks * Muon::MuonRawEvent::batches_per_bank, - cuda_stream)(parameters); - } + using function_t = decltype(global_function(muon_pre_decoding)); + function_t function = runtime_options.mep_layout ? function_t {muon_pre_decoding_mep} : function_t {muon_pre_decoding}; + function(value(arguments), + Muon::MuonRawEvent::number_of_raw_banks * Muon::MuonRawEvent::batches_per_bank, + cuda_stream)(parameters); } }; } // namespace muon_pre_decoding diff --git a/cuda/raw_banks/include/PopulateOdinBanks.cuh b/cuda/raw_banks/include/PopulateOdinBanks.cuh deleted file mode 100644 index 8bafe9fe55c..00000000000 --- a/cuda/raw_banks/include/PopulateOdinBanks.cuh +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include "DeviceAlgorithm.cuh" - -namespace populate_odin_banks { - struct Parameters { - DEVICE_OUTPUT(dev_odin_raw_input_t, char) dev_odin_raw_input; - DEVICE_OUTPUT(dev_odin_raw_input_offsets_t, uint) dev_odin_raw_input_offsets; - }; - - template - __global__ void populate_odin_banks(Parameters); - - template - struct populate_odin_banks_t : public DeviceAlgorithm, Parameters { - constexpr static auto name = Name::s; - - void set_arguments_size( - ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, - const Constants&, - const HostBuffers&) const - { - set_size(arguments, std::get<1>(runtime_options.host_odin_events)); - set_size( - arguments, std::get<2>(runtime_options.host_odin_events).size_bytes() / sizeof(uint)); - } - - void operator()( - const ArgumentRefManager& arguments, - const RuntimeOptions& runtime_options, - const Constants&, - HostBuffers&, - cudaStream_t& cuda_stream, - cudaEvent_t&) const - { - data_to_device( - arguments, runtime_options.host_odin_events, cuda_stream); - } - - private: - }; -} // namespace populate_odin_banks - -// Implementation of populate_odin_banks diff --git a/cuda/velo/CMakeLists.txt b/cuda/velo/CMakeLists.txt index 55bbdae53fa..a2427110338 100644 --- a/cuda/velo/CMakeLists.txt +++ b/cuda/velo/CMakeLists.txt @@ -1,5 +1,6 @@ file(GLOB velo_prefix_sum "prefix_sum/src/*cu") file(GLOB velo_clustering_sources "mask_clustering/src/*cu") +file(GLOB velo_retinaclusters_sources "retinacluster_decoding/src/*cu") file(GLOB velo_phi_and_sort "calculate_phi_and_sort/src/*cu") file(GLOB velo_search_by_triplet "search_by_triplet/src/*cu") file(GLOB velo_simplified_kalman_filter "simplified_kalman_filter/src/*cu") @@ -9,6 +10,7 @@ include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) include_directories(common/include) include_directories(prefix_sum/include) include_directories(mask_clustering/include) +include_directories(retinacluster_decoding/include) include_directories(calculate_phi_and_sort/include) include_directories(search_by_triplet/include) include_directories(simplified_kalman_filter/include) @@ -26,6 +28,7 @@ include_directories(${CPPGSL_INCLUDE_DIR}) allen_add_device_library(Velo STATIC ${velo_clustering_sources} + ${velo_retinaclusters_sources} ${velo_prefix_sum} ${velo_phi_and_sort} ${velo_search_by_triplet} diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index c98c759e526..521b93bf41d 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -69,6 +69,8 @@ struct VeloRawBank { uint32_t sensor_index; uint32_t sp_count; uint32_t* sp_word; + uint32_t rc_count; + uint32_t* rc_word; // For MEP format __device__ __host__ VeloRawBank(uint32_t source_id, const char* fragment) @@ -76,8 +78,10 @@ struct VeloRawBank { sensor_index = source_id; const char* p = fragment; sp_count = *((uint32_t*) p); + rc_count = *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; + rc_word = (uint32_t*) p; } // For Allen format @@ -86,11 +90,12 @@ struct VeloRawBank { const char* p = raw_bank; sensor_index = *((uint32_t*) p); p += sizeof(uint32_t); - sp_count= *((uint32_t*) p); + sp_count = *((uint32_t*) p); + rc_count = *((uint32_t*) p); p += sizeof(uint32_t); sp_word = (uint32_t*) p; + rc_word = (uint32_t*) p; } - }; /** diff --git a/cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh b/cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh index 65c5075232d..c61a340e698 100644 --- a/cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh +++ b/cuda/velo/mask_clustering/include/VeloCalculateNumberOfCandidates.cuh @@ -7,8 +7,8 @@ namespace velo_calculate_number_of_candidates { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; - DEVICE_OUTPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; - DEVICE_OUTPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; + DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; DEVICE_OUTPUT(dev_number_of_candidates_t, uint) dev_number_of_candidates; PROPERTY(block_dim_x_t, uint, "block_dim_x", "block dimension X"); }; @@ -21,23 +21,16 @@ namespace velo_calculate_number_of_candidates { template struct velo_calculate_number_of_candidates_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(velo_calculate_number_of_candidates)) function {velo_calculate_number_of_candidates}; - decltype(global_function(velo_calculate_number_of_candidates_mep)) function_mep { - velo_calculate_number_of_candidates_mep}; void set_arguments_size( ArgumentRefManager arguments, - const RuntimeOptions& runtime_options, + const RuntimeOptions&, const Constants&, const HostBuffers&) const { if (logger::verbosity() >= logger::debug) { debug_cout << "# of events = " << value(arguments) << std::endl; } - - set_size(arguments, std::get<1>(runtime_options.host_velo_events)); - set_size( - arguments, std::get<2>(runtime_options.host_velo_events).size_bytes() / sizeof(uint)); set_size(arguments, value(arguments)); } @@ -49,9 +42,6 @@ namespace velo_calculate_number_of_candidates { cudaStream_t& cuda_stream, cudaEvent_t&) const { - data_to_device( - arguments, runtime_options.host_velo_events, cuda_stream); - // Enough blocks to cover all events const auto grid_size = dim3( (value(arguments) + property() - 1) / property()); @@ -62,14 +52,10 @@ namespace velo_calculate_number_of_candidates { begin(arguments), begin(arguments)}; - if (runtime_options.mep_layout) { - function_mep(grid_size, dim3(property().get()), cuda_stream)( - parameters, value(arguments)); - } - else { - function(grid_size, dim3(property().get()), cuda_stream)( - parameters, value(arguments)); - } + using function_t = decltype(global_function(velo_calculate_number_of_candidates)); + function_t function = runtime_options.mep_layout ? global_function(velo_calculate_number_of_candidates_mep) : global_function(velo_calculate_number_of_candidates); + function(grid_size, dim3(property().get()), cuda_stream)( + parameters, value(arguments)); } private: diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize.cu b/cuda/velo/mask_clustering/src/EstimateInputSize.cu index fc99c6faea2..bc3e31e1a91 100644 --- a/cuda/velo/mask_clustering/src/EstimateInputSize.cu +++ b/cuda/velo/mask_clustering/src/EstimateInputSize.cu @@ -10,7 +10,6 @@ __device__ void estimate_raw_bank_size( { uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); uint found_cluster_candidates = 0; - for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x) { // Decode sp const uint32_t sp_word = raw_bank.sp_word[sp_index]; const uint32_t no_sp_neighbours = sp_word & 0x80000000U; @@ -179,8 +178,8 @@ __device__ void estimate_raw_bank_size( cluster_candidates[current_cluster_candidate] = candidate; ++found_cluster_candidates; } - }// no_sp_neighbours else - }//decode sp + } + } // Add the found cluster candidates if (found_cluster_candidates > 0) { @@ -208,7 +207,6 @@ __global__ void velo_estimate_input_size::velo_estimate_input_size(velo_estimate const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); estimate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } - } __global__ void velo_estimate_input_size::velo_estimate_input_size_mep(velo_estimate_input_size::Parameters parameters) diff --git a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu index 9f083ebaa02..e6a1ccba3e4 100644 --- a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -216,7 +216,7 @@ __device__ void no_neighbour_sp( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } + } } } } @@ -408,7 +408,7 @@ __device__ void rest_of_clusters( velo_cluster_container.set_y(cluster_start + cluster_num, gy); velo_cluster_container.set_z(cluster_start + cluster_num, gz); velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); - } + } } } diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index ac7276b5957..32394e871ce 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -21,7 +21,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca } // The maximum number of candidates is two times the number of SPs - parameters.dev_number_of_candidates[event_number] = number_of_candidates; + parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; } } @@ -40,9 +40,8 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); number_of_candidates += raw_bank.sp_count; - } - parameters.dev_number_of_candidates[event_number] = number_of_candidates; + parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; } } diff --git a/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh b/cuda/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh similarity index 71% rename from cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh rename to cuda/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh index e04408b3f7b..a3aead41dce 100644 --- a/cuda/velo/mask_clustering/include/CalculateNumberOfCandidatesPerPairModule.cuh +++ b/cuda/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh @@ -3,14 +3,14 @@ #include "DeviceAlgorithm.cuh" #include "ClusteringDefinitions.cuh" -namespace Pair_Module_Size { +namespace calculate_number_of_retinaclusters_each_pair_module { struct Parameters { HOST_INPUT(host_number_of_selected_events_t, uint); HOST_INPUT(host_number_of_cluster_candidates_t, uint); DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets; - DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; - DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input; + DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets; DEVICE_OUTPUT(dev_estimated_input_size_t, uint) dev_estimated_input_size; DEVICE_OUTPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num; DEVICE_OUTPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; @@ -18,15 +18,15 @@ namespace Pair_Module_Size { }; // Global function - __global__ void Pair_Module_Size(Parameters parameters); - __global__ void Pair_Module_Size_mep(Parameters parameters); + __global__ void calculate_number_of_retinaclusters_each_pair_module(Parameters parameters); + __global__ void calculate_number_of_retinaclusters_each_pair_module_mep(Parameters parameters); // Algorithm template - struct Pair_Module_Size_t : public DeviceAlgorithm, Parameters { + struct calculate_number_of_retinaclusters_each_pair_module_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(Pair_Module_Size)) function {Pair_Module_Size}; - decltype(global_function(Pair_Module_Size_mep)) function_mep {Pair_Module_Size_mep}; + decltype(global_function(calculate_number_of_retinaclusters_each_pair_module)) function {calculate_number_of_retinaclusters_each_pair_module}; + decltype(global_function(calculate_number_of_retinaclusters_each_pair_module_mep)) function_mep {calculate_number_of_retinaclusters_each_pair_module_mep}; void set_arguments_size( ArgumentRefManager arguments, @@ -58,8 +58,8 @@ namespace Pair_Module_Size { // Invoke kernel const auto parameters = Parameters {begin(arguments), begin(arguments), - begin(arguments), - begin(arguments), + begin(arguments), + begin(arguments), begin(arguments), begin(arguments), begin(arguments) @@ -79,4 +79,4 @@ namespace Pair_Module_Size { private: Property m_block_dim {this, {{16, 16, 1}}}; }; -} // namespace Pair_Module_Size +} // namespace calculate_number_of_retinaclusters_each_pair_module diff --git a/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh b/cuda/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh similarity index 80% rename from cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh rename to cuda/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 75290240e1c..aadf1a0f64d 100644 --- a/cuda/velo/mask_clustering/include/WriteClustersIntoContainer.cuh +++ b/cuda/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -6,12 +6,12 @@ #include "VeloEventModel.cuh" #include "DeviceAlgorithm.cuh" -namespace Cluster_Container { +namespace decode_retinaclusters { struct Parameters { HOST_INPUT(host_total_number_of_velo_clusters_t, uint); HOST_INPUT(host_number_of_selected_events_t, uint); - DEVICE_INPUT(dev_velo_raw_input_t, char) dev_velo_raw_input; - DEVICE_INPUT(dev_velo_raw_input_offsets_t, uint) dev_velo_raw_input_offsets; + DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input; + DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets; DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size; DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num; DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates; @@ -23,19 +23,19 @@ namespace Cluster_Container { }; // Function - __global__ void Cluster_Container( + __global__ void decode_retinaclusters( Parameters parameters, const VeloGeometry* dev_velo_geometry); - __global__ void Cluster_Container_mep( + __global__ void decode_retinaclusters_mep( Parameters parameters, const VeloGeometry* dev_velo_geometry); template - struct Cluster_Container_t : public DeviceAlgorithm, Parameters { + struct decode_retinaclusters_t : public DeviceAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(global_function(Cluster_Container)) function {Cluster_Container}; - decltype(global_function(Cluster_Container_mep)) function_mep {Cluster_Container_mep}; + decltype(global_function(decode_retinaclusters)) function {decode_retinaclusters}; + decltype(global_function(decode_retinaclusters_mep)) function_mep {decode_retinaclusters_mep}; void set_arguments_size( ArgumentRefManager arguments, @@ -60,8 +60,8 @@ namespace Cluster_Container { initialize(arguments, 0, cuda_stream); const auto parameters = Parameters{ - begin(arguments), - begin(arguments), + begin(arguments), + begin(arguments), begin(arguments), begin(arguments), begin(arguments), @@ -86,4 +86,4 @@ namespace Cluster_Container { private: Property m_block_dim {this, {{256, 1, 1}}}; }; -} // namespace Cluster_Container +} // namespace decode_retinaclusters diff --git a/cuda/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh b/cuda/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh new file mode 100644 index 00000000000..c3b2ba9f6e2 --- /dev/null +++ b/cuda/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh @@ -0,0 +1,64 @@ +#pragma once + +#include "DeviceAlgorithm.cuh" +#include "ClusteringDefinitions.cuh" + +namespace velo_calculate_number_of_retinaclusters { + struct Parameters { + HOST_INPUT(host_number_of_selected_events_t, uint); + DEVICE_INPUT(dev_event_list_t, uint) dev_event_list; + DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input; + DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets; + DEVICE_OUTPUT(dev_number_of_candidates_t, uint) dev_number_of_candidates; + PROPERTY(block_dim_x_t, uint, "block_dim_x", "block dimension X"); + }; + + // Global function + __global__ void velo_calculate_number_of_retinaclusters(Parameters parameters, const uint number_of_events); + __global__ void velo_calculate_number_of_retinaclusters_mep(Parameters parameters, const uint number_of_events); + + // Algorithm + template + struct velo_calculate_number_of_retinaclusters_t : public DeviceAlgorithm, Parameters { + constexpr static auto name = Name::s; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions& runtime_options, + const Constants&, + const HostBuffers&) const + { + if (logger::verbosity() >= logger::debug) { + debug_cout << "# of events = " << value(arguments) << std::endl; + } + set_size(arguments, value(arguments)); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + // Enough blocks to cover all events + const auto grid_size = dim3( + (value(arguments) + property() - 1) / property()); + + // Invoke kernel + const auto parameters = Parameters {begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments)}; + + using function_t = decltype(global_function(velo_calculate_number_of_retinaclusters)); + function_t function = runtime_options.mep_layout ? global_function(velo_calculate_number_of_retinaclusters_mep) : global_function(velo_calculate_number_of_retinaclusters); + function(grid_size, dim3(property().get()), cuda_stream)( + parameters, value(arguments)); + } + + private: + Property m_block_dim_x {this, 256}; + }; +} // namespace velo_calculate_number_of_retinaclusters diff --git a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu b/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu similarity index 63% rename from cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu rename to cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu index 8c728d5bc61..54b25024223 100644 --- a/cuda/velo/mask_clustering/src/CalculateNumberOfCandidatesPerPairModule.cu +++ b/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu @@ -1,7 +1,7 @@ #include -#include +#include -__device__ void pair_module_size( +__device__ void calculate_raw_bank_size( uint* estimated_input_size, uint32_t* cluster_candidates, uint* event_candidate_num, @@ -10,19 +10,19 @@ __device__ void pair_module_size( { uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x){ + for (uint sp_index = threadIdx.x; sp_index < raw_bank.rc_count; sp_index += blockDim.x){ // Add clusters [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, 1); assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); } } -__global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters parameters) +__global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module(calculate_number_of_retinaclusters_each_pair_module::Parameters parameters) { const auto event_number = blockIdx.x; const auto selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; @@ -34,11 +34,11 @@ __global__ void Pair_Module_Size::Pair_Module_Size(Pair_Module_Size::Parameters raw_bank_number += blockDim.y) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + calculate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } } -__global__ void Pair_Module_Size::Pair_Module_Size_mep(Pair_Module_Size::Parameters parameters) +__global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module_mep(calculate_number_of_retinaclusters_each_pair_module::Parameters parameters) { const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; @@ -48,14 +48,14 @@ __global__ void Pair_Module_Size::Pair_Module_Size_mep(Pair_Module_Size::Paramet uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; // Read raw event - auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); + parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - pair_module_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + calculate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); } } diff --git a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu b/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu similarity index 78% rename from cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu rename to cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index 28e2cc9eec2..ae763c42a27 100644 --- a/cuda/velo/mask_clustering/src/WriteClustersIntoContainer.cu +++ b/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -1,9 +1,7 @@ #include -#include +#include - - -__device__ void write_to_container( +__device__ void put_retinaclusters_into_container( uint const* module_pair_cluster_start, Velo::Clusters velo_cluster_container, uint* module_pair_cluster_num, @@ -14,26 +12,23 @@ __device__ void write_to_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { + for (uint sp_index = 0; sp_index < raw_bank.rc_count; ++sp_index) { // Decode cluster - const uint32_t sp_word = raw_bank.sp_word[sp_index]; -// const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; -// const int32_t sp_col = (sp_addr >> 6); + const uint32_t rc_word = raw_bank.rc_word[sp_index]; - const uint32_t cx = ( sp_word >> 14 ) & 0x3FF; - const float fx = ( ( sp_word >> 11 ) & 0x7 ) / 8.f; - const uint32_t cy = ( sp_word >> 3 ) & 0xFF; - const float fy = ( sp_word & 0x7FF ) / 8.f; + const uint32_t cx = ( rc_word >> 14 ) & 0x3FF; + const float fx = ( ( rc_word >> 11 ) & 0x7 ) / 8.f; + const uint32_t cy = ( rc_word >> 3 ) & 0xFF; + const float fy = ( rc_word & 0x7FF ) / 8.f; const uint32_t chip = cx >> VP::ChipColumns_division; const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; -// const float local_y = (cy + 0.5f + fy) * Velo::Constants::pixel_size; const float local_y = (0.5f + fy) * Velo::Constants::pixel_size; const float gx = ( ltg[0] * local_x + ltg[1] * local_y + ltg[9] ); const float gy = ( ltg[3] * local_x + ltg[4] * local_y + ltg[10] ); const float gz = ( ltg[6] * local_x + ltg[7] * local_y + ltg[11] ); - const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy);//???? + const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); const uint cluster_num = atomicAdd(module_pair_cluster_num + module_pair_number, 1); @@ -49,17 +44,15 @@ __device__ void write_to_container( } - - -__global__ void Cluster_Container::Cluster_Container( - Cluster_Container::Parameters parameters, +__global__ void decode_retinaclusters::decode_retinaclusters( + decode_retinaclusters::Parameters parameters, const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_raw_input + parameters.dev_velo_raw_input_offsets[selected_event_number]; + const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; const uint* module_pair_cluster_start = parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; @@ -85,7 +78,7 @@ __global__ void Cluster_Container::Cluster_Container( // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - write_to_container( + put_retinaclusters_into_container( module_pair_cluster_start, velo_cluster_container, module_pair_cluster_num, @@ -99,8 +92,8 @@ __global__ void Cluster_Container::Cluster_Container( } -__global__ void Cluster_Container::Cluster_Container_mep( - Cluster_Container::Parameters parameters, +__global__ void decode_retinaclusters::decode_retinaclusters_mep( + decode_retinaclusters::Parameters parameters, const VeloGeometry* dev_velo_geometry) { const uint number_of_events = gridDim.x; @@ -122,7 +115,7 @@ __global__ void Cluster_Container::Cluster_Container_mep( const VeloGeometry& g = *dev_velo_geometry; // Read raw event - auto const number_of_raw_banks = parameters.dev_velo_raw_input_offsets[0]; + auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; // process no neighbour sp for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { @@ -131,8 +124,8 @@ __global__ void Cluster_Container::Cluster_Container_mep( // Read raw bank const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - write_to_container( + parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); + put_retinaclusters_into_container( module_pair_cluster_start, velo_cluster_container, module_pair_cluster_num, diff --git a/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu b/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu new file mode 100644 index 00000000000..8ae955e4df3 --- /dev/null +++ b/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu @@ -0,0 +1,48 @@ +#include +#include + +__global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters( + velo_calculate_number_of_retinaclusters::Parameters parameters, + const uint number_of_events) +{ + for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; + event_number += blockDim.x * gridDim.x) { + const auto selected_event_number = parameters.dev_event_list[event_number]; + const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + uint number_of_retinaclusters = 0; + for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + number_of_retinaclusters += raw_bank.rc_count; + } + + // The number of RetinaClusters + parameters.dev_number_of_candidates[event_number] = number_of_retinaclusters; + } +} + +__global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters_mep( + velo_calculate_number_of_retinaclusters::Parameters parameters, + const uint number_of_events) +{ + for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; + event_number += blockDim.x * gridDim.x) { + const uint selected_event_number = parameters.dev_event_list[event_number]; + auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; + + uint number_of_retinaclusters = 0; + for (uint raw_bank_number = 0; raw_bank_number < number_of_raw_banks; ++raw_bank_number) { + // Create raw bank from MEP layout + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); + number_of_retinaclusters += raw_bank.rc_count; + + } + + parameters.dev_number_of_candidates[event_number] = number_of_retinaclusters; + } +} diff --git a/main/include/BankTypes.h b/main/include/BankTypes.h index 67ead1d3629..b744f19d067 100644 --- a/main/include/BankTypes.h +++ b/main/include/BankTypes.h @@ -13,20 +13,23 @@ namespace { using gsl::span; } -constexpr auto NBankTypes = 8; -enum class BankTypes { VP, UT, FT, MUON, ODIN, Rich, ECal, HCal }; +constexpr auto NBankTypes = 11; +enum class BankTypes { VP, VPRetinaCluster, UT, FT, MUON, ODIN, Rich, ECal, HCal, OTRaw, OTError, Unknown }; // Average size of all raw banks of a given type per // subdetector, in kB, measured in simulated minbias events. // FIXME: make this configurable const std::unordered_map BankSizes = {{BankTypes::VP, 12.f}, + {BankTypes::VPRetinaCluster, 12.f}, {BankTypes::UT, 7.f}, {BankTypes::FT, 9.f}, {BankTypes::MUON, 1.2f}, {BankTypes::Rich, 21.f}, {BankTypes::HCal, 2.1}, {BankTypes::ECal, 8.f}, - {BankTypes::ODIN, 0.1f}}; + {BankTypes::ODIN, 0.1f}, + {BankTypes::OTRaw, 110.f}, + {BankTypes::OTError, 0.3f}}; // Average measured event size, measured // FIXME: make this configurable @@ -42,6 +45,13 @@ constexpr float bank_size_fudge_factor = 1.2f; */ std::string bank_name(BankTypes type); +/** + * @brief Get the type of a bank from its name + * @param BankType + * @return bank type name + */ +BankTypes bank_type(std::string bank_name); + template constexpr auto to_integral(ENUM e) -> typename std::underlying_type::type { diff --git a/main/include/BinaryProvider.h b/main/include/BinaryProvider.h index 704c4704d94..172b7b77d7e 100644 --- a/main/include/BinaryProvider.h +++ b/main/include/BinaryProvider.h @@ -56,11 +56,11 @@ public: BinaryProvider( size_t n_slices, size_t events_per_slice, - std::optional n_events, + boost::optional n_events, std::vector connections, size_t repetitions = 1, - std::optional file_list = {}, - std::optional order = std::optional {}) : + boost::optional file_list = {}, + boost::optional order = {}) : InputProvider> {n_slices, events_per_slice, n_events}, m_slice_free(n_slices, true), m_repetitions {repetitions}, m_event_ids(n_slices) { @@ -165,7 +165,7 @@ public: * * @return event IDs in slice */ - EventIDs event_ids(size_t slice_index, std::optional first = {}, std::optional last = {}) + EventIDs event_ids(size_t slice_index, boost::optional first = {}, boost::optional last = {}) const override { auto const& ids = m_event_ids[slice_index]; @@ -180,7 +180,7 @@ public: * @return (good slice, input done, timed out, slice index, number of events in slice) */ std::tuple get_slice( - std::optional timeout = std::optional {}) override + boost::optional timeout = boost::optional {}) override { bool timed_out = false; size_t slice_index = 0, n_filled = 0; diff --git a/main/include/InputProvider.h b/main/include/InputProvider.h index e6c10d061ce..6b24634465c 100644 --- a/main/include/InputProvider.h +++ b/main/include/InputProvider.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -23,7 +24,7 @@ struct IInputProvider { * * @return event ids */ - virtual EventIDs event_ids(size_t slice_index, std::optional first = {}, std::optional last = {}) + virtual EventIDs event_ids(size_t slice_index, boost::optional first = {}, boost::optional last = {}) const = 0; /** @@ -41,7 +42,7 @@ struct IInputProvider { * @return tuple of (success, eof, timed_out, slice_index, n_filled) */ virtual std::tuple get_slice( - std::optional timeout = std::optional {}) = 0; + boost::optional timeout = boost::optional {}) = 0; /** * @brief Get banks and offsets of a given type @@ -71,7 +72,7 @@ class InputProvider; template typename Derived, BankTypes... Banks> class InputProvider> : public IInputProvider { public: - explicit InputProvider(size_t n_slices, size_t events_per_slice, std::optional n_events) : + explicit InputProvider(size_t n_slices, size_t events_per_slice, boost::optional n_events) : m_nslices {n_slices}, m_events_per_slice {events_per_slice}, m_nevents {n_events}, m_types {banks_set()} {} @@ -95,20 +96,11 @@ public: /** * @brief Get the maximum number of events per slice * - * @details This is also used when estimating how much slice - * memory to allocate. To allow fast checks if a slice - * is full, the size of the full event may be used if - * the size of a set of banks is not yet known. That - * is an overestimation of the required space and to - * avoid issues with very few events being filled when - * small number of events is requested per slice, a - * minimum is enforced. - * * @return number of events per slice */ size_t events_per_slice() const { return m_events_per_slice; } - std::optional const& n_events() const { return m_nevents; } + boost::optional const& n_events() const { return m_nevents; } /** * @brief Get event ids in a given slice @@ -117,7 +109,7 @@ public: * * @return event ids */ - EventIDs event_ids(size_t slice_index, std::optional first = {}, std::optional last = {}) + EventIDs event_ids(size_t slice_index, boost::optional first = {}, boost::optional last = {}) const override { return static_cast const*>(this)->event_ids(slice_index, first, last); @@ -131,7 +123,7 @@ public: * @return tuple of (succes, eof, timed_out, slice_index, n_filled) */ std::tuple get_slice( - std::optional timeout = std::optional {}) override + boost::optional timeout = boost::optional {}) override { return static_cast*>(this)->get_slice(timeout); } @@ -177,7 +169,7 @@ public: protected: template - void debug_output(const MSG& msg, std::optional const thread_id = {}) const + void debug_output(const MSG& msg, boost::optional const thread_id = {}) const { if (logger::verbosity() >= logger::debug) { std::unique_lock lock {m_output_mut}; @@ -193,7 +185,7 @@ private: const size_t m_events_per_slice = 0; // Optional total number of events to be provided - const std::optional m_nevents; + const boost::optional m_nevents; // BankTypes provided by this provider const std::unordered_set m_types; diff --git a/main/include/MDFProvider.h b/main/include/MDFProvider.h index dde8ef9f30d..4aa5982b81b 100644 --- a/main/include/MDFProvider.h +++ b/main/include/MDFProvider.h @@ -85,7 +85,7 @@ public: MDFProvider( size_t n_slices, size_t events_per_slice, - std::optional n_events, + boost::optional n_events, std::vector connections, MDFProviderConfig config = MDFProviderConfig {}) : InputProvider> {n_slices, events_per_slice, n_events}, @@ -214,7 +214,7 @@ public: * * @return EventIDs of events in given slice */ - EventIDs event_ids(size_t slice_index, std::optional first = {}, std::optional last = {}) + EventIDs event_ids(size_t slice_index, boost::optional first = {}, boost::optional last = {}) const override { auto const& ids = m_event_ids[slice_index]; @@ -248,7 +248,7 @@ public: * @return (good slice, input done, timed out, slice index, number of events in slice) */ std::tuple get_slice( - std::optional timeout = std::optional {}) override + boost::optional timeout = boost::optional {}) override { bool timed_out = false, done = false; size_t slice_index = 0, n_filled = 0; @@ -378,7 +378,7 @@ private: { size_t i_read = 0; - std::optional slice_index; + auto slice_index = boost::make_optional(false, size_t {}); bool good = false, transpose_full = false; size_t n_transposed = 0; @@ -711,7 +711,7 @@ private: std::vector m_connections; // Storage for the currently open file - mutable std::optional m_input; + mutable boost::optional m_input; // Iterator that points to the filename of the currently open file mutable std::vector::const_iterator m_current; diff --git a/main/include/MEPProvider.h b/main/include/MEPProvider.h index 7027ef7849b..3cc352dffbd 100644 --- a/main/include/MEPProvider.h +++ b/main/include/MEPProvider.h @@ -111,7 +111,7 @@ public: MEPProvider( size_t n_slices, size_t events_per_slice, - std::optional n_events, + boost::optional n_events, std::vector connections, MEPProviderConfig config = MEPProviderConfig {}) noexcept(false) : InputProvider> {n_slices, events_per_slice, n_events}, @@ -227,7 +227,7 @@ public: * * @return EventIDs of events in given slice */ - EventIDs event_ids(size_t slice_index, std::optional first = {}, std::optional last = {}) + EventIDs event_ids(size_t slice_index, boost::optional first = {}, boost::optional last = {}) const override { auto const& ids = m_event_ids[slice_index]; @@ -266,7 +266,7 @@ public: * @return (good slice, timed out, slice index, number of events in slice) */ std::tuple get_slice( - std::optional timeout = std::optional {}) override + boost::optional timeout = boost::optional {}) override { bool timed_out = false, done = false; size_t slice_index = 0, n_filled = 0; @@ -1086,7 +1086,7 @@ void transpose(int thread_id) size_t i_buffer = 0; std::tuple interval; - std::optional slice_index; + boost::optional slice_index; bool good = false, transpose_full = false; size_t n_transposed = 0; @@ -1289,7 +1289,7 @@ std::vector m_event_ids; std::vector m_connections; // Storage for the currently open input file -mutable std::optional m_input; +mutable boost::optional m_input; // Iterator that points to the filename of the currently open file mutable std::vector::const_iterator m_current; diff --git a/main/include/RuntimeOptions.h b/main/include/RuntimeOptions.h index b75888a3bbe..209da5960b4 100644 --- a/main/include/RuntimeOptions.h +++ b/main/include/RuntimeOptions.h @@ -2,16 +2,14 @@ #include #include "BankTypes.h" +#include "InputProvider.h" /** * @brief Runtime options singleton. */ struct RuntimeOptions { - BanksAndOffsets host_velo_events; - BanksAndOffsets host_ut_events; - BanksAndOffsets host_scifi_events; - BanksAndOffsets host_muon_events; - BanksAndOffsets host_odin_events; + IInputProvider const* input_provider; + size_t const slice_index; std::tuple event_interval; uint number_of_selected_events; uint number_of_repetitions; @@ -19,23 +17,16 @@ struct RuntimeOptions { bool cpu_offload; bool mep_layout; - RuntimeOptions() = default; - RuntimeOptions( - BanksAndOffsets velo_events, - BanksAndOffsets ut_events, - BanksAndOffsets scifi_events, - BanksAndOffsets muon_events, - BanksAndOffsets odin_events, + IInputProvider const* ip, + size_t const index, std::tuple param_event_interval, uint param_number_of_repetitions, bool param_do_check, bool param_cpu_offload, bool param_mep_layout) : - host_velo_events {std::move(velo_events)}, - host_ut_events {std::move(ut_events)}, host_scifi_events {std::move(scifi_events)}, - host_muon_events {std::move(muon_events)}, host_odin_events {std::move(odin_events)}, - event_interval(param_event_interval), + input_provider {ip}, + slice_index {index}, event_interval(param_event_interval), number_of_selected_events(std::get<1>(param_event_interval) - std::get<0>(param_event_interval)), number_of_repetitions(param_number_of_repetitions), do_check(param_do_check), cpu_offload(param_cpu_offload), mep_layout {param_mep_layout} diff --git a/main/src/Allen.cpp b/main/src/Allen.cpp index 263f477ea10..e68933eb366 100644 --- a/main/src/Allen.cpp +++ b/main/src/Allen.cpp @@ -125,7 +125,7 @@ extern "C" int allen( uint number_of_slices = 0; uint number_of_buffers = 0; long number_of_events_requested = 0; - std::optional events_per_slice; + auto events_per_slice = boost::make_optional(false, uint {}); uint start_event_offset = 0; uint number_of_threads = 1; uint number_of_repetitions = 1; @@ -332,6 +332,7 @@ extern "C" int allen( // Raw data input folders const auto folder_name_velopix_raw = folder_data + folder_rawdata + "VP"; + const auto folder_name_veloretina_raw = folder_data + folder_rawdata + "VPRetinaCluster"; const auto folder_name_UT_raw = folder_data + folder_rawdata + "UT"; const auto folder_name_SciFi_raw = folder_data + folder_rawdata + "FTCluster"; const auto folder_name_Muon_raw = folder_data + folder_rawdata + "Muon"; @@ -345,7 +346,7 @@ extern "C" int allen( std::unique_ptr input_provider {}; // Number of requested events as an optional - std::optional n_events; + boost::optional n_events; if (number_of_events_requested != 0) { n_events = number_of_events_requested; } @@ -376,7 +377,7 @@ extern "C" int allen( !mep_layout, // MEPs should be transposed to Allen layout receivers}; // Map of receiver to MPI rank to receive from input_provider = - std::make_unique>( + std::make_unique>( number_of_slices, *events_per_slice, n_events, split_string(mep_input, ","), config); } else if (!mdf_input.empty()) { @@ -388,16 +389,16 @@ extern "C" int allen( *events_per_slice, // number of events per read buffer n_io_reps}; // number of loops over the input files input_provider = - std::make_unique>( + std::make_unique>( number_of_slices, *events_per_slice, n_events, split_string(mdf_input, ","), config); } else { mep_layout = false; // The binary input provider expects the folders for the bank types as connections std::vector connections = { - folder_name_velopix_raw, folder_name_UT_raw, folder_name_SciFi_raw, folder_name_Muon_raw, folder_name_ODIN_raw}; + folder_name_velopix_raw, folder_name_veloretina_raw, folder_name_UT_raw, folder_name_SciFi_raw, folder_name_Muon_raw, folder_name_ODIN_raw}; input_provider = - std::make_unique>( + std::make_unique>( number_of_slices, *events_per_slice, n_events, std::move(connections), n_io_reps, file_list); } diff --git a/main/src/AllenThreads.cpp b/main/src/AllenThreads.cpp index b21609650e7..4a2e2db2043 100644 --- a/main/src/AllenThreads.cpp +++ b/main/src/AllenThreads.cpp @@ -248,11 +248,8 @@ void run_stream( auto status = wrapper->run_stream( stream_id, buf, - {input_provider->banks(BankTypes::VP, *idx), - input_provider->banks(BankTypes::UT, *idx), - input_provider->banks(BankTypes::FT, *idx), - input_provider->banks(BankTypes::MUON, *idx), - input_provider->banks(BankTypes::ODIN, *idx), + {input_provider, + *idx, {static_cast(first), static_cast(last)}, n_reps, do_check, diff --git a/main/src/BankTypes.cpp b/main/src/BankTypes.cpp index 28bfc469be3..8f62ac8f1e1 100644 --- a/main/src/BankTypes.cpp +++ b/main/src/BankTypes.cpp @@ -1,13 +1,21 @@ #include #include +#include #include +#include namespace { const std::map BankNames = {{BankTypes::VP, "VP"}, + {BankTypes::VPRetinaCluster, "VPRetinaCluster"}, {BankTypes::UT, "UT"}, {BankTypes::FT, "FTCluster"}, {BankTypes::MUON, "Muon"}, - {BankTypes::ODIN, "ODIN"}}; + {BankTypes::ODIN, "ODIN"}, + {BankTypes::Rich, "Rich"}, + {BankTypes::HCal, "HCal"}, + {BankTypes::ECal, "ECal"}, + {BankTypes::OTRaw, "OTRaw"}, + {BankTypes::OTError, "OTError"}}; } std::string bank_name(BankTypes type) @@ -20,3 +28,15 @@ std::string bank_name(BankTypes type) return "Unknown"; } } + +BankTypes bank_type(std::string bank_name) +{ + auto it = std::find_if( + BankNames.begin(), BankNames.end(), [bank_name](const auto& entry) { return entry.second == bank_name; }); + if (it != end(BankNames)) { + return it->first; + } + else { + return BankTypes::Unknown; + } +} diff --git a/mdf/include/read_mdf.hpp b/mdf/include/read_mdf.hpp index 0fd59dab78f..f6e0e956154 100644 --- a/mdf/include/read_mdf.hpp +++ b/mdf/include/read_mdf.hpp @@ -20,6 +20,7 @@ namespace Allen { const std::unordered_map bank_types = {{LHCb::RawBank::VP, BankTypes::VP}, + {LHCb::RawBank::VPRetinaCluster, BankTypes::VPRetinaCluster}, {LHCb::RawBank::UT, BankTypes::UT}, {LHCb::RawBank::FTCluster, BankTypes::FT}, {LHCb::RawBank::Muon, BankTypes::MUON}, diff --git a/mdf/test/test_providers.cpp b/mdf/test/test_providers.cpp index 584923a6d82..3f64c9518bd 100644 --- a/mdf/test/test_providers.cpp +++ b/mdf/test/test_providers.cpp @@ -34,8 +34,8 @@ namespace { Config s_config; MDFProviderConfig mdf_config {true, 2, 1}; - unique_ptr> mdf; - unique_ptr> binary; + unique_ptr> mdf; + unique_ptr> binary; size_t slice_mdf = 0, slice_binary = 0; size_t filled_mdf = 0, filled_binary = 0; @@ -118,21 +118,27 @@ int main(int argc, char* argv[]) } } } - for (auto sd : {"UT"s, "VP"s, "FTCluster"s, "Muon"s, "ODIN"s}) { + for (auto sd : {"UT"s, "VP"s, "VPRetinaCluster"s, "FTCluster"s, "Muon"s, "ODIN"s}) { s_config.banks_dirs.push_back(directory + "/banks/" + sd); } if (s_config.run) { // Allocate providers and get slices - mdf = make_unique>( + mdf = make_unique>( s_config.n_slices, s_config.n_events, s_config.n_events, s_config.mdf_files, mdf_config); bool good = false, timed_out = false, done = false; std::tie(good, done, timed_out, slice_mdf, filled_mdf) = mdf->get_slice(); auto const& events_mdf = mdf->event_ids(slice_mdf); - binary = make_unique>( - s_config.n_slices, s_config.n_events, s_config.n_events, s_config.banks_dirs, false, std::nullopt, events_mdf); + binary = make_unique>( + s_config.n_slices, + s_config.n_events, + s_config.n_events, + s_config.banks_dirs, + false, + boost::optional {}, + events_mdf); std::tie(good, done, timed_out, slice_binary, filled_binary) = binary->get_slice(); } @@ -149,7 +155,7 @@ int main(int argc, char* argv[]) return {std::lround(average_event_size * pf * bank_size_fudge_factor * kB), pf}; }; mep_slices = - allocate_slices(1, size_fun); + allocate_slices(1, size_fun); transpose_mep(mep_slices, 0, mep_header, mep_span, s_config.n_events); } @@ -199,6 +205,7 @@ TEMPLATE_TEST_CASE( "MDF versus Binary", "[MDF binary]", BTTag, + BTTag, BTTag, BTTag, BTTag) @@ -239,6 +246,7 @@ TEMPLATE_TEST_CASE( "Binary vs MEP", "[MEP binary]", BTTag, + BTTag, BTTag, BTTag, BTTag) diff --git a/readme.md b/readme.md index 2311cff85e4..e2db56e6ee1 100644 --- a/readme.md +++ b/readme.md @@ -5,29 +5,32 @@ Welcome to Allen, a project providing a full HLT1 realization on GPU. Requisites ---------- -The project requires a graphics card with CUDA support, CUDA 10.0, CMake 3.12 and a compiler supporting C++17. - -If you are working from a node with CVMFS and CentOS 7, we suggest the following setup: - -```shell -source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_95 x86_64-centos7-gcc8-opt -export PATH=/cvmfs/sft.cern.ch/lcg/contrib/CMake/3.14.2/Linux-x86_64/bin:$PATH -export PATH=/usr/local/cuda/bin:$PATH -``` -Regardless of the OS you are running on, you can check your compiler versions as follows: - -```shell -$ g++ --version -g++ (GCC) 8.2.0 - -$ nvcc --version -Cuda compilation tools, release 10.1, V10.1.243 - -$ cmake --version -cmake version 3.14.2 -``` - -You can check your compiler standard compatibility by scrolling to the `C++17 features` chart [here](https://en.cppreference.com/w/cpp/compiler_support). +The project requires CMake 3.12, Python3 and a [compiler supporting C++17](https://en.cppreference.com/w/cpp/compiler_support). +Further requirements depend on the device chosen as target. For each target, +we show a proposed development setup with CVMFS and CentOS 7: + +* CPU target: Any modern compiler can be used, such as gcc greater than 7.0: + + ```shell + source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt + ``` + +* CUDA target: The latest supported compilers are gcc-8 and clang-6. CUDA is + available in cvmfs as well: + + ```shell + source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt + source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh + ``` + +* HIP target: A local installation of ROCm at least version 3.3.0 is required. + +* CUDACLANG target: A version of the clang compiler with ptx support is required, + alongside a local installation of CUDA 10.1 (currently latest supported release): + + ```shell + source /cvmfs/sft.cern.ch/lcg/releases/clang/10.0.0/x86_64-centos7/setup.sh + ``` Optionally you can compile the project with ROOT. Then, trees will be filled with variables to check when running the UT tracking or SciFi tracking algorithms on x86 architecture. In addition, histograms of reconstructible and reconstructed tracks are then filled in the track checker. For more details on how to use them to produce plots of efficiencies, momentum resolution etc. see [this readme](checker/tracking/readme.md). diff --git a/scripts/ParseAlgorithms.py b/scripts/ParseAlgorithms.py index 34d75ab0213..0448de94e59 100755 --- a/scripts/ParseAlgorithms.py +++ b/scripts/ParseAlgorithms.py @@ -3,6 +3,7 @@ import re import os import sys +import codecs from collections import OrderedDict from AlgorithmTraversalLibTooling import AlgorithmTraversal from LineTraversalLibTooling import LineTraversal @@ -66,25 +67,25 @@ class Parser(): algorithms = [] lines = [] for filename in all_filenames: - f = open(filename) - try: - s = f.read() - f.close() - # Invoke the libTooling algorithm parser only if we find the algorithm pattern - has_algorithm = Parser.__algorithm_pattern_compiled.search(s) - if has_algorithm: - parsed_algorithms = algorithm_parser.traverse(filename) - if parsed_algorithms: - algorithms += parsed_algorithms - # Invoke the libTooling line parser only if we find the line pattern - has_line = Parser.__line_pattern_compiled.search(s) - if has_line: - parsed_lines = line_parser.traverse(filename) - if parsed_lines: - lines += parsed_lines - except: - print("Parsing file", filename, "failed") - raise + with codecs.open(filename, 'r', 'utf-8') as f: + try: + s = f.read() + # Invoke the libTooling algorithm parser only if we find the algorithm pattern + has_algorithm = Parser.__algorithm_pattern_compiled.search( + s) + if has_algorithm: + parsed_algorithms = algorithm_parser.traverse(filename) + if parsed_algorithms: + algorithms += parsed_algorithms + # Invoke the libTooling line parser only if we find the line pattern + has_line = Parser.__line_pattern_compiled.search(s) + if has_line: + parsed_lines = line_parser.traverse(filename) + if parsed_lines: + lines += parsed_lines + except: + print("Parsing file", filename, "failed") + raise return algorithms, lines @@ -278,12 +279,23 @@ class ConfGen(): if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Parse the Allen codebase and generate a python representation of all algorithms.') - - parser.add_argument('filename', type=str, default="algorithms.py", - help='output filename') - parser.add_argument('prefix_project_folder', type=str, default="./", - help='project location') + parser = argparse.ArgumentParser( + description= + 'Parse the Allen codebase and generate a python representation of all algorithms.' + ) + + parser.add_argument( + 'filename', + nargs='?', + type=str, + default="algorithms.py", + help='output filename') + parser.add_argument( + 'prefix_project_folder', + nargs='?', + type=str, + default="../", + help='project location') args = parser.parse_args() prefix_project_folder = args.prefix_project_folder + "/" diff --git a/stream/CMakeLists.txt b/stream/CMakeLists.txt index a8104aa9d18..21fe77fae1e 100644 --- a/stream/CMakeLists.txt +++ b/stream/CMakeLists.txt @@ -79,7 +79,7 @@ file(GLOB stream_gear "gear/src/*cpp") file(GLOB stream_sequence_cpp "sequence/src/*cpp") file(GLOB stream_sequence "sequence/src/*cu") -include(GenerateConfiguration.cmake) +include(GenerateConfiguration) allen_add_host_library(HostStream STATIC ${stream_gear} ${stream_sequence_cpp}) diff --git a/stream/gear/include/Configuration.cuh b/stream/gear/include/Configuration.cuh index 033c155e7fe..b461f37bb35 100644 --- a/stream/gear/include/Configuration.cuh +++ b/stream/gear/include/Configuration.cuh @@ -57,6 +57,10 @@ namespace Configuration { template<> std::string to_string(const DeviceDimensions& holder); + + template<> + std::string to_string(const BankTypes& holder); + } // namespace Configuration namespace Allen { diff --git a/stream/gear/src/Configuration.cpp b/stream/gear/src/Configuration.cpp index 0a1678815a6..c3663f2f861 100644 --- a/stream/gear/src/Configuration.cpp +++ b/stream/gear/src/Configuration.cpp @@ -1,4 +1,6 @@ #include "Configuration.cuh" +#include "BankTypes.h" +#include "Common.h" #include "Logger.h" template<> @@ -25,6 +27,16 @@ uint Configuration::from_string(const std::string& s) return strtoul(s.c_str(), 0, 0); } +template<> +BankTypes Configuration::from_string(const std::string& s) +{ + auto bt = bank_type(s); + if (bt == BankTypes::Unknown) { + throw StrException {"Failed to parse " + s + " into a BankType."}; + } + return bt; +} + // Specialization for DeviceDimensions template<> DeviceDimensions Configuration::from_string(const std::string& string_value) @@ -65,6 +77,12 @@ std::string Configuration::to_string(const DeviceDimensions& h return s.str(); } +template<> +std::string Configuration::to_string(const BankTypes& holder) +{ + return bank_name(holder); +} + // // function to define one float property as the inverse of another // template<> // float Configuration::Relations::inverse(std::vector*> pars) diff --git a/stream/sequence/include/Stream.cuh b/stream/sequence/include/Stream.cuh index d7329961856..f899157e0ec 100644 --- a/stream/sequence/include/Stream.cuh +++ b/stream/sequence/include/Stream.cuh @@ -16,7 +16,6 @@ #include "UTDefinitions.cuh" #include "RuntimeOptions.h" #include "EstimateInputSize.cuh" -#include "CalculateNumberOfCandidatesPerPairModule.cuh" #include "HostBuffers.cuh" #include "HostBuffersManager.cuh" #include "SequenceVisitor.cuh" diff --git a/x86/data_provider/include/DataProvider.h b/x86/data_provider/include/DataProvider.h new file mode 100644 index 00000000000..24de5b2f221 --- /dev/null +++ b/x86/data_provider/include/DataProvider.h @@ -0,0 +1,47 @@ +#pragma once + +#include "Common.h" +#include "HostAlgorithm.cuh" +#include + +namespace data_provider { + struct Parameters { + DEVICE_OUTPUT(dev_raw_banks_t, char) dev_raw_banks; + DEVICE_OUTPUT(dev_raw_offsets_t, uint) dev_raw_offsets; + PROPERTY(raw_bank_type_t, BankTypes, "bank_type", "type of raw bank to provide"); + }; + + // Algorithm + template + struct data_provider_t : public HostAlgorithm, Parameters { + constexpr static auto name = Name::s; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions& runtime_options, + const Constants&, + const HostBuffers&) const + { + auto bno = runtime_options.input_provider->banks(m_bank_type.get_value(), runtime_options.slice_index); + set_size(arguments, std::get<1>(bno)); + set_size(arguments, std::get<2>(bno).size()); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + auto bno = runtime_options.input_provider->banks(m_bank_type.get_value(), runtime_options.slice_index); + + // Copy data to device + data_to_device(arguments, bno, cuda_stream); + } + + private: + Property m_bank_type {this, BankTypes::ODIN}; + }; +} // namespace data_provider diff --git a/x86/data_provider/include/HostDataProvider.h b/x86/data_provider/include/HostDataProvider.h new file mode 100644 index 00000000000..9e91b11fbe8 --- /dev/null +++ b/x86/data_provider/include/HostDataProvider.h @@ -0,0 +1,57 @@ +#pragma once + +#include "Common.h" +#include "HostAlgorithm.cuh" +#include + +namespace host_data_provider { + struct Parameters { + HOST_OUTPUT(host_raw_banks_t, gsl::span) host_raw_banks; + HOST_OUTPUT(host_raw_offsets_t, gsl::span) host_raw_offsets; + PROPERTY(raw_bank_type_t, BankTypes, "bank_type", "type of raw bank to provide"); + }; + + // Algorithm + template + struct host_data_provider_t : public HostAlgorithm, Parameters { + constexpr static auto name = Name::s; + + void set_arguments_size( + ArgumentRefManager arguments, + const RuntimeOptions& runtime_options, + const Constants&, + const HostBuffers&) const + { + auto bno = runtime_options.input_provider->banks(m_bank_type.get_value(), runtime_options.slice_index); + // A number of spans for the blocks equal to the number of blocks + set_size(arguments, std::get<0>(bno).size()); + // A single span for the offsets + set_size(arguments, 1); + } + + void operator()( + const ArgumentRefManager& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const + { + auto bno = runtime_options.input_provider->banks(m_bank_type.get_value(), runtime_options.slice_index); + + // memcpy the offsets span directly + auto const& offsets = std::get<2>(bno); + ::memcpy(begin(arguments), &offsets, sizeof(offsets)); + + // Copy the spans for the blocks + auto const& blocks = std::get<0>(bno); + ::memcpy( + begin(arguments), + blocks.data(), + blocks.size() * sizeof(typename std::remove_reference_t::value_type)); + } + + private: + Property m_bank_type {this, BankTypes::ODIN}; + }; +} // namespace host_data_provider diff --git a/x86/global_event_cut/include/HostGlobalEventCut.h b/x86/global_event_cut/include/HostGlobalEventCut.h index ca46a442365..27ab40c0ad5 100644 --- a/x86/global_event_cut/include/HostGlobalEventCut.h +++ b/x86/global_event_cut/include/HostGlobalEventCut.h @@ -7,6 +7,10 @@ namespace host_global_event_cut { struct Parameters { + HOST_INPUT(host_ut_raw_banks_t, gsl::span) ut_banks; + HOST_INPUT(host_ut_raw_offsets_t, gsl::span) ut_offsets; + HOST_INPUT(host_scifi_raw_banks_t, gsl::span) scifi_banks; + HOST_INPUT(host_scifi_raw_offsets_t, gsl::span) scifi_offsets; HOST_OUTPUT(host_total_number_of_events_t, uint); HOST_OUTPUT(host_event_list_t, uint) host_event_list; HOST_OUTPUT(host_number_of_selected_events_t, uint) host_number_of_selected_events; @@ -18,26 +22,14 @@ namespace host_global_event_cut { }; // Function - void host_global_event_cut( - const char* ut_raw_input, - const uint* ut_raw_input_offsets, - const char* scifi_raw_input, - const uint* scifi_raw_input_offsets, - uint number_of_events, - Parameters parameters); + void host_global_event_cut(uint number_of_events, Parameters parameters); - void host_global_event_cut_mep( - BanksAndOffsets const& ut_raw, - BanksAndOffsets const& scifi_raw, - const uint number_of_events, - Parameters parameters); + void host_global_event_cut_mep(const uint number_of_events, Parameters parameters); // Algorithm template struct host_global_event_cut_t : public HostAlgorithm, Parameters { constexpr static auto name = Name::s; - decltype(host_function(host_global_event_cut)) function {host_global_event_cut}; - decltype(host_function(host_global_event_cut_mep)) function_mep {host_global_event_cut_mep}; void set_arguments_size( ArgumentRefManager arguments, @@ -74,24 +66,22 @@ namespace host_global_event_cut { } // Parameters for the function call - const auto parameters = Parameters {begin(arguments), + const auto parameters = Parameters {begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), + begin(arguments), begin(arguments), property(), property()}; - // Runtime selector based on layout of input data - if (runtime_options.mep_layout) { - function_mep(runtime_options.host_ut_events, runtime_options.host_scifi_events, number_of_events, parameters); - } - else { - function( - std::get<0>(runtime_options.host_ut_events)[0].data(), - std::get<2>(runtime_options.host_ut_events).data(), - std::get<0>(runtime_options.host_scifi_events)[0].data(), - std::get<2>(runtime_options.host_scifi_events).data(), - number_of_events, - parameters); - } + // Select the function to run, MEP or Allen layout + using function_t = decltype(host_function(host_global_event_cut)); + function_t function = + runtime_options.mep_layout ? function_t {host_global_event_cut_mep} : function_t {host_global_event_cut}; + + // Run the function + function(number_of_events, parameters); cudaCheck(cudaMemcpyAsync( begin(arguments), diff --git a/x86/global_event_cut/src/HostGlobalEventCut.cpp b/x86/global_event_cut/src/HostGlobalEventCut.cpp index 59b7fe7fd7b..e9bc135193b 100644 --- a/x86/global_event_cut/src/HostGlobalEventCut.cpp +++ b/x86/global_event_cut/src/HostGlobalEventCut.cpp @@ -1,20 +1,19 @@ #include "HostGlobalEventCut.h" void host_global_event_cut::host_global_event_cut( - const char* ut_raw_input, - const uint* ut_raw_input_offsets, - const char* scifi_raw_input, - const uint* scifi_raw_input_offsets, const uint number_of_events, host_global_event_cut::Parameters parameters) { + auto const ut_offsets = *parameters.ut_offsets; + auto const scifi_offsets = *parameters.scifi_offsets; + uint insert_index = 0; uint reverse_insert_index = number_of_events - 1; uint first_event = parameters.host_event_list[0]; for (uint event_index = 0; event_index < number_of_events; ++event_index) { uint event_number = first_event + event_index; // Check SciFi clusters - const SciFi::SciFiRawEvent scifi_event(scifi_raw_input + scifi_raw_input_offsets[event_number]); + const SciFi::SciFiRawEvent scifi_event(parameters.scifi_banks[0].data() + scifi_offsets[event_number]); uint n_SciFi_clusters = 0; for (uint i = 0; i < scifi_event.number_of_raw_banks; ++i) { @@ -31,8 +30,8 @@ void host_global_event_cut::host_global_event_cut( n_SciFi_clusters = (n_SciFi_clusters >> 1) - 2; // Check UT clusters - const uint32_t ut_event_offset = ut_raw_input_offsets[event_number]; - const UTRawEvent ut_event(ut_raw_input + ut_event_offset); + const uint32_t ut_event_offset = ut_offsets[event_number]; + const UTRawEvent ut_event(parameters.ut_banks[0].data() + ut_event_offset); uint n_UT_clusters = 0; for (uint i = 0; i < ut_event.number_of_raw_banks; ++i) { @@ -55,17 +54,17 @@ void host_global_event_cut::host_global_event_cut( } void host_global_event_cut::host_global_event_cut_mep( - BanksAndOffsets const& ut_raw, - BanksAndOffsets const& scifi_raw, const uint number_of_events, host_global_event_cut::Parameters parameters) { + auto const ut_offsets = *parameters.ut_offsets; + auto const scifi_offsets = *parameters.scifi_offsets; + uint insert_index = 0; uint reverse_insert_index = number_of_events - 1; for (uint event_number = 0; event_number < number_of_events; ++event_number) { // Check SciFi clusters - auto const& scifi_offsets = std::get<2>(scifi_raw); auto const number_of_scifi_raw_banks = scifi_offsets[0]; uint n_SciFi_clusters = 0; @@ -84,8 +83,6 @@ void host_global_event_cut::host_global_event_cut_mep( n_SciFi_clusters = (n_SciFi_clusters >> 1) - 2; // Check UT clusters - auto const& ut_data = std::get<0>(ut_raw); - auto const& ut_offsets = std::get<2>(ut_raw); auto const number_of_ut_raw_banks = ut_offsets[0]; uint n_UT_clusters = 0; @@ -94,7 +91,7 @@ void host_global_event_cut::host_global_event_cut_mep( // We're on the host, so use the blocks directly auto block_offset = ut_offsets[2 + number_of_ut_raw_banks + i]; auto const fragment_offset = ut_offsets[2 + number_of_ut_raw_banks * (1 + event_number) + i] - block_offset; - const UTRawBank ut_bank {sourceID, ut_data[i].data() + fragment_offset}; + const UTRawBank ut_bank {sourceID, parameters.ut_banks[i].data() + fragment_offset}; n_UT_clusters += ut_bank.number_of_hits; } diff --git a/x86/global_event_cut/test/mep_gec.cpp b/x86/global_event_cut/test/mep_gec.cpp index 6ddb72e2529..704d67a5ea9 100644 --- a/x86/global_event_cut/test/mep_gec.cpp +++ b/x86/global_event_cut/test/mep_gec.cpp @@ -152,11 +152,15 @@ int main(int argc, char* argv[]) vector event_list(interval, 0); uint number_of_selected_events = 0; - host_global_event_cut::host_global_event_cut_mep( - ut_banks, - scifi_banks, - interval, - host_global_event_cut::Parameters {&number_of_selected_events, event_list.data(), 0, 9750}); + host_global_event_cut::Parameters pars {std::get<0>(ut_banks).data(), + &std::get<2>(ut_banks), + std::get<0>(scifi_banks).data(), + &std::get<2>(scifi_banks), + &number_of_selected_events, + event_list.data(), + 0, + 9750}; + host_global_event_cut::host_global_event_cut_mep(interval, pars); cout << "selected " << number_of_selected_events << " events" << endl; } diff --git a/x86/prefix_sum/include/HostPrefixSum.h b/x86/prefix_sum/include/HostPrefixSum.h index eab5ea7a5a7..76335bb4379 100644 --- a/x86/prefix_sum/include/HostPrefixSum.h +++ b/x86/prefix_sum/include/HostPrefixSum.h @@ -5,9 +5,9 @@ namespace host_prefix_sum { struct Parameters { - HOST_OUTPUT(host_total_sum_holder_t, uint) host_total_sum_holder;//host_total_sum_holder[0]=a1+a2+...anumberofevent sum up the number of clusters for all events + HOST_OUTPUT(host_total_sum_holder_t, uint) host_total_sum_holder; DEVICE_INPUT(dev_input_buffer_t, uint) dev_input_buffer; - DEVICE_OUTPUT(dev_output_buffer_t, uint) dev_output_buffer;//[0,a1,a1+a2..., a1+a2+...anumberofevent] + DEVICE_OUTPUT(dev_output_buffer_t, uint) dev_output_buffer; }; /** diff --git a/x86/prefix_sum/src/HostPrefixSum.cpp b/x86/prefix_sum/src/HostPrefixSum.cpp index 6088459da98..ae5a8aa69e8 100644 --- a/x86/prefix_sum/src/HostPrefixSum.cpp +++ b/x86/prefix_sum/src/HostPrefixSum.cpp @@ -1,31 +1,26 @@ #include "HostPrefixSum.h" -#include -#include void host_prefix_sum::host_prefix_sum_impl( uint* host_prefix_sum_buffer, - const size_t input_number_of_elements,// number of events + const size_t input_number_of_elements, uint* host_total_sum_holder) { // Do prefix sum on the host uint temp = 0; uint temp_sum = 0; for (uint i = 0; i < input_number_of_elements; ++i) { - temp_sum += host_prefix_sum_buffer[i];//a1, a1+a2 , a1+a2+a3....a1+a2.....+anumberofevent - host_prefix_sum_buffer[i] = temp;// host_prefix_sum_buffer=[0,a1,a1+a2..., a1+a2+...anumberofevent-1] - temp = temp_sum;// a1,a1+a2 , a1+a2+a3 .....a1+a2.....+anumberofevent + temp_sum += host_prefix_sum_buffer[i]; + host_prefix_sum_buffer[i] = temp; + temp = temp_sum; } // Store the total sum in the output buffer - host_prefix_sum_buffer[input_number_of_elements] = temp;//[0,a1,a1+a2..., a1+a2+...anumberofevent] + host_prefix_sum_buffer[input_number_of_elements] = temp; // Store the total sum in host_total_sum_holder as well if (host_total_sum_holder != nullptr) { - host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements];// host_total_sum_holder[0]=a1+a2+...anumberofevent + host_total_sum_holder[0] = host_prefix_sum_buffer[input_number_of_elements]; } - -// info_cout << "host_prefix_sum_buffer: " << host_prefix_sum_buffer[0] << ", " << host_prefix_sum_buffer[1] << ", " << host_prefix_sum_buffer[2] << ", " << host_prefix_sum_buffer[3]<< ", "<< host_prefix_sum_buffer[24]<< ", "<< host_prefix_sum_buffer[25]<< ", "<< host_prefix_sum_buffer[26]<<"\n"; -// info_cout << "host_total_sum_holder[0]: " << host_total_sum_holder[0] <<"\n"; } void host_prefix_sum::host_prefix_sum( @@ -38,7 +33,7 @@ void host_prefix_sum::host_prefix_sum( host_prefix_sum::Parameters parameters) { assert(dev_output_buffer_size == (dev_input_buffer_size + 1 * sizeof(uint))); - const auto input_number_of_elements = dev_input_buffer_size / sizeof(uint);//number of events + const auto input_number_of_elements = dev_input_buffer_size / sizeof(uint); // Reallocate if insufficient space on host buffer if ((input_number_of_elements + 1) > host_allocated_prefix_sum_space) { @@ -72,11 +67,6 @@ void host_prefix_sum::host_prefix_sum( // Copy prefix summed data to the output buffer cudaCheck(cudaMemcpyAsync( - parameters.dev_output_buffer, host_prefix_sum_buffer, dev_output_buffer_size, cudaMemcpyHostToDevice, cuda_stream));//dev_output_buffer=host_prefix_sum_buffer=[0,a1,a1+a2..., a1+a2+...anumberofevent] - -// info_cout << "dev_output_buffer: " << parameters.dev_output_buffer[0] << ", " << parameters.dev_output_buffer[1] << ", " << parameters.dev_output_buffer[2] << ", " < Date: Wed, 13 May 2020 19:49:31 +0200 Subject: [PATCH 15/44] change sp_count/sp_word to count/word && delete unused variables --- .../sequences/definitions/VeloSequence.py | 2 +- .../common/include/ClusteringDefinitions.cuh | 20 ++++++---------- .../mask_clustering/src/EstimateInputSize.cu | 20 ++++++++-------- .../src/MaskedVeloClustering.cu | 24 +++++++++---------- .../src/VeloCalculateNumberOfCandidates.cu | 4 ++-- cuda/velo/readme.md | 6 ++--- ...lateNumberOfRetinaClustersPerPairModule.cu | 13 +++------- .../src/DecodeRetinaClusters.cu | 20 +++++++++------- .../VeloCalculateNumberOfRetinaClusters.cu | 4 ++-- main/src/CheckVP.cpp | 14 +++++------ mdf/test/test_providers.cpp | 2 +- x86/velo/clustering/src/Clustering.cpp | 10 ++++---- 12 files changed, 64 insertions(+), 75 deletions(-) diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 7ee94cb122c..266f1f50433 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -1,7 +1,7 @@ from definitions.algorithms import * -def VeloSequence(doGEC=True, retina_decoding=True): +def VeloSequence(doGEC=True, retina_decoding=False): odin_banks = data_provider_t( "populate_odin_banks", dev_raw_banks_t="dev_odin_raw_input_t", diff --git a/cuda/velo/common/include/ClusteringDefinitions.cuh b/cuda/velo/common/include/ClusteringDefinitions.cuh index 521b93bf41d..2e43846d762 100644 --- a/cuda/velo/common/include/ClusteringDefinitions.cuh +++ b/cuda/velo/common/include/ClusteringDefinitions.cuh @@ -67,21 +67,17 @@ struct VeloRawEvent { struct VeloRawBank { uint32_t sensor_index; - uint32_t sp_count; - uint32_t* sp_word; - uint32_t rc_count; - uint32_t* rc_word; - + uint32_t count; + uint32_t* word; + // For MEP format __device__ __host__ VeloRawBank(uint32_t source_id, const char* fragment) { sensor_index = source_id; const char* p = fragment; - sp_count = *((uint32_t*) p); - rc_count = *((uint32_t*) p); + count = *((uint32_t*) p); p += sizeof(uint32_t); - sp_word = (uint32_t*) p; - rc_word = (uint32_t*) p; + word = (uint32_t*) p; } // For Allen format @@ -90,11 +86,9 @@ struct VeloRawBank { const char* p = raw_bank; sensor_index = *((uint32_t*) p); p += sizeof(uint32_t); - sp_count = *((uint32_t*) p); - rc_count = *((uint32_t*) p); + count = *((uint32_t*) p); p += sizeof(uint32_t); - sp_word = (uint32_t*) p; - rc_word = (uint32_t*) p; + word = (uint32_t*) p; } }; diff --git a/cuda/velo/mask_clustering/src/EstimateInputSize.cu b/cuda/velo/mask_clustering/src/EstimateInputSize.cu index bc3e31e1a91..969addeb6c0 100644 --- a/cuda/velo/mask_clustering/src/EstimateInputSize.cu +++ b/cuda/velo/mask_clustering/src/EstimateInputSize.cu @@ -10,11 +10,11 @@ __device__ void estimate_raw_bank_size( { uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); uint found_cluster_candidates = 0; - for (uint sp_index = threadIdx.x; sp_index < raw_bank.sp_count; sp_index += blockDim.x) { // Decode sp - const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t no_sp_neighbours = sp_word & 0x80000000U; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - const uint8_t sp = sp_word & 0xFFU; + for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x) { // Decode sp + const uint32_t word = raw_bank.word[sp_index]; + const uint32_t no_sp_neighbours = word & 0x80000000U; + const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; + const uint8_t sp = word & 0xFFU; if (no_sp_neighbours) { // The SP does not have any neighbours @@ -85,15 +85,15 @@ __device__ void estimate_raw_bank_size( const uint32_t sp_row = sp_addr & 0x3FU; const uint32_t sp_col = sp_addr >> 6; - for (uint k = 0; k < raw_bank.sp_count; ++k) { - const uint32_t other_sp_word = raw_bank.sp_word[k]; - const uint32_t other_no_sp_neighbours = sp_word & 0x80000000U; + for (uint k = 0; k < raw_bank.count; ++k) { + const uint32_t other_word = raw_bank.word[k]; + const uint32_t other_no_sp_neighbours = word & 0x80000000U; if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; + const uint32_t other_sp_addr = (other_word & 0x007FFF00U) >> 8; const uint32_t other_sp_row = other_sp_addr & 0x3FU; const uint32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_sp_word & 0xFFU; + const uint8_t other_sp = other_word & 0xFFU; // Populate pixels // Note: Pixel order in sp diff --git a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu index e6a1ccba3e4..23424b56e0f 100644 --- a/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/cuda/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -136,18 +136,18 @@ __device__ void no_neighbour_sp( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.sp_count; ++sp_index) { + for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { // Decode sp - const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; - const uint32_t no_sp_neighbours = sp_word & 0x80000000U; + const uint32_t word = raw_bank.word[sp_index]; + const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; + const uint32_t no_sp_neighbours = word & 0x80000000U; // There are no neighbours, so compute the number of pixels of this superpixel if (no_sp_neighbours) { // Look up pre-generated patterns const int32_t sp_row = sp_addr & 0x3FU; const int32_t sp_col = (sp_addr >> 6); - const uint8_t sp = sp_word & 0xFFU; + const uint8_t sp = word & 0xFFU; const uint32_t idx = dev_velo_sp_patterns[sp]; const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); @@ -235,8 +235,8 @@ __device__ void rest_of_clusters( const auto starting_pixel_location = candidate & 0x7; const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - const uint32_t sp_word = raw_bank.sp_word[sp_index]; - const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const uint32_t word = raw_bank.word[sp_index]; + const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; // Note: In the code below, row and col are int32_t (not unsigned) // This is not a bug const int32_t sp_row = sp_addr & 0x3FU; @@ -283,14 +283,14 @@ __device__ void rest_of_clusters( // Load SPs // Note: We will pick up the current one, // no need to add a special case - for (uint k = 0; k < raw_bank.sp_count; ++k) { - const uint32_t other_sp_word = raw_bank.sp_word[k]; - const uint32_t other_no_sp_neighbours = other_sp_word & 0x80000000U; + for (uint k = 0; k < raw_bank.count; ++k) { + const uint32_t other_word = raw_bank.word[k]; + const uint32_t other_no_sp_neighbours = other_word & 0x80000000U; if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; + const uint32_t other_sp_addr = (other_word & 0x007FFF00U) >> 8; const int32_t other_sp_row = other_sp_addr & 0x3FU; const int32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_sp_word & 0xFFU; + const uint8_t other_sp = other_word & 0xFFU; if ( other_sp_row >= sp_row_lower_limit && other_sp_row <= sp_row_upper_limit && diff --git a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu index 32394e871ce..6fe7d990bf0 100644 --- a/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu +++ b/cuda/velo/mask_clustering/src/VeloCalculateNumberOfCandidates.cu @@ -17,7 +17,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - number_of_candidates += raw_bank.sp_count; + number_of_candidates += raw_bank.count; } // The maximum number of candidates is two times the number of SPs @@ -39,7 +39,7 @@ __global__ void velo_calculate_number_of_candidates::velo_calculate_number_of_ca // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( parameters.dev_velo_raw_input, parameters.dev_velo_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_candidates += raw_bank.sp_count; + number_of_candidates += raw_bank.count; } parameters.dev_number_of_candidates[event_number] = 2 * number_of_candidates; diff --git a/cuda/velo/readme.md b/cuda/velo/readme.md index f8348875b86..1a4629fed5b 100644 --- a/cuda/velo/readme.md +++ b/cuda/velo/readme.md @@ -18,9 +18,9 @@ raw_bank_offset | uint32_t | number_of_rawbanks ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sensor_index | uint32_t | 1 | ------------------------------------------------------------------------------ -sp_count | uint32_t | 1 | number_of_rawbanks +count | uint32_t | 1 | number_of_rawbanks ------------------------------------------------------------------------------ -sp_word | uint32_t | sp_count | +word | uint32_t | count | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ``` @@ -30,4 +30,4 @@ several raw banks in parallel sp = super pixel -sp_word: contains super pixel address and 8 bit hit pattern +word: contains super pixel address and 8 bit hit pattern diff --git a/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu b/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu index 54b25024223..c9ef2046dcd 100644 --- a/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu +++ b/cuda/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu @@ -3,14 +3,11 @@ __device__ void calculate_raw_bank_size( uint* estimated_input_size, - uint32_t* cluster_candidates, - uint* event_candidate_num, - uint raw_bank_number, VeloRawBank const& raw_bank) { uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - for (uint sp_index = threadIdx.x; sp_index < raw_bank.rc_count; sp_index += blockDim.x){ + for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x){ // Add clusters [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, 1); assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); @@ -24,8 +21,6 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; - uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; // Read raw event const auto raw_event = VeloRawEvent(raw_input); @@ -34,7 +29,7 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n raw_bank_number += blockDim.y) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - calculate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + calculate_raw_bank_size(estimated_input_size, raw_bank); } } @@ -44,8 +39,6 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n const uint selected_event_number = parameters.dev_event_list[event_number]; uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* event_candidate_num = parameters.dev_module_candidate_num + event_number; - uint32_t* cluster_candidates = parameters.dev_cluster_candidates + parameters.dev_candidates_offsets[event_number]; // Read raw event auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; @@ -56,6 +49,6 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n const auto raw_bank = MEP::raw_bank( parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - calculate_raw_bank_size(estimated_input_size, cluster_candidates, event_candidate_num, raw_bank_number, raw_bank); + calculate_raw_bank_size(estimated_input_size, raw_bank); } } diff --git a/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index ae763c42a27..f49409e28ed 100644 --- a/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/cuda/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -12,14 +12,14 @@ __device__ void put_retinaclusters_into_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.rc_count; ++sp_index) { + for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { // Decode cluster - const uint32_t rc_word = raw_bank.rc_word[sp_index]; + const uint32_t word = raw_bank.word[sp_index]; - const uint32_t cx = ( rc_word >> 14 ) & 0x3FF; - const float fx = ( ( rc_word >> 11 ) & 0x7 ) / 8.f; - const uint32_t cy = ( rc_word >> 3 ) & 0xFF; - const float fy = ( rc_word & 0x7FF ) / 8.f; + const uint32_t cx = ( word >> 14 ) & 0x3FF; + const float fx = ( ( word >> 11 ) & 0x7 ) / 8.f; + const uint32_t cy = ( word >> 3 ) & 0xFF; + const float fy = ( word & 0x7FF ) / 8.f; const uint32_t chip = cx >> VP::ChipColumns_division; const float local_x = g.local_x[cx] + fx * g.x_pitch[cx]; @@ -32,8 +32,12 @@ __device__ void put_retinaclusters_into_container( const uint cluster_num = atomicAdd(module_pair_cluster_num + module_pair_number, 1); +#if ALLEN_DEBUG const auto module_estimated_num = module_pair_cluster_start[module_pair_number + 1] - module_pair_cluster_start[module_pair_number]; assert(cluster_num <= module_estimated_num); +#else + _unused(module_pair_cluster_start); +#endif velo_cluster_container.set_x(cluster_start + cluster_num, gx); velo_cluster_container.set_y(cluster_start + cluster_num, gy); @@ -69,8 +73,7 @@ __global__ void decode_retinaclusters::decode_retinaclusters( // Read raw event const auto raw_event = VeloRawEvent(raw_input); - - // process no neighbour sp + for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; @@ -117,7 +120,6 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( // Read raw event auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - // process no neighbour sp for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; const uint cluster_start = module_pair_cluster_start[module_pair_number]; diff --git a/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu b/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu index 8ae955e4df3..2c4d5ec60c0 100644 --- a/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu +++ b/cuda/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu @@ -17,7 +17,7 @@ __global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_o for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - number_of_retinaclusters += raw_bank.rc_count; + number_of_retinaclusters += raw_bank.count; } // The number of RetinaClusters @@ -39,7 +39,7 @@ __global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_o // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_retinaclusters += raw_bank.rc_count; + number_of_retinaclusters += raw_bank.count; } diff --git a/main/src/CheckVP.cpp b/main/src/CheckVP.cpp index 7ff33cecae3..f7763a422b4 100644 --- a/main/src/CheckVP.cpp +++ b/main/src/CheckVP.cpp @@ -17,28 +17,28 @@ bool check_velopix_events(const std::vector& events, const std::vector m_dumpToFile {this, "DumpToFile", true}; std::unordered_map m_histos; diff --git a/Rec/Allen/options/run_allen_in_gaudi.py b/Rec/Allen/options/run_allen_in_gaudi.py index 28c002df1dd..c88002a511e 100644 --- a/Rec/Allen/options/run_allen_in_gaudi.py +++ b/Rec/Allen/options/run_allen_in_gaudi.py @@ -157,7 +157,7 @@ NTupleSvc().Output = ["FILE1 DATAFILE='velo_states.root' TYP='ROOT' OPT='NEW'"] # Save raw banks in Allen format on the TES outputdirectory = "dump/" dump_banks = DumpRawBanks( - BankTypes=["VP", "UT", "FTCluster", "Muon", "ODIN"], + BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon", "ODIN"], DumpToFile=False, OutputDirectory=outputdirectory + "banks") dump_seq = GaudiSequencer("RecoAllenPrepareSeq") diff --git a/Rec/Allen/src/RunAllen.h b/Rec/Allen/src/RunAllen.h index 0880851d3e1..cae8e6dc277 100644 --- a/Rec/Allen/src/RunAllen.h +++ b/Rec/Allen/src/RunAllen.h @@ -61,7 +61,7 @@ private: Constants m_constants; std::set m_bankTypes = {LHCb::RawBank::ODIN, LHCb::RawBank::VP, - LHCb::RawBank::VPRetinaCluter, + LHCb::RawBank::VPRetinaCluster, LHCb::RawBank::UT, LHCb::RawBank::FTCluster, LHCb::RawBank::Muon}; diff --git a/main/include/TransposeTypes.h b/main/include/TransposeTypes.h index d9559984251..d04967db24f 100644 --- a/main/include/TransposeTypes.h +++ b/main/include/TransposeTypes.h @@ -12,6 +12,7 @@ #ifndef NO_CUDA #include +#endif namespace { constexpr auto mdf_header_size = sizeof(LHCb::MDFHeader); diff --git a/main/src/Allen.cpp b/main/src/Allen.cpp index e68933eb366..7ddba723cf4 100644 --- a/main/src/Allen.cpp +++ b/main/src/Allen.cpp @@ -398,7 +398,7 @@ extern "C" int allen( std::vector connections = { folder_name_velopix_raw, folder_name_veloretina_raw, folder_name_UT_raw, folder_name_SciFi_raw, folder_name_Muon_raw, folder_name_ODIN_raw}; input_provider = - std::make_unique>( + std::make_unique>( number_of_slices, *events_per_slice, n_events, std::move(connections), n_io_reps, file_list); } -- GitLab From b77008dd9c8a09fce462aff28a1fcd8145fd56dd Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Tue, 26 May 2020 20:26:37 +0200 Subject: [PATCH 18/44] add VPRetinaCluster in Dumper --- Dumpers/BinaryDumpers/options/dump.py | 2 +- Dumpers/BinaryDumpers/options/dump_banks.py | 2 +- Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py | 2 +- Rec/Allen/src/RunAllen.cpp | 2 +- Rec/Allen/src/RunAllen.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dumpers/BinaryDumpers/options/dump.py b/Dumpers/BinaryDumpers/options/dump.py index aa6b45c3209..b7d6ab7dac1 100644 --- a/Dumpers/BinaryDumpers/options/dump.py +++ b/Dumpers/BinaryDumpers/options/dump.py @@ -63,7 +63,7 @@ ApplicationMgr().ExtSvc += [ ] # Dump raw banks and UT, FT and muon hits -dump_banks = DumpRawBanks(BankTypes=["VP", "UT", "FTCluster", "Muon"]) +dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) dump_ut = DumpUTHits() dump_ft = DumpFTHits() dump_muon_coords = DumpMuonCoords() diff --git a/Dumpers/BinaryDumpers/options/dump_banks.py b/Dumpers/BinaryDumpers/options/dump_banks.py index 95f37bd13da..541df01f549 100644 --- a/Dumpers/BinaryDumpers/options/dump_banks.py +++ b/Dumpers/BinaryDumpers/options/dump_banks.py @@ -59,7 +59,7 @@ dec_seq.Members = [ ApplicationMgr().ExtSvc += [DumpUTGeometry()] # Dump raw banks and UT, FT and muon hits -dump_banks = DumpRawBanks(BankTypes=["VP", "UT", "FTCluster", "Muon"]) +dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) #dump_banks.OutputDirectory = "/eos/lhcb/wg/rta/WP6/Allen/binary_input_2019-07/minbias/mag_down/banks" dump_muon_coords = DumpMuonCoords() #dump_muon_coords.OutputDirectory = "/eos/lhcb/wg/rta/WP6/Allen/binary_input_2019-07/minbias/mag_down/muon_coords" diff --git a/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py b/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py index 38def591770..6c91abddff1 100644 --- a/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py +++ b/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py @@ -92,7 +92,7 @@ def AddDumpers(): dump_mc.MCOutputDirectory = output_file + "/MC_info/tracks" dump_pvmc = PVDumper("DumpPVMCInfo") dump_pvmc.OutputDirectory = output_file + "/MC_info/PVs" - dump_banks = DumpRawBanks(BankTypes=["VP", "UT", "FTCluster", "Muon"]) + dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) dump_banks.OutputDirectory = output_file + "/banks" dump_muon_coords = DumpMuonCoords() dump_muon_coords.OutputDirectory = output_file + "/muon_coords" diff --git a/Rec/Allen/src/RunAllen.cpp b/Rec/Allen/src/RunAllen.cpp index a535a3b5c4c..f231eb3ecff 100644 --- a/Rec/Allen/src/RunAllen.cpp +++ b/Rec/Allen/src/RunAllen.cpp @@ -116,7 +116,7 @@ StatusCode RunAllen::initialize() const size_t events_per_slice = 1; const size_t n_events = 1; m_tes_input_provider.reset( - new TESProvider( + new TESProvider( number_of_slices, events_per_slice, n_events)); // Set verbosity level diff --git a/Rec/Allen/src/RunAllen.h b/Rec/Allen/src/RunAllen.h index cae8e6dc277..936ec0f08c9 100644 --- a/Rec/Allen/src/RunAllen.h +++ b/Rec/Allen/src/RunAllen.h @@ -74,7 +74,7 @@ private: std::unique_ptr m_stream_wrapper; std::unique_ptr m_host_buffers_manager; - std::unique_ptr> + std::unique_ptr> m_tes_input_provider; Gaudi::Property m_updaterName {this, "UpdaterName", "AllenUpdater"}; -- GitLab From 0c12da4a03db54d764b6dd70876802600b7e1cb1 Mon Sep 17 00:00:00 2001 From: Gitlab CI Date: Tue, 26 May 2020 18:27:36 +0000 Subject: [PATCH 19/44] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Allen/-/jobs/8534845 --- Dumpers/BinaryDumpers/options/dump.py | 3 +- Dumpers/BinaryDumpers/options/dump_banks.py | 3 +- .../options/dump_banks_and_MC_info.py | 3 +- Dumpers/BinaryDumpers/src/DumpRawBanks.h | 12 +++-- Rec/Allen/src/RunAllen.cpp | 10 +++-- Rec/Allen/src/RunAllen.h | 8 +++- .../sequences/definitions/VeloSequence.py | 36 ++++++++------- main/src/Allen.cpp | 38 +++++++++++----- mdf/include/read_mdf.hpp | 13 +++--- mdf/test/test_providers.cpp | 44 ++++++++++++++++--- 10 files changed, 119 insertions(+), 51 deletions(-) diff --git a/Dumpers/BinaryDumpers/options/dump.py b/Dumpers/BinaryDumpers/options/dump.py index b7d6ab7dac1..edf6cfcf905 100644 --- a/Dumpers/BinaryDumpers/options/dump.py +++ b/Dumpers/BinaryDumpers/options/dump.py @@ -63,7 +63,8 @@ ApplicationMgr().ExtSvc += [ ] # Dump raw banks and UT, FT and muon hits -dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) +dump_banks = DumpRawBanks( + BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) dump_ut = DumpUTHits() dump_ft = DumpFTHits() dump_muon_coords = DumpMuonCoords() diff --git a/Dumpers/BinaryDumpers/options/dump_banks.py b/Dumpers/BinaryDumpers/options/dump_banks.py index 541df01f549..37f15c3d793 100644 --- a/Dumpers/BinaryDumpers/options/dump_banks.py +++ b/Dumpers/BinaryDumpers/options/dump_banks.py @@ -59,7 +59,8 @@ dec_seq.Members = [ ApplicationMgr().ExtSvc += [DumpUTGeometry()] # Dump raw banks and UT, FT and muon hits -dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) +dump_banks = DumpRawBanks( + BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) #dump_banks.OutputDirectory = "/eos/lhcb/wg/rta/WP6/Allen/binary_input_2019-07/minbias/mag_down/banks" dump_muon_coords = DumpMuonCoords() #dump_muon_coords.OutputDirectory = "/eos/lhcb/wg/rta/WP6/Allen/binary_input_2019-07/minbias/mag_down/muon_coords" diff --git a/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py b/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py index 6c91abddff1..4d139f16042 100644 --- a/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py +++ b/Dumpers/BinaryDumpers/options/dump_banks_and_MC_info.py @@ -92,7 +92,8 @@ def AddDumpers(): dump_mc.MCOutputDirectory = output_file + "/MC_info/tracks" dump_pvmc = PVDumper("DumpPVMCInfo") dump_pvmc.OutputDirectory = output_file + "/MC_info/PVs" - dump_banks = DumpRawBanks(BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) + dump_banks = DumpRawBanks( + BankTypes=["VP", "VPRetinaCluster", "UT", "FTCluster", "Muon"]) dump_banks.OutputDirectory = output_file + "/banks" dump_muon_coords = DumpMuonCoords() dump_muon_coords.OutputDirectory = output_file + "/muon_coords" diff --git a/Dumpers/BinaryDumpers/src/DumpRawBanks.h b/Dumpers/BinaryDumpers/src/DumpRawBanks.h index d61b40b8574..4792296db08 100644 --- a/Dumpers/BinaryDumpers/src/DumpRawBanks.h +++ b/Dumpers/BinaryDumpers/src/DumpRawBanks.h @@ -73,10 +73,14 @@ private: std::string outputDirectory(LHCb::RawBank::BankType bankType) const; Gaudi::Property m_outputDirectory {this, "OutputDirectory", "banks"}; - Gaudi::Property> m_bankTypes { - this, - "BankTypes", - {LHCb::RawBank::VP, LHCb::RawBank::VPRetinaCluster, LHCb::RawBank::UT, LHCb::RawBank::FTCluster, LHCb::RawBank::Muon, LHCb::RawBank::ODIN}}; + Gaudi::Property> m_bankTypes {this, + "BankTypes", + {LHCb::RawBank::VP, + LHCb::RawBank::VPRetinaCluster, + LHCb::RawBank::UT, + LHCb::RawBank::FTCluster, + LHCb::RawBank::Muon, + LHCb::RawBank::ODIN}}; Gaudi::Property m_dumpToFile {this, "DumpToFile", true}; std::unordered_map m_histos; diff --git a/Rec/Allen/src/RunAllen.cpp b/Rec/Allen/src/RunAllen.cpp index f231eb3ecff..c5dd33348eb 100644 --- a/Rec/Allen/src/RunAllen.cpp +++ b/Rec/Allen/src/RunAllen.cpp @@ -115,9 +115,13 @@ StatusCode RunAllen::initialize() const size_t number_of_slices = 1; const size_t events_per_slice = 1; const size_t n_events = 1; - m_tes_input_provider.reset( - new TESProvider( - number_of_slices, events_per_slice, n_events)); + m_tes_input_provider.reset(new TESProvider< + BankTypes::VP, + BankTypes::VPRetinaCluster, + BankTypes::UT, + BankTypes::FT, + BankTypes::MUON, + BankTypes::ODIN>(number_of_slices, events_per_slice, n_events)); // Set verbosity level logger::setVerbosity(6 - this->msgLevel()); diff --git a/Rec/Allen/src/RunAllen.h b/Rec/Allen/src/RunAllen.h index 936ec0f08c9..33cdb1798f4 100644 --- a/Rec/Allen/src/RunAllen.h +++ b/Rec/Allen/src/RunAllen.h @@ -74,7 +74,13 @@ private: std::unique_ptr m_stream_wrapper; std::unique_ptr m_host_buffers_manager; - std::unique_ptr> + std::unique_ptr> m_tes_input_provider; Gaudi::Property m_updaterName {this, "UpdaterName", "AllenUpdater"}; diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 266f1f50433..0a4bd7c46ef 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -31,14 +31,15 @@ def VeloSequence(doGEC=True, retina_decoding=False): else: initialize_lists = host_init_event_list_t() - if retina_decoding: + if retina_decoding: velo_banks = data_provider_t( "velo_retina_banks", dev_raw_banks_t="dev_velo_retina_raw_input_t", dev_raw_offsets_t="dev_velo_retina_raw_input_offsets_t", bank_type="VPRetinaCluster") - velo_calculate_number_of_retinaclusters = velo_calculate_number_of_retinaclusters_t() + velo_calculate_number_of_retinaclusters = velo_calculate_number_of_retinaclusters_t( + ) prefix_sum_offsets_velo_retinaclusters = host_prefix_sum_t( "prefix_sum_offsets_velo_retinaclusters", @@ -47,18 +48,19 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_number_of_candidates_t(), dev_output_buffer_t="dev_candidates_offsets_t") - calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t() + calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t( + ) prefix_sum_offsets_retinaclusters_each_pair_module = host_prefix_sum_t( "prefix_sum_offsets_retinaclusters_each_pair_module", host_total_sum_holder_t="host_total_number_of_velo_clusters_t", - dev_input_buffer_t=calculate_number_of_retinaclusters_each_pair_module. + dev_input_buffer_t= + calculate_number_of_retinaclusters_each_pair_module. dev_estimated_input_size_t(), dev_output_buffer_t="dev_offsets_estimated_input_size_t") decode_retinaclusters = decode_retinaclusters_t() - else: velo_banks = data_provider_t( "velo_banks", @@ -66,7 +68,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_raw_offsets_t="dev_velo_raw_input_offsets_t", bank_type="VP") - velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t() + velo_calculate_number_of_candidates = velo_calculate_number_of_candidates_t( + ) prefix_sum_offsets_velo_candidates = host_prefix_sum_t( "prefix_sum_offsets_velo_candidates", @@ -85,7 +88,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_output_buffer_t="dev_offsets_estimated_input_size_t") velo_masked_clustering = velo_masked_clustering_t() - + velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t() velo_search_by_triplet = velo_search_by_triplet_t() @@ -125,13 +128,15 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_sequence = Sequence( odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, velo_banks, velo_calculate_number_of_retinaclusters, - prefix_sum_offsets_velo_retinaclusters, calculate_number_of_retinaclusters_each_pair_module, - prefix_sum_offsets_retinaclusters_each_pair_module, decode_retinaclusters, - velo_calculate_phi_and_sort, velo_search_by_triplet, - prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, + prefix_sum_offsets_velo_retinaclusters, + calculate_number_of_retinaclusters_each_pair_module, + prefix_sum_offsets_retinaclusters_each_pair_module, + decode_retinaclusters, velo_calculate_phi_and_sort, + velo_search_by_triplet, prefix_sum_offsets_velo_tracks, + velo_three_hit_tracks_filter, prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + velo_copy_track_hit_number, + prefix_sum_offsets_velo_track_hit_number, velo_consolidate_tracks) else: velo_sequence = Sequence( odin_banks, host_ut_banks, host_scifi_banks, initialize_lists, @@ -141,8 +146,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_calculate_phi_and_sort, velo_search_by_triplet, prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + velo_copy_track_hit_number, + prefix_sum_offsets_velo_track_hit_number, velo_consolidate_tracks) return velo_sequence - diff --git a/main/src/Allen.cpp b/main/src/Allen.cpp index 7ddba723cf4..0a9310099f1 100644 --- a/main/src/Allen.cpp +++ b/main/src/Allen.cpp @@ -376,9 +376,13 @@ extern "C" int allen( non_stop, // Run the application non-stop !mep_layout, // MEPs should be transposed to Allen layout receivers}; // Map of receiver to MPI rank to receive from - input_provider = - std::make_unique>( - number_of_slices, *events_per_slice, n_events, split_string(mep_input, ","), config); + input_provider = std::make_unique>(number_of_slices, *events_per_slice, n_events, split_string(mep_input, ","), config); } else if (!mdf_input.empty()) { mep_layout = false; @@ -388,18 +392,30 @@ extern "C" int allen( *events_per_slice * 10 + 1, // mximum number event of offsets in read buffer *events_per_slice, // number of events per read buffer n_io_reps}; // number of loops over the input files - input_provider = - std::make_unique>( - number_of_slices, *events_per_slice, n_events, split_string(mdf_input, ","), config); + input_provider = std::make_unique>(number_of_slices, *events_per_slice, n_events, split_string(mdf_input, ","), config); } else { mep_layout = false; // The binary input provider expects the folders for the bank types as connections - std::vector connections = { - folder_name_velopix_raw, folder_name_veloretina_raw, folder_name_UT_raw, folder_name_SciFi_raw, folder_name_Muon_raw, folder_name_ODIN_raw}; - input_provider = - std::make_unique>( - number_of_slices, *events_per_slice, n_events, std::move(connections), n_io_reps, file_list); + std::vector connections = {folder_name_velopix_raw, + folder_name_veloretina_raw, + folder_name_UT_raw, + folder_name_SciFi_raw, + folder_name_Muon_raw, + folder_name_ODIN_raw}; + input_provider = std::make_unique>(number_of_slices, *events_per_slice, n_events, std::move(connections), n_io_reps, file_list); } // Load constant parameters from JSON diff --git a/mdf/include/read_mdf.hpp b/mdf/include/read_mdf.hpp index f6e0e956154..c7cdbc737a5 100644 --- a/mdf/include/read_mdf.hpp +++ b/mdf/include/read_mdf.hpp @@ -19,12 +19,13 @@ #include "mdf_header.hpp" namespace Allen { - const std::unordered_map bank_types = {{LHCb::RawBank::VP, BankTypes::VP}, - {LHCb::RawBank::VPRetinaCluster, BankTypes::VPRetinaCluster}, - {LHCb::RawBank::UT, BankTypes::UT}, - {LHCb::RawBank::FTCluster, BankTypes::FT}, - {LHCb::RawBank::Muon, BankTypes::MUON}, - {LHCb::RawBank::ODIN, BankTypes::ODIN}}; + const std::unordered_map bank_types = { + {LHCb::RawBank::VP, BankTypes::VP}, + {LHCb::RawBank::VPRetinaCluster, BankTypes::VPRetinaCluster}, + {LHCb::RawBank::UT, BankTypes::UT}, + {LHCb::RawBank::FTCluster, BankTypes::FT}, + {LHCb::RawBank::Muon, BankTypes::MUON}, + {LHCb::RawBank::ODIN, BankTypes::ODIN}}; using buffer_map = std::unordered_map, std::vector>>; diff --git a/mdf/test/test_providers.cpp b/mdf/test/test_providers.cpp index 35ff4a718d0..dc835a189f8 100644 --- a/mdf/test/test_providers.cpp +++ b/mdf/test/test_providers.cpp @@ -34,8 +34,22 @@ namespace { Config s_config; MDFProviderConfig mdf_config {true, 2, 1}; - unique_ptr> mdf; - unique_ptr> binary; + unique_ptr> + mdf; + unique_ptr> + binary; size_t slice_mdf = 0, slice_binary = 0; size_t filled_mdf = 0, filled_binary = 0; @@ -124,14 +138,25 @@ int main(int argc, char* argv[]) if (s_config.run) { // Allocate providers and get slices - mdf = make_unique>( - s_config.n_slices, s_config.n_events, s_config.n_events, s_config.mdf_files, mdf_config); + mdf = make_unique>(s_config.n_slices, s_config.n_events, s_config.n_events, s_config.mdf_files, mdf_config); bool good = false, timed_out = false, done = false; std::tie(good, done, timed_out, slice_mdf, filled_mdf) = mdf->get_slice(); auto const& events_mdf = mdf->event_ids(slice_mdf); - binary = make_unique>( + binary = make_unique>( s_config.n_slices, s_config.n_events, s_config.n_events, @@ -154,8 +179,13 @@ int main(int argc, char* argv[]) auto size_fun = [pf](BankTypes) -> std::tuple { return {std::lround(average_event_size * pf * bank_size_fudge_factor * kB), pf}; }; - mep_slices = - allocate_slices(1, size_fun); + mep_slices = allocate_slices< + BankTypes::VP, + BankTypes::VPRetinaCluster, + BankTypes::UT, + BankTypes::FT, + BankTypes::MUON, + BankTypes::ODIN>(1, size_fun); transpose_mep(mep_slices, 0, mep_header, mep_span, s_config.n_events); } -- GitLab From aeb451141663fc712a9a8b0acfd927b2fbc5bc6a Mon Sep 17 00:00:00 2001 From: Lingzhu Bian Date: Wed, 27 May 2020 18:29:17 +0200 Subject: [PATCH 20/44] add VPRetinaCluster in dumper --- Dumpers/BinaryDumpers/src/DumpRawBanks.cpp | 8 +++++++- Dumpers/BinaryDumpers/src/DumpRawBanks.h | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp b/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp index b46c2bc82e3..f9d46782b00 100644 --- a/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp +++ b/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp @@ -91,6 +91,7 @@ DumpRawBanks::DumpRawBanks(const std::string& name, ISvcLocator* pSvcLocator) : pSvcLocator, // Inputs {KeyValue {"RawEventLocation", LHCb::RawEventLocation::Default}, + KeyValue {"RawEventLocationRetina", LHCb::RawEventLocation::VeloCluster}, KeyValue {"ODINLocation", LHCb::ODINLocation::Default}}, // Output KeyValue {"AllenRawInput", "Allen/Raw/Input"}) @@ -114,13 +115,18 @@ StatusCode DumpRawBanks::initialize() std::array, LHCb::RawBank::LastType> DumpRawBanks::operator()( const LHCb::RawEvent& rawEvent, + const LHCb::RawEvent& rawEventRetina, const LHCb::ODIN& odin) const { std::array, LHCb::RawBank::LastType> output; for (const auto bankType : m_bankTypes) { - auto tBanks = rawEvent.banks(bankType); + auto tBanks = rawEventRetina.banks(bankType); + if (bankType == LHCb::RawBank::VPRetinaCluster) + tBanks = rawEventRetina.banks(bankType); + else + tBanks = rawEvent.banks(bankType); const uint32_t number_of_rawbanks = tBanks.size(); uint32_t offset = 0; diff --git a/Dumpers/BinaryDumpers/src/DumpRawBanks.h b/Dumpers/BinaryDumpers/src/DumpRawBanks.h index 4792296db08..3607b014e01 100644 --- a/Dumpers/BinaryDumpers/src/DumpRawBanks.h +++ b/Dumpers/BinaryDumpers/src/DumpRawBanks.h @@ -57,7 +57,7 @@ namespace LHCb { * @date 2018-08-27 */ class DumpRawBanks : public Gaudi::Functional::Transformer< - std::array, LHCb::RawBank::LastType>(const LHCb::RawEvent&, const LHCb::ODIN&), + std::array, LHCb::RawBank::LastType>(const LHCb::RawEvent&, const LHCb::RawEvent&, const LHCb::ODIN&), Gaudi::Functional::Traits::BaseClass_t> { public: /// Standard constructor @@ -67,6 +67,7 @@ public: std::array, LHCb::RawBank::LastType> operator()( const LHCb::RawEvent& rawEvent, + const LHCb::RawEvent& rawEventRetina, const LHCb::ODIN& odin) const override; private: -- GitLab From 0d1b7a90f6dccafa16cd3d8ac8717c3ca4a98061 Mon Sep 17 00:00:00 2001 From: Gitlab CI Date: Wed, 27 May 2020 16:30:18 +0000 Subject: [PATCH 21/44] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Allen/-/jobs/8554011 --- Dumpers/BinaryDumpers/src/DumpRawBanks.cpp | 6 ++---- Dumpers/BinaryDumpers/src/DumpRawBanks.h | 5 ++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp b/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp index f9d46782b00..9ecc590429a 100644 --- a/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp +++ b/Dumpers/BinaryDumpers/src/DumpRawBanks.cpp @@ -113,10 +113,8 @@ StatusCode DumpRawBanks::initialize() return StatusCode::SUCCESS; } -std::array, LHCb::RawBank::LastType> DumpRawBanks::operator()( - const LHCb::RawEvent& rawEvent, - const LHCb::RawEvent& rawEventRetina, - const LHCb::ODIN& odin) const +std::array, LHCb::RawBank::LastType> DumpRawBanks:: +operator()(const LHCb::RawEvent& rawEvent, const LHCb::RawEvent& rawEventRetina, const LHCb::ODIN& odin) const { std::array, LHCb::RawBank::LastType> output; diff --git a/Dumpers/BinaryDumpers/src/DumpRawBanks.h b/Dumpers/BinaryDumpers/src/DumpRawBanks.h index 3607b014e01..c3165591343 100644 --- a/Dumpers/BinaryDumpers/src/DumpRawBanks.h +++ b/Dumpers/BinaryDumpers/src/DumpRawBanks.h @@ -57,7 +57,10 @@ namespace LHCb { * @date 2018-08-27 */ class DumpRawBanks : public Gaudi::Functional::Transformer< - std::array, LHCb::RawBank::LastType>(const LHCb::RawEvent&, const LHCb::RawEvent&, const LHCb::ODIN&), + std::array, LHCb::RawBank::LastType>( + const LHCb::RawEvent&, + const LHCb::RawEvent&, + const LHCb::ODIN&), Gaudi::Functional::Traits::BaseClass_t> { public: /// Standard constructor -- GitLab From e82972e6954159df4a55d8b59bd7cd576f49b88b Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 09:57:46 +0000 Subject: [PATCH 22/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9946293977..cb54510139e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -183,6 +183,7 @@ docker_image:build: - DEVICE_ID=${JOB_NAME_SPLIT[0]} - TARGET=${JOB_NAME_SPLIT[1]} - SEQUENCE=${JOB_NAME_SPLIT[2]} + - DATA=${JOB_NAME_SPLIT[3]} - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - D_MEMORY=${DEVICE_MEMORY_MAP[${DEVICE_ID}]} - RUN_OPTIONS="-n 1000 -m 700 -r 100 -t 12 -c 0" @@ -195,7 +196,7 @@ docker_image:build: - cd build_${TARGET} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt + - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt artifacts: expire_in: 2 hrs paths: @@ -386,6 +387,11 @@ CUDA:hlt1_pp_default:RelWithDebInfo::build: tags: - cvmfs +CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build: + <<: *build_job_def + tags: + - cvmfs + CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build: <<: *build_job_def tags: @@ -424,27 +430,41 @@ geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput: dependencies: - CUDA:hlt1_pp_default:RelWithDebInfo::build -quadrortx6000:CUDA:hlt1_pp_default:run_throughput: +quadrortx6000:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: <<: *run_throughput_job_no_profiling_def tags: - quadrortx6000 dependencies: - CUDA:hlt1_pp_default:RelWithDebInfo::build -teslav100:CUDA:hlt1_pp_default:run_throughput: +teslav100:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: <<: *run_throughput_job_no_profiling_def tags: - teslav100 dependencies: - CUDA:hlt1_pp_default:RelWithDebInfo::build -teslat4:CUDA:hlt1_pp_default:run_throughput: +teslat4:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: <<: *run_throughput_job_no_profiling_def tags: - teslat4 dependencies: - CUDA:hlt1_pp_default:RelWithDebInfo::build +quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + <<: *run_throughput_job_no_profiling_def + tags: + - quadrortx6000 + dependencies: + - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build + +geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + <<: *run_throughput_job_no_profiling_def + tags: + - quadrortx6000 + dependencies: + - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build + # Note: Add -gencode=arch=compute_61,code=sm_61 # to the configuration if these cards are enabled. @@ -524,3 +544,14 @@ throughput:hlt1_pp_default:geforcertx2080ti:publish_throughput: - x862630v4:CPU:hlt1_pp_default:run_throughput_cpu # - geforcegtx1080ti:CUDA:hlt1_pp_default:run_throughput # - geforcegtx10606g:CUDA:hlt1_pp_default:run_throughput + +throughput:hlt1_pp_retina_cluster:geforcertx2080ti:publish_throughput: + <<: *publish_throughput_job_def + tags: + - x86 + dependencies: + - geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput + - quadrortx6000:CUDA:hlt1_pp_default:run_throughput + #- teslav100:CUDA:hlt1_pp_default:run_throughput + #- teslat4:CUDA:hlt1_pp_default:run_throughput + #- x862630v4:CPU:hlt1_pp_default:run_throughput_cpu -- GitLab From 5c50dcc60903de9f99468466351b9cb51d4c3753 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 10:16:51 +0000 Subject: [PATCH 23/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 204 ++++++++++++++++++++++++------------------------- 1 file changed, 102 insertions(+), 102 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cb54510139e..b62e15fc10b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -382,40 +382,40 @@ test_physics_efficiency: # Build # ===== -CUDA:hlt1_pp_default:RelWithDebInfo::build: - <<: *build_job_def - tags: - - cvmfs +#CUDA:hlt1_pp_default:RelWithDebInfo::build: +# <<: *build_job_def +# tags: +# - cvmfs CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build: <<: *build_job_def tags: - cvmfs -CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build: - <<: *build_job_def - tags: - - cvmfs +#CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build: +# <<: *build_job_def +# tags: +# - cvmfs -CPU:hlt1_pp_default:Debug::build: - <<: *build_test_job_def - tags: - - cvmfs +#CPU:hlt1_pp_default:Debug::build: +# <<: *build_test_job_def +# tags: +# - cvmfs -CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build: - <<: *build_job_def - tags: - - cvmfs +#CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build: +# <<: *build_job_def +# tags: +# - cvmfs -CPU:hlt1_pp_default:RelWithDebInfo::build: - <<: *build_job_def - tags: - - cvmfs +#CPU:hlt1_pp_default:RelWithDebInfo::build: +# <<: *build_job_def +# tags: +# - cvmfs -CPU:hlt1_pp_default:RelWithDebInfo::build_clang: - <<: *build_clang_job_def - tags: - - cvmfs +#CPU:hlt1_pp_default:RelWithDebInfo::build_clang: +# <<: *build_clang_job_def +# tags: +# - cvmfs # === # Run @@ -423,33 +423,33 @@ CPU:hlt1_pp_default:RelWithDebInfo::build_clang: # Throughput runs -geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput: - <<: *run_throughput_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -quadrortx6000:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - quadrortx6000 - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -teslav100:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - teslav100 - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -teslat4:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - teslat4 - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build +#geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput: +# <<: *run_throughput_job_def +# tags: +# - geforcertx2080ti +# dependencies: +# - CUDA:hlt1_pp_default:RelWithDebInfo::build + +#quadrortx6000:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: +# <<: *run_throughput_job_no_profiling_def +# tags: +# - quadrortx6000 +# dependencies: +# - CUDA:hlt1_pp_default:RelWithDebInfo::build + +#teslav100:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: +# <<: *run_throughput_job_no_profiling_def +# tags: +# - teslav100 +# dependencies: +# - CUDA:hlt1_pp_default:RelWithDebInfo::build + +#teslat4:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: +# <<: *run_throughput_job_no_profiling_def +# tags: +# - teslat4 +# dependencies: +# - CUDA:hlt1_pp_default:RelWithDebInfo::build quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: <<: *run_throughput_job_no_profiling_def @@ -461,7 +461,7 @@ quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaClu geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: <<: *run_throughput_job_no_profiling_def tags: - - quadrortx6000 + - geforcertx2080ti dependencies: - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build @@ -482,66 +482,66 @@ geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/Retina # dependencies: # - CUDA:hlt1_pp_default:RelWithDebInfo::build -x862630v4:CPU:hlt1_pp_default:run_throughput_cpu: - <<: *run_throughput_job_no_profiling_def_cpu - tags: - - x862630v4 - dependencies: - - CPU:hlt1_pp_default:RelWithDebInfo::build +#x862630v4:CPU:hlt1_pp_default:run_throughput_cpu: +# <<: *run_throughput_job_no_profiling_def_cpu +# tags: +# - x862630v4 +# dependencies: +# - CPU:hlt1_pp_default:RelWithDebInfo::build # Physics efficiency runs -geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency: - <<: *run_physics_efficiency_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build +#geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency: +# <<: *run_physics_efficiency_job_def +# tags: +# - geforcertx2080ti +# dependencies: +# - CUDA:hlt1_pp_default:RelWithDebInfo::build -x862630v4:CPU:hlt1_pp_default:run_physics_efficiency: - <<: *run_physics_efficiency_job_def - tags: - - x862630v4 - dependencies: - - CPU:hlt1_pp_default:RelWithDebInfo::build +#x862630v4:CPU:hlt1_pp_default:run_physics_efficiency: +# <<: *run_physics_efficiency_job_def +# tags: +# - x862630v4 +# dependencies: +# - CPU:hlt1_pp_default:RelWithDebInfo::build # Test runs -geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency_debug: - <<: *run_physics_efficiency_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build - -x86:CPU:hlt1_pp_default:run_physics_efficiency_debug: - <<: *run_physics_efficiency_job_def - tags: - - x86 - dependencies: - - CPU:hlt1_pp_default:Debug::build - -x86:CPU:hlt1_pp_default:run_physics_efficiency_debug_root: - <<: *run_physics_efficiency_job_def - tags: - - x86 - dependencies: - - CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build +#geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency_debug: +# <<: *run_physics_efficiency_job_def +# tags: +# - geforcertx2080ti +# dependencies: +# - CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build + +#x86:CPU:hlt1_pp_default:run_physics_efficiency_debug: +# <<: *run_physics_efficiency_job_def +# tags: +# - x86 +# dependencies: +# - CPU:hlt1_pp_default:Debug::build + +#x86:CPU:hlt1_pp_default:run_physics_efficiency_debug_root: +# <<: *run_physics_efficiency_job_def +# tags: +# - x86 +# dependencies: +# - CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON:build # ======= # Publish # ======= -throughput:hlt1_pp_default:geforcertx2080ti:publish_throughput: - <<: *publish_throughput_job_def - tags: - - x86 - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput - - quadrortx6000:CUDA:hlt1_pp_default:run_throughput - - teslav100:CUDA:hlt1_pp_default:run_throughput - - teslat4:CUDA:hlt1_pp_default:run_throughput - - x862630v4:CPU:hlt1_pp_default:run_throughput_cpu +#throughput:hlt1_pp_default:geforcertx2080ti:publish_throughput: +# <<: *publish_throughput_job_def +# tags: +# - x86 +# dependencies: +# - geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput +# - quadrortx6000:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput +# - teslav100:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput +# - teslat4:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput +# - x862630v4:CPU:hlt1_pp_default:run_throughput_cpu # - geforcegtx1080ti:CUDA:hlt1_pp_default:run_throughput # - geforcegtx10606g:CUDA:hlt1_pp_default:run_throughput @@ -550,8 +550,8 @@ throughput:hlt1_pp_retina_cluster:geforcertx2080ti:publish_throughput: tags: - x86 dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput - - quadrortx6000:CUDA:hlt1_pp_default:run_throughput + - geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput + - quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput #- teslav100:CUDA:hlt1_pp_default:run_throughput #- teslat4:CUDA:hlt1_pp_default:run_throughput #- x862630v4:CPU:hlt1_pp_default:run_throughput_cpu -- GitLab From 04d237bec7156bb31a9cdb4ccfeb9b4d6fe63aa5 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 10:19:46 +0000 Subject: [PATCH 24/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b62e15fc10b..3929b41325d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -298,28 +298,28 @@ docker_image:build: - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}/algo_breakdown.csv -test_physics_efficiency: - only: - refs: - - master - - schedules - - web - - merge_requests - stage: test - script: - - TOPLEVEL=${PWD} - - ls validation_output - - ls ${TOPLEVEL}/test/reference - - cd validation_output - - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done - - cat *_diff > alldiffs - - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency - - x862630v4:CPU:hlt1_pp_default:run_physics_efficiency - tags: - - cvmfs - allow_failure: true +#test_physics_efficiency: +# only: +# refs: +# - master +# - schedules +# - web +# - merge_requests +# stage: test +# script: +# - TOPLEVEL=${PWD} +# - ls validation_output +# - ls ${TOPLEVEL}/test/reference +# - cd validation_output +# - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done +# - cat *_diff > alldiffs +# - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi +# dependencies: +# - geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency +# - x862630v4:CPU:hlt1_pp_default:run_physics_efficiency +# tags: +# - cvmfs +# allow_failure: true # run_built_tests: # only: -- GitLab From 657717cec1b4e3e85a4bb420e9dd737cc5acdfd2 Mon Sep 17 00:00:00 2001 From: Dorothea vom Bruch Date: Thu, 28 May 2020 12:27:49 +0200 Subject: [PATCH 25/44] add hlt1_pp_retina_cluster sequence --- configuration/sequences/hlt1_pp_retina_cluster.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 configuration/sequences/hlt1_pp_retina_cluster.py diff --git a/configuration/sequences/hlt1_pp_retina_cluster.py b/configuration/sequences/hlt1_pp_retina_cluster.py new file mode 100644 index 00000000000..39cb511bdae --- /dev/null +++ b/configuration/sequences/hlt1_pp_retina_cluster.py @@ -0,0 +1,12 @@ +from definitions.VeloSequence import VeloSequence +from definitions.PVSequence import PVSequence +from definitions.UTSequence import UTSequence +from definitions.ForwardSequence import ForwardSequence +from definitions.MuonSequence import MuonSequence +from definitions.HLT1Sequence import HLT1Sequence +from definitions.algorithms import compose_sequences + +hlt1_sequence = compose_sequences( + VeloSequence(retina_decoding=True), PVSequence(), UTSequence(), ForwardSequence(), + MuonSequence(), HLT1Sequence()) +hlt1_sequence.generate() -- GitLab From 1fb88adab393374c99ae445a6f0a195a77b61a63 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 11:19:30 +0000 Subject: [PATCH 26/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3929b41325d..6feb31eb67e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -192,11 +192,11 @@ docker_image:build: - fi - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - - mkdir output_${DEVICE_ID} + - mkdir output_${DEVICE_ID}_${SEQUENCE} - cd build_${TARGET} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt + - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt artifacts: expire_in: 2 hrs paths: @@ -224,11 +224,11 @@ docker_image:build: - RUN_OPTIONS="-n 1000 -m 700 -r 10 -t ${THREADS} -c 0" # If we ever execute on other CPUs - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - - mkdir output_${DEVICE_ID} + - mkdir output_${DEVICE_ID}_${SEQUENCE} - cd build_${TARGET} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt + - ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt artifacts: expire_in: 2 hrs paths: @@ -255,6 +255,7 @@ docker_image:build: - DEVICE_ID=${JOB_NAME_SPLIT[0]} - TARGET=${JOB_NAME_SPLIT[1]} - SEQUENCE=${JOB_NAME_SPLIT[2]} + - DATA=${JOB_NAME_SPLIT[3]} - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - D_MEMORY=${DEVICE_MEMORY_MAP[${DEVICE_ID}]} - RUN_OPTIONS="-n 1000 -m 700 -r 100 -t 12 -c 0" @@ -263,13 +264,13 @@ docker_image:build: - fi - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - - mkdir output_${DEVICE_ID} + - mkdir output_${DEVICE_ID}_${SEQUENCE} - cd build_${TARGET} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt + - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt - NVPROF_TMPDIR=`mktemp -d` - - CUDA_VISIBLE_DEVICES=${D_NUMBER} TMPDIR=${NVPROF_TMPDIR} nvprof ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/profiler_output.txt + - CUDA_VISIBLE_DEVICES=${D_NUMBER} TMPDIR=${NVPROF_TMPDIR} nvprof ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/profiler_output.txt - rm -rf ${NVPROF_TMPDIR} - python3 ${TOPLEVEL}/checker/plotting/extract_algo_breakdown.py -d ${TOPLEVEL} artifacts: @@ -296,7 +297,7 @@ docker_image:build: - SEQUENCE=${JOB_NAME_SPLIT[1]} - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}/algo_breakdown.csv + - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}_${SEQUENCE}/algo_breakdown.csv #test_physics_efficiency: # only: @@ -357,7 +358,7 @@ docker_image:build: - paste -d, devices.txt throughputs.txt > devices_throughputs.csv - cat devices_throughputs.csv - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - - python3 checker/plotting/post_combined_message.py -l "Throughput of [sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_](https://gitlab.cern.ch/lhcb/Allen/pipelines/${CI_PIPELINE_ID})" -m ${MATTERMOST_KEY} -t devices_throughputs.csv -b output_${BREAKDOWN_DEVICE_ID}/algo_breakdown.csv + - python3 checker/plotting/post_combined_message.py -l "Throughput of [sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_](https://gitlab.cern.ch/lhcb/Allen/pipelines/${CI_PIPELINE_ID})" -m ${MATTERMOST_KEY} -t devices_throughputs.csv -b output_${BREAKDOWN_DEVICE_ID}_${SEQUENCE}/algo_breakdown.csv - python3 checker/plotting/post_telegraf.py -d . -s ${SEQUENCE} -b ${CI_COMMIT_REF_NAME} .throughput_speedup_job: &publish_speedup_job_def @@ -423,7 +424,7 @@ CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build: # Throughput runs -#geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput: +#geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: # <<: *run_throughput_job_def # tags: # - geforcertx2080ti @@ -451,20 +452,20 @@ CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build: # dependencies: # - CUDA:hlt1_pp_default:RelWithDebInfo::build -quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: - <<: *run_throughput_job_no_profiling_def +geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + <<: *run_throughput_job_def tags: - - quadrortx6000 + - geforcertx2080ti dependencies: - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build - -geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + +quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: <<: *run_throughput_job_no_profiling_def tags: - - geforcertx2080ti + - quadrortx6000 dependencies: - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build - + # Note: Add -gencode=arch=compute_61,code=sm_61 # to the configuration if these cards are enabled. -- GitLab From d16c6cef782eec9784d89b0d4b4b7f476a63e9b2 Mon Sep 17 00:00:00 2001 From: Dorothea vom Bruch Date: Thu, 28 May 2020 18:24:10 +0200 Subject: [PATCH 27/44] make compile --- .../sequences/definitions/VeloSequence.py | 22 +++---- .../sequences/hlt1_pp_retina_cluster.py | 58 +++++++++++++++++-- ...ateNumberOfRetinaClustersPerPairModule.cuh | 19 +++--- .../include/DecodeRetinaClusters.cuh | 21 ++++--- .../VeloCalculateNumberOfRetinaClusters.cuh | 7 +-- .../src/DecodeRetinaClusters.cu | 8 +-- 6 files changed, 90 insertions(+), 45 deletions(-) diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 4de667be161..7476e0caf66 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -32,7 +32,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_selected_events_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), - dev_velo_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) + dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) prefix_sum_offsets_velo_retinaclusters = host_prefix_sum_t( name="prefix_sum_offsets_velo_retinaclusters", @@ -46,12 +46,12 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_cluster_candidates_t=prefix_sum_offsets_velo_retinaclusters. host_total_sum_holder_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), - dev_candidates_offsets=prefix_sum_offsets_velo_retinaclusters.dev_output_buffer_t(), - dev_velo_retina_raw_input=velo_retina_banks.dev_raw_banks_t(), - dev_velo_retina_raw_input_offsets=velo_retina_banks.dev_raw_offsets_t()) + dev_candidates_offsets_t=prefix_sum_offsets_velo_retinaclusters.dev_output_buffer_t(), + dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), + dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) - prefix_sum_offsets_retinaclusters_each_pair_module = host_prefix_sum_t( - "prefix_sum_offsets_retinaclusters_each_pair_module", + prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( + name="prefix_sum_offsets_estimated_input_size", dev_input_buffer_t= calculate_number_of_retinaclusters_each_pair_module. dev_estimated_input_size_t()) @@ -59,13 +59,13 @@ def VeloSequence(doGEC=True, retina_decoding=False): decode_retinaclusters = decode_retinaclusters_t( name="decode_retinaclusters", host_total_number_of_velo_clusters_t= - prefix_sum_offsets_retinaclusters_each_pair_module.host_total_sum_holder_t(), + prefix_sum_offsets_estimated_input_size.host_total_sum_holder_t(), host_number_of_selected_events_t=initialize_lists. host_number_of_selected_events_t(), dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t(), dev_offsets_estimated_input_size_t= - prefix_sum_offsets_retinaclusters_each_pair_module.dev_output_buffer_t(), + prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), dev_module_candidate_num_t=calculate_number_of_retinaclusters_each_pair_module. dev_module_candidate_num_t(), dev_cluster_candidates_t=calculate_number_of_retinaclusters_each_pair_module. @@ -255,13 +255,13 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_retina_banks, velo_calculate_number_of_retinaclusters, prefix_sum_offsets_velo_retinaclusters, calculate_number_of_retinaclusters_each_pair_module, - prefix_sum_offsets_retinaclusters_each_pair_module, + prefix_sum_offsets_estimated_input_size, decode_retinaclusters, velo_calculate_phi_and_sort, velo_search_by_triplet, prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, - prefix_sum_offsets_velo_track_hit_number, velo_consolidate_tracks) + velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, + velo_consolidate_tracks) else: velo_sequence = Sequence( host_ut_banks, host_scifi_banks, initialize_lists, velo_banks, diff --git a/configuration/sequences/hlt1_pp_retina_cluster.py b/configuration/sequences/hlt1_pp_retina_cluster.py index 39cb511bdae..99d2376d1c6 100644 --- a/configuration/sequences/hlt1_pp_retina_cluster.py +++ b/configuration/sequences/hlt1_pp_retina_cluster.py @@ -6,7 +6,57 @@ from definitions.MuonSequence import MuonSequence from definitions.HLT1Sequence import HLT1Sequence from definitions.algorithms import compose_sequences -hlt1_sequence = compose_sequences( - VeloSequence(retina_decoding=True), PVSequence(), UTSequence(), ForwardSequence(), - MuonSequence(), HLT1Sequence()) -hlt1_sequence.generate() +velo_sequence = VeloSequence(retina_decoding=True) + +pv_sequence = PVSequence( + initialize_lists=velo_sequence["initialize_lists"], + velo_copy_track_hit_number=velo_sequence["velo_copy_track_hit_number"], + velo_consolidate_tracks=velo_sequence["velo_consolidate_tracks"], + prefix_sum_offsets_velo_track_hit_number=velo_sequence[ + "prefix_sum_offsets_velo_track_hit_number"]) + +ut_sequence = UTSequence( + initialize_lists=velo_sequence["initialize_lists"], + velo_copy_track_hit_number=velo_sequence["velo_copy_track_hit_number"], + velo_consolidate_tracks=velo_sequence["velo_consolidate_tracks"], + prefix_sum_offsets_velo_track_hit_number=velo_sequence[ + "prefix_sum_offsets_velo_track_hit_number"]) + +forward_sequence = ForwardSequence( + initialize_lists=velo_sequence["initialize_lists"], + velo_copy_track_hit_number=velo_sequence["velo_copy_track_hit_number"], + velo_consolidate_tracks=velo_sequence["velo_consolidate_tracks"], + prefix_sum_offsets_velo_track_hit_number=velo_sequence[ + "prefix_sum_offsets_velo_track_hit_number"], + prefix_sum_ut_tracks=ut_sequence["prefix_sum_ut_tracks"], + prefix_sum_ut_track_hit_number=ut_sequence[ + "prefix_sum_ut_track_hit_number"], + ut_consolidate_tracks=ut_sequence["ut_consolidate_tracks"]) + +muon_sequence = MuonSequence( + initialize_lists=velo_sequence["initialize_lists"], + prefix_sum_forward_tracks=forward_sequence["prefix_sum_forward_tracks"], + prefix_sum_scifi_track_hit_number=forward_sequence[ + "prefix_sum_scifi_track_hit_number"], + scifi_consolidate_tracks_t=forward_sequence["scifi_consolidate_tracks_t"]) + +hlt1_sequence = HLT1Sequence( + initialize_lists=velo_sequence["initialize_lists"], + velo_copy_track_hit_number=velo_sequence["velo_copy_track_hit_number"], + velo_kalman_filter=pv_sequence["velo_kalman_filter"], + prefix_sum_offsets_velo_track_hit_number=velo_sequence[ + "prefix_sum_offsets_velo_track_hit_number"], + pv_beamline_multi_fitter=pv_sequence["pv_beamline_multi_fitter"], + prefix_sum_forward_tracks=forward_sequence["prefix_sum_forward_tracks"], + velo_consolidate_tracks=velo_sequence["velo_consolidate_tracks"], + prefix_sum_ut_tracks=ut_sequence["prefix_sum_ut_tracks"], + prefix_sum_ut_track_hit_number=ut_sequence[ + "prefix_sum_ut_track_hit_number"], + ut_consolidate_tracks=ut_sequence["ut_consolidate_tracks"], + prefix_sum_scifi_track_hit_number=forward_sequence[ + "prefix_sum_scifi_track_hit_number"], + scifi_consolidate_tracks=forward_sequence["scifi_consolidate_tracks_t"], + is_muon=muon_sequence["is_muon_t"]) + +compose_sequences(velo_sequence, pv_sequence, ut_sequence, forward_sequence, + muon_sequence, hlt1_sequence).generate() diff --git a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh index a51a8e59450..91560938f00 100644 --- a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh +++ b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh @@ -8,16 +8,14 @@ namespace calculate_number_of_retinaclusters_each_pair_module { Parameters, (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), (HOST_INPUT(host_number_of_cluster_candidates_t, uint), host_number_of_cluster_candidates), - (DEVICE_INPUT(dev_event_list_t, uint) dev_event_list), - (DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets), - (DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input), - (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets), - (DEVICE_OUTPUT(dev_estimated_input_size_t, uint) dev_estimated_input_size), - (DEVICE_OUTPUT(dev_module_candidate_num_t, uint) dev_module_candidate_num), - (DEVICE_OUTPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates), - (PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions")) - }; - + (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), + (DEVICE_INPUT(dev_candidates_offsets_t, uint), dev_candidates_offsets), + (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), + (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), + (DEVICE_OUTPUT(dev_estimated_input_size_t, uint), dev_estimated_input_size), + (DEVICE_OUTPUT(dev_module_candidate_num_t, uint), dev_module_candidate_num), + (DEVICE_OUTPUT(dev_cluster_candidates_t, uint), dev_cluster_candidates), + (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) __global__ void calculate_number_of_retinaclusters_each_pair_module(Parameters parameters); @@ -30,7 +28,6 @@ namespace calculate_number_of_retinaclusters_each_pair_module { const Constants&, const HostBuffers&) const; - void operator()( const ArgumentReferences& arguments, const RuntimeOptions& runtime_options, diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 2fedc77c1dc..8a270706e05 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -11,17 +11,16 @@ namespace decode_retinaclusters { Parameters, (HOST_INPUT(host_total_number_of_velo_clusters_t, uint), host_total_number_of_velo_clusters), (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), - (DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input), - (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets), - (DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint) dev_offsets_estimated_input_size), - (DEVICE_INPUT(dev_module_candidate_num_t, uint) dev_module_pair_candidate_num), - (DEVICE_INPUT(dev_cluster_candidates_t, uint) dev_cluster_candidates), - (DEVICE_INPUT(dev_event_list_t, uint) dev_event_list), - (DEVICE_INPUT(dev_candidates_offsets_t, uint) dev_candidates_offsets) - (DEVICE_OUTPUT(dev_module_cluster_num_t, uint) dev_module_cluster_num), - (DEVICE_OUTPUT(dev_velo_cluster_container_t, char) dev_velo_cluster_container), - (PROPERTY(block_dim_t, DeviceDimensions, "block_dim", "block dimensions")) - }; + (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), + (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), + (DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint), dev_offsets_estimated_input_size), + (DEVICE_INPUT(dev_module_candidate_num_t, uint), dev_module_pair_candidate_num), + (DEVICE_INPUT(dev_cluster_candidates_t, uint), dev_cluster_candidates), + (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), + (DEVICE_INPUT(dev_candidates_offsets_t, uint), dev_candidates_offsets), + (DEVICE_OUTPUT(dev_module_cluster_num_t, uint), dev_module_cluster_num), + (DEVICE_OUTPUT(dev_velo_cluster_container_t, char), dev_velo_cluster_container), + (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) __global__ void decode_retinaclusters( Parameters parameters, diff --git a/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh index a841d76311a..2d27390d179 100644 --- a/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh @@ -8,11 +8,10 @@ namespace velo_calculate_number_of_retinaclusters { Parameters, (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), - (DEVICE_INPUT(dev_velo_retina_raw_input_t, char) dev_velo_retina_raw_input), - (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint) dev_velo_retina_raw_input_offsets), - (DEVICE_OUTPUT(dev_number_of_candidates_t, uint) dev_number_of_candidates), + (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), + (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), + (DEVICE_OUTPUT(dev_number_of_candidates_t, uint), dev_number_of_candidates), (PROPERTY(block_dim_x_t, "block_dim_x", "block dimension X", uint), block_dim_x_prop)) - }; // Global function __global__ void velo_calculate_number_of_retinaclusters(Parameters parameters, const uint number_of_events); diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index b8e8c6f278a..a91221b017f 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -13,10 +13,10 @@ void decode_retinaclusters::decode_retinaclusters_t::set_arguments_size( first(arguments) * Velo::Clusters::element_size); } -void decode_retinaclusters::decode_retinaclusters_t::opterator()( +void decode_retinaclusters::decode_retinaclusters_t::operator()( const ArgumentReferences& arguments, const RuntimeOptions& runtime_options, - const Constants&, + const Constants& constants, HostBuffers&, cudaStream_t& cuda_stream, cudaEvent_t&) const @@ -25,10 +25,10 @@ void decode_retinaclusters::decode_retinaclusters_t::opterator()( if (runtime_options.mep_layout) { global_function(decode_retinaclusters_mep)( - dim3(first(arguments)[0]), property(), cuda_stream)(arguments, constants.dev_velo_geometry); + dim3(first(arguments)), property(), cuda_stream)(arguments, constants.dev_velo_geometry); } else { global_function(decode_retinaclusters)( - dim3(first(arguments)[0]), property(), cuda_stream)(arguments, constants.dev_velo_geometry); + dim3(first(arguments)), property(), cuda_stream)(arguments, constants.dev_velo_geometry); } } -- GitLab From 6fdb9d856f72fbdcdb67380440cdda077a7fc6ee Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 16:52:41 +0000 Subject: [PATCH 28/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 79 ++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6feb31eb67e..d3938ba05bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,8 +42,8 @@ check-formatting: - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} + - mkdir build_${TARGET}_${SEQUENCE} + - cd build_${TARGET}_${SEQUENCE} - cmake -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: @@ -74,8 +74,8 @@ check-formatting: - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} + - mkdir build_${TARGET}_${SEQUENCE} + - cd build_${TARGET}_${SEQUENCE} - cmake -G Ninja -DBUILD_TESTS=ON -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: @@ -105,8 +105,8 @@ check-formatting: - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-clang8-opt - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} + - mkdir build_${TARGET}_${SEQUENCE} + - cd build_${TARGET}_${SEQUENCE} - cmake -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: @@ -147,16 +147,17 @@ docker_image:build: - DEVICE_ID=${JOB_NAME_SPLIT[0]} - TARGET=${JOB_NAME_SPLIT[1]} - SEQUENCE=${JOB_NAME_SPLIT[2]} + - DATA=${JOB_NAME_SPLIT[3]} - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - RUN_OPTIONS="-n 1000 -m 700" - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - mkdir validation_output - ln -s validation_output output # Needed by Root build - - cd build_${TARGET} + - cd build_${TARGET}_${SEQUENCE} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f /scratch/dcampora/allen_data/201907/bsphiphi_mag_down ${RUN_OPTIONS} 2>&1 | tee ../validation_output/bsphiphi_${DEVICE_ID}.txt + - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../validation_output/bsphiphi_${DEVICE_ID}_${SEQUENCE}.txt artifacts: expire_in: 2 hrs paths: @@ -193,7 +194,7 @@ docker_image:build: - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - mkdir output_${DEVICE_ID}_${SEQUENCE} - - cd build_${TARGET} + - cd build_${TARGET}_${SEQUENCE} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt @@ -225,7 +226,7 @@ docker_image:build: - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - mkdir output_${DEVICE_ID}_${SEQUENCE} - - cd build_${TARGET} + - cd build_${TARGET}_${SEQUENCE} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt @@ -265,7 +266,7 @@ docker_image:build: - export PATH=$PATH:/usr/local/cuda/bin - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - mkdir output_${DEVICE_ID}_${SEQUENCE} - - cd build_${TARGET} + - cd build_${TARGET}_${SEQUENCE} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt @@ -299,28 +300,29 @@ docker_image:build: - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}_${SEQUENCE}/algo_breakdown.csv -#test_physics_efficiency: -# only: -# refs: -# - master -# - schedules -# - web -# - merge_requests -# stage: test -# script: -# - TOPLEVEL=${PWD} -# - ls validation_output -# - ls ${TOPLEVEL}/test/reference -# - cd validation_output -# - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done -# - cat *_diff > alldiffs -# - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi -# dependencies: -# - geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency -# - x862630v4:CPU:hlt1_pp_default:run_physics_efficiency -# tags: -# - cvmfs -# allow_failure: true +test_physics_efficiency: + only: + refs: + - master + - schedules + - web + - merge_requests + stage: test + script: + - TOPLEVEL=${PWD} + - ls validation_output + - ls ${TOPLEVEL}/test/reference + - cd validation_output + - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done + - cat *_diff > alldiffs + - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi + dependencies: + - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency: +# - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency +# - x862630v4:CPU:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency + tags: + - cvmfs + allow_failure: true # run_built_tests: # only: @@ -492,20 +494,27 @@ quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaClu # Physics efficiency runs -#geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency: +#geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency: # <<: *run_physics_efficiency_job_def # tags: # - geforcertx2080ti # dependencies: # - CUDA:hlt1_pp_default:RelWithDebInfo::build -#x862630v4:CPU:hlt1_pp_default:run_physics_efficiency: +#x862630v4:CPU:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency: # <<: *run_physics_efficiency_job_def # tags: # - x862630v4 # dependencies: # - CPU:hlt1_pp_default:RelWithDebInfo::build +geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency: + <<: *run_physics_efficiency_job_def + tags: + - geforcertx2080ti + dependencies: + - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build + # Test runs #geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency_debug: -- GitLab From e885d16e5ac8bb96da576cfbc6450c312cfa32c8 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 18:47:50 +0000 Subject: [PATCH 29/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d3938ba05bd..121a11b1571 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -317,7 +317,7 @@ test_physics_efficiency: - cat *_diff > alldiffs - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency: + - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency # - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency # - x862630v4:CPU:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency tags: -- GitLab From 4699fad98ca1a4a70cfc23010ad0d95683921f27 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 18:55:07 +0000 Subject: [PATCH 30/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 121a11b1571..0b96a1f8d2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,7 +44,7 @@ check-formatting: - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - mkdir build_${TARGET}_${SEQUENCE} - cd build_${TARGET}_${SEQUENCE} - - cmake -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. + - cmake -DSTANDALONE=ON -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: expire_in: 2 hrs @@ -76,7 +76,7 @@ check-formatting: - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - mkdir build_${TARGET}_${SEQUENCE} - cd build_${TARGET}_${SEQUENCE} - - cmake -G Ninja -DBUILD_TESTS=ON -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. + - cmake -DSTANDALONE=ON -G Ninja -DBUILD_TESTS=ON -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: expire_in: 2 hrs @@ -107,7 +107,7 @@ check-formatting: - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/10.2/x86_64-centos7/setup.sh - mkdir build_${TARGET}_${SEQUENCE} - cd build_${TARGET}_${SEQUENCE} - - cmake -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. + - cmake -DSTANDALONE=ON -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=ivybridge -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" ${ADDITIONAL_OPTIONS} .. - ninja -j 8 artifacts: expire_in: 2 hrs -- GitLab From 2f9bcc5d337db3e9b180e8965e50616e345b7643 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 19:08:56 +0000 Subject: [PATCH 31/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0b96a1f8d2c..41413292137 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -468,6 +468,20 @@ quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaClu dependencies: - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build +teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + <<: *run_throughput_job_no_profiling_def + tags: + - teslav100 + dependencies: + - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build + +teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: + <<: *run_throughput_job_no_profiling_def + tags: + - teslat4 + dependencies: + - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build + # Note: Add -gencode=arch=compute_61,code=sm_61 # to the configuration if these cards are enabled. @@ -562,6 +576,8 @@ throughput:hlt1_pp_retina_cluster:geforcertx2080ti:publish_throughput: dependencies: - geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput - quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput + - teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput + - teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput #- teslav100:CUDA:hlt1_pp_default:run_throughput #- teslat4:CUDA:hlt1_pp_default:run_throughput #- x862630v4:CPU:hlt1_pp_default:run_throughput_cpu -- GitLab From 1909682da277788f4ffd215ad7ad24947f002af5 Mon Sep 17 00:00:00 2001 From: Dorothea vom Bruch Date: Thu, 28 May 2020 21:09:24 +0200 Subject: [PATCH 32/44] update names of references, add one for bsphiphi_x862630v4_hlt1_pp_default --- ...iphi_geforcertx2080ti_hlt1_pp_default.txt} | 0 ...eforcertx2080ti_hlt1_pp_retina_cluster.txt | 94 +++++++++++++++++++ ...=> bsphiphi_x862630v4_hlt1_pp_default.txt} | 0 3 files changed, 94 insertions(+) rename test/reference/{bsphiphi_geforcertx2080ti.txt => bsphiphi_geforcertx2080ti_hlt1_pp_default.txt} (100%) create mode 100644 test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_retina_cluster.txt rename test/reference/{bsphiphi_x862630v4.txt => bsphiphi_x862630v4_hlt1_pp_default.txt} (100%) diff --git a/test/reference/bsphiphi_geforcertx2080ti.txt b/test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_default.txt similarity index 100% rename from test/reference/bsphiphi_geforcertx2080ti.txt rename to test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_default.txt diff --git a/test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_retina_cluster.txt b/test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_retina_cluster.txt new file mode 100644 index 00000000000..474a78dcfe8 --- /dev/null +++ b/test/reference/bsphiphi_geforcertx2080ti_hlt1_pp_retina_cluster.txt @@ -0,0 +1,94 @@ +Velo tracks: +TrackChecker output : 4574/ 285569 1.60% ghosts +01_velo : 119427/ 121547 98.26% ( 98.30%), 2844 ( 2.33%) clones, pur 99.42%, hit eff 96.01% +02_long : 68304/ 68861 99.19% ( 99.24%), 1162 ( 1.67%) clones, pur 99.51%, hit eff 97.18% +03_long_P>5GeV : 43134/ 43397 99.39% ( 99.44%), 612 ( 1.40%) clones, pur 99.53%, hit eff 97.69% +04_long_strange : 3044/ 3127 97.35% ( 97.66%), 57 ( 1.84%) clones, pur 99.06%, hit eff 96.55% +05_long_strange_P>5GeV : 1429/ 1468 97.34% ( 97.52%), 22 ( 1.52%) clones, pur 98.85%, hit eff 97.40% +06_long_fromB : 4395/ 4453 98.70% ( 98.84%), 61 ( 1.37%) clones, pur 99.25%, hit eff 97.05% +07_long_fromB_P>5GeV : 3639/ 3678 98.94% ( 98.88%), 44 ( 1.19%) clones, pur 99.24%, hit eff 97.36% +08_long_electrons : 4818/ 5253 91.72% ( 91.89%), 145 ( 2.92%) clones, pur 95.56%, hit eff 93.34% +09_long_fromB_electrons : 217/ 233 93.13% ( 94.50%), 14 ( 6.06%) clones, pur 96.28%, hit eff 93.21% +10_long_fromB_electrons_P>5GeV : 153/ 162 94.44% ( 96.62%), 9 ( 5.56%) clones, pur 96.84%, hit eff 94.82% + + +Primary vertices: +REC and MC vertices matched by dz distance +MC PV is reconstructible if at least 4 tracks are reconstructed +MC PV is isolated if dz to closest reconstructible MC PV > 10.00 mm +REC and MC vertices matched by dz distance + +All : 0.925 ( 5327/ 5758) +Isolated : 0.965 ( 2881/ 2984) +Close : 0.882 ( 2446/ 2774) +False rate : 0.014 ( 73/ 5400) +Real false rate : 0.014 ( 73/ 5400) +Clones : 0.000 ( 0/ 5327) + + +Velo+UT tracks: +TrackChecker output : 4036/ 58914 6.85% ghosts +01_velo : 52206/ 121547 42.95% ( 43.21%), 533 ( 1.01%) clones, pur 99.30%, hit eff 96.68% +02_velo+UT : 52087/ 105844 49.21% ( 49.53%), 532 ( 1.01%) clones, pur 99.32%, hit eff 96.68% +03_velo+UT_P>5GeV : 37286/ 52476 71.05% ( 71.47%), 360 ( 0.96%) clones, pur 99.41%, hit eff 97.53% +04_velo+notLong : 10657/ 52686 20.23% ( 20.25%), 102 ( 0.95%) clones, pur 99.11%, hit eff 95.47% +05_velo+UT+notLong : 10556/ 37859 27.88% ( 27.99%), 102 ( 0.96%) clones, pur 99.20%, hit eff 95.45% +06_velo+UT+notLong_P>5GeV : 5923/ 9814 60.35% ( 60.88%), 43 ( 0.72%) clones, pur 99.41%, hit eff 97.43% +07_long : 41549/ 68861 60.34% ( 60.77%), 431 ( 1.03%) clones, pur 99.35%, hit eff 96.99% +08_long_P>5GeV : 31381/ 43397 72.31% ( 72.78%), 318 ( 1.00%) clones, pur 99.40%, hit eff 97.55% +09_long_fromB : 3697/ 4453 83.02% ( 85.66%), 35 ( 0.94%) clones, pur 99.26%, hit eff 97.49% +10_long_fromB_P>5GeV : 3314/ 3678 90.10% ( 91.38%), 29 ( 0.87%) clones, pur 99.27%, hit eff 97.62% +11_long_electrons : 895/ 5253 17.04% ( 17.89%), 23 ( 2.51%) clones, pur 96.61%, hit eff 95.07% +12_long_fromB_electrons : 95/ 233 40.77% ( 45.26%), 3 ( 3.06%) clones, pur 97.87%, hit eff 95.49% +13_long_fromB_electrons_P>5GeV : 90/ 162 55.56% ( 60.40%), 3 ( 3.23%) clones, pur 97.92%, hit eff 95.25% + + +Forward tracks: +TrackChecker output : 1374/ 38721 3.55% ghosts +for P>3GeV,Pt>0.5GeV : 752/ 24989 3.01% ghosts +01_long : 35270/ 68861 51.22% ( 52.23%), 360 ( 1.01%) clones, pur 99.05%, hit eff 95.65% +02_long_P>5GeV : 29337/ 43397 67.60% ( 68.43%), 294 ( 0.99%) clones, pur 99.18%, hit eff 96.61% +03_long_strange : 1073/ 3127 34.31% ( 34.52%), 12 ( 1.11%) clones, pur 98.66%, hit eff 94.99% +04_long_strange_P>5GeV : 788/ 1468 53.68% ( 54.24%), 7 ( 0.88%) clones, pur 98.78%, hit eff 96.43% +05_long_fromB : 3380/ 4453 75.90% ( 78.49%), 31 ( 0.91%) clones, pur 99.18%, hit eff 96.82% +06_long_fromB_P>5GeV : 3152/ 3678 85.70% ( 86.91%), 28 ( 0.88%) clones, pur 99.22%, hit eff 97.10% +07_long_electrons : 679/ 5253 12.93% ( 13.48%), 21 ( 3.00%) clones, pur 97.83%, hit eff 95.35% +08_long_electrons_P>5GeV : 588/ 2619 22.45% ( 23.87%), 18 ( 2.97%) clones, pur 97.91%, hit eff 96.22% +09_long_fromB_electrons : 84/ 233 36.05% ( 39.90%), 3 ( 3.45%) clones, pur 98.34%, hit eff 95.71% +10_long_fromB_electrons_P>5GeV : 79/ 162 48.77% ( 52.51%), 3 ( 3.66%) clones, pur 98.50%, hit eff 96.15% + + +Muon matching: +Muon fraction in all MCPs: 13985/ 1035270 0.01% +Muon fraction in MCPs to which a track(s) was matched: 456/ 43111 0.01% +Correctly identified muons with isMuon: 373/ 456 81.80% +Correctly identified muons from strange decays with isMuon: 0/ 0 -nan% +Correctly identified muons from B decays with isMuon: 92/ 109 84.40% +Tracks identified as muon with isMuon, but matched to non-muon MCP: 4118/ 42655 9.65% +Ghost tracks identified as muon with isMuon: 170/ 1374 12.37% + + +HLT1 rates: +ErrorEvent: 0/ 1000, ( 0.00 +/- 0.00) kHz +PassThrough: 1000/ 1000, (30000.00 +/- 0.00) kHz +NoBeams: 1/ 1000, ( 30.00 +/- 29.98) kHz +BeamOne: 0/ 1000, ( 0.00 +/- 0.00) kHz +BeamTwo: 0/ 1000, ( 0.00 +/- 0.00) kHz +BothBeams: 0/ 1000, ( 0.00 +/- 0.00) kHz +ODINNoBias: 0/ 1000, ( 0.00 +/- 0.00) kHz +ODINLumi: 0/ 1000, ( 0.00 +/- 0.00) kHz +GECPassthrough: 1000/ 1000, (30000.00 +/- 0.00) kHz +VeloMicroBias: 1/ 1000, ( 30.00 +/- 29.98) kHz +TrackMVA: 244/ 1000, ( 7320.00 +/- 407.45) kHz +TrackMuonMVA: 8/ 1000, ( 240.00 +/- 84.51) kHz +SingleHighPtMuon: 3/ 1000, ( 90.00 +/- 51.88) kHz +LowPtMuon: 130/ 1000, ( 3900.00 +/- 319.05) kHz +TwoTrackMVA: 427/ 1000, (12810.00 +/- 469.26) kHz +DiMuonHighMass: 13/ 1000, ( 390.00 +/- 107.46) kHz +DiMuonLowMass: 30/ 1000, ( 900.00 +/- 161.83) kHz +LowPtDiMuon: 46/ 1000, ( 1380.00 +/- 198.73) kHz +DiMuonSoft: 0/ 1000, ( 0.00 +/- 0.00) kHz +D2KPi: 38/ 1000, ( 1140.00 +/- 181.38) kHz +D2PiPi: 36/ 1000, ( 1080.00 +/- 176.73) kHz +D2KK: 16/ 1000, ( 480.00 +/- 119.04) kHz +Inclusive: 1000/ 1000, (30000.00 +/- 0.00) kHz diff --git a/test/reference/bsphiphi_x862630v4.txt b/test/reference/bsphiphi_x862630v4_hlt1_pp_default.txt similarity index 100% rename from test/reference/bsphiphi_x862630v4.txt rename to test/reference/bsphiphi_x862630v4_hlt1_pp_default.txt -- GitLab From e4003de4825176289b1fb3ca4dfc0835ec22eabd Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Thu, 28 May 2020 19:42:10 +0000 Subject: [PATCH 33/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41413292137..20d143dea9a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -468,12 +468,12 @@ quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaClu dependencies: - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build -teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - teslav100 - dependencies: - - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build +#teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: +# <<: *run_throughput_job_no_profiling_def +# tags: +# - teslav100 +# dependencies: +# - CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput: <<: *run_throughput_job_no_profiling_def @@ -576,7 +576,7 @@ throughput:hlt1_pp_retina_cluster:geforcertx2080ti:publish_throughput: dependencies: - geforcertx2080ti:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput - quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput - - teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput + #- teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput - teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput #- teslav100:CUDA:hlt1_pp_default:run_throughput #- teslat4:CUDA:hlt1_pp_default:run_throughput -- GitLab From 575ff7655f246e7c2744cae1dcf7b1f78d50c0d3 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Fri, 29 May 2020 07:18:52 +0000 Subject: [PATCH 34/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 63 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 20d143dea9a..9f4010dbcc7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -221,6 +221,7 @@ docker_image:build: - DEVICE_ID=${JOB_NAME_SPLIT[0]} - TARGET=${JOB_NAME_SPLIT[1]} - SEQUENCE=${JOB_NAME_SPLIT[2]} + - DATA=${JOB_NAME_SPLIT[3]} - THREADS=$(lscpu | egrep "^CPU\(s\):.*[0-9]+$" --color=none | awk '{ print $2; }') - RUN_OPTIONS="-n 1000 -m 700 -r 10 -t ${THREADS} -c 0" # If we ever execute on other CPUs - export PATH=$PATH:/usr/local/cuda/bin @@ -229,7 +230,7 @@ docker_image:build: - cd build_${TARGET}_${SEQUENCE} - ls - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt + - ./Allen -f ${DATA} ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}_${SEQUENCE}/output.txt artifacts: expire_in: 2 hrs paths: @@ -300,29 +301,29 @@ docker_image:build: - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97python3 x86_64-centos7-gcc8-opt - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence __${SEQUENCE}__, branch _${CI_COMMIT_REF_NAME}_" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}_${SEQUENCE}/algo_breakdown.csv -test_physics_efficiency: - only: - refs: - - master - - schedules - - web - - merge_requests - stage: test - script: - - TOPLEVEL=${PWD} - - ls validation_output - - ls ${TOPLEVEL}/test/reference - - cd validation_output - - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done - - cat *_diff > alldiffs - - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency +#test_physics_efficiency: +# only: +# refs: +# - master +# - schedules +# - web +# - merge_requests +# stage: test +# script: +# - TOPLEVEL=${PWD} +# - ls validation_output +# - ls ${TOPLEVEL}/test/reference +# - cd validation_output +# - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done +# - cat *_diff > alldiffs +# - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi +# dependencies: +# - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/RetinaCluster_Bs2PhiPhi:run_physics_efficiency # - geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency # - x862630v4:CPU:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency - tags: - - cvmfs - allow_failure: true +# tags: +# - cvmfs +# allow_failure: true # run_built_tests: # only: @@ -415,6 +416,11 @@ CUDA:hlt1_pp_retina_cluster:RelWithDebInfo::build: # tags: # - cvmfs +CPU:hlt1_pp_retina_cluster:RelWithDebInfo::build: + <<: *build_job_def + tags: + - cvmfs + #CPU:hlt1_pp_default:RelWithDebInfo::build_clang: # <<: *build_clang_job_def # tags: @@ -485,27 +491,34 @@ teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/: # Note: Add -gencode=arch=compute_61,code=sm_61 # to the configuration if these cards are enabled. -# geforcegtx10606g:CUDA:hlt1_pp_default:run_throughput: +# geforcegtx10606g:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: # <<: *run_throughput_job_no_profiling_def # tags: # - geforcegtx10606g # dependencies: # - CUDA:hlt1_pp_default:RelWithDebInfo::build -# geforcegtx1080ti:CUDA:hlt1_pp_default:run_throughput: +# geforcegtx1080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput: # <<: *run_throughput_job_no_profiling_def # tags: # - geforcegtx1080ti # dependencies: # - CUDA:hlt1_pp_default:RelWithDebInfo::build -#x862630v4:CPU:hlt1_pp_default:run_throughput_cpu: +#x862630v4:CPU:hlt1_pp_default:/scratch/dcampora/allen_data/201907/minbias_mag_down:run_throughput_cpu: # <<: *run_throughput_job_no_profiling_def_cpu # tags: # - x862630v4 # dependencies: # - CPU:hlt1_pp_default:RelWithDebInfo::build +x862630v4:CPU:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput_cpu: + <<: *run_throughput_job_no_profiling_def_cpu + tags: + - x862630v4 + dependencies: + - CPU:hlt1_pp_retina_cluster:RelWithDebInfo::build + # Physics efficiency runs #geforcertx2080ti:CUDA:hlt1_pp_default:/scratch/dcampora/allen_data/201907/bsphiphi_mag_down:run_physics_efficiency: -- GitLab From 2eb853dcf04d67bf7a9ad1e7712584ccc9f68094 Mon Sep 17 00:00:00 2001 From: Dorothea Vom Bruch Date: Fri, 5 Jun 2020 09:47:45 +0000 Subject: [PATCH 35/44] Update .gitlab-ci.yml --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f4010dbcc7..006a83bcfbb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -591,6 +591,7 @@ throughput:hlt1_pp_retina_cluster:geforcertx2080ti:publish_throughput: - quadrortx6000:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput #- teslav100:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput - teslat4:CUDA:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput + - x862630v4:CPU:hlt1_pp_retina_cluster:/scratch/dcampora/allen_data/RetinaCluster/:run_throughput_cpu #- teslav100:CUDA:hlt1_pp_default:run_throughput #- teslat4:CUDA:hlt1_pp_default:run_throughput #- x862630v4:CPU:hlt1_pp_default:run_throughput_cpu -- GitLab From a6859acf385e5e29bf3d8b727161e3146c43c8b2 Mon Sep 17 00:00:00 2001 From: Dorothea vom Bruch Date: Sat, 6 Jun 2020 23:45:08 +0200 Subject: [PATCH 36/44] remove unnecessary prefix sum and # of Retina clusters per raw bank count --- .../sequences/definitions/VeloSequence.py | 27 +----- ...ateNumberOfRetinaClustersPerPairModule.cuh | 4 - .../include/DecodeRetinaClusters.cuh | 3 - .../VeloCalculateNumberOfRetinaClusters.cuh | 39 --------- ...lateNumberOfRetinaClustersPerPairModule.cu | 3 - .../src/DecodeRetinaClusters.cu | 2 - .../VeloCalculateNumberOfRetinaClusters.cu | 83 ------------------- 7 files changed, 2 insertions(+), 159 deletions(-) delete mode 100644 device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh delete mode 100644 device/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 7476e0caf66..9677f92fab4 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -26,27 +26,11 @@ def VeloSequence(doGEC=True, retina_decoding=False): if retina_decoding: velo_retina_banks = data_provider_t(name="velo_retina_banks", bank_type="VPRetinaCluster") - velo_calculate_number_of_retinaclusters = velo_calculate_number_of_retinaclusters_t( - name="velo_calculate_number_of_retinaclusters", - host_number_of_selected_events_t=initialize_lists. - host_number_of_selected_events_t(), - dev_event_list_t=initialize_lists.dev_event_list_t(), - dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), - dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) - - prefix_sum_offsets_velo_retinaclusters = host_prefix_sum_t( - name="prefix_sum_offsets_velo_retinaclusters", - dev_input_buffer_t=velo_calculate_number_of_retinaclusters. - dev_number_of_candidates_t()) - calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t( name="calculate_number_of_retinaclusters_each_pair_module", host_number_of_selected_events_t=initialize_lists. host_number_of_selected_events_t(), - host_number_of_cluster_candidates_t=prefix_sum_offsets_velo_retinaclusters. - host_total_sum_holder_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), - dev_candidates_offsets_t=prefix_sum_offsets_velo_retinaclusters.dev_output_buffer_t(), dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) @@ -66,13 +50,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t(), dev_offsets_estimated_input_size_t= prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), - dev_module_candidate_num_t=calculate_number_of_retinaclusters_each_pair_module. - dev_module_candidate_num_t(), - dev_cluster_candidates_t=calculate_number_of_retinaclusters_each_pair_module. - dev_cluster_candidates_t(), - dev_event_list_t=initialize_lists.dev_event_list_t(), - dev_candidates_offsets_t=prefix_sum_offsets_velo_retinaclusters. - dev_output_buffer_t()) + dev_event_list_t=initialize_lists.dev_event_list_t()) velo_calculate_phi_and_sort = velo_calculate_phi_and_sort_t( name="velo_calculate_phi_and_sort", @@ -252,8 +230,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): if retina_decoding: velo_sequence = Sequence( host_ut_banks, host_scifi_banks, initialize_lists, - velo_retina_banks, velo_calculate_number_of_retinaclusters, - prefix_sum_offsets_velo_retinaclusters, + velo_retina_banks, calculate_number_of_retinaclusters_each_pair_module, prefix_sum_offsets_estimated_input_size, decode_retinaclusters, velo_calculate_phi_and_sort, diff --git a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh index 91560938f00..a42319dc28a 100644 --- a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh +++ b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh @@ -7,14 +7,10 @@ namespace calculate_number_of_retinaclusters_each_pair_module { DEFINE_PARAMETERS( Parameters, (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), - (HOST_INPUT(host_number_of_cluster_candidates_t, uint), host_number_of_cluster_candidates), (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), - (DEVICE_INPUT(dev_candidates_offsets_t, uint), dev_candidates_offsets), (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), (DEVICE_OUTPUT(dev_estimated_input_size_t, uint), dev_estimated_input_size), - (DEVICE_OUTPUT(dev_module_candidate_num_t, uint), dev_module_candidate_num), - (DEVICE_OUTPUT(dev_cluster_candidates_t, uint), dev_cluster_candidates), (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) __global__ void calculate_number_of_retinaclusters_each_pair_module(Parameters parameters); diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 8a270706e05..20388d252ca 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -14,10 +14,7 @@ namespace decode_retinaclusters { (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), (DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint), dev_offsets_estimated_input_size), - (DEVICE_INPUT(dev_module_candidate_num_t, uint), dev_module_pair_candidate_num), - (DEVICE_INPUT(dev_cluster_candidates_t, uint), dev_cluster_candidates), (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), - (DEVICE_INPUT(dev_candidates_offsets_t, uint), dev_candidates_offsets), (DEVICE_OUTPUT(dev_module_cluster_num_t, uint), dev_module_cluster_num), (DEVICE_OUTPUT(dev_velo_cluster_container_t, char), dev_velo_cluster_container), (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) diff --git a/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh deleted file mode 100644 index 2d27390d179..00000000000 --- a/device/velo/retinacluster_decoding/include/VeloCalculateNumberOfRetinaClusters.cuh +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once - -#include "DeviceAlgorithm.cuh" -#include "ClusteringDefinitions.cuh" - -namespace velo_calculate_number_of_retinaclusters { - DEFINE_PARAMETERS ( - Parameters, - (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), - (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), - (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), - (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), - (DEVICE_OUTPUT(dev_number_of_candidates_t, uint), dev_number_of_candidates), - (PROPERTY(block_dim_x_t, "block_dim_x", "block dimension X", uint), block_dim_x_prop)) - - // Global function - __global__ void velo_calculate_number_of_retinaclusters(Parameters parameters, const uint number_of_events); - __global__ void velo_calculate_number_of_retinaclusters_mep(Parameters parameters, const uint number_of_events); - - // Algorithm - struct velo_calculate_number_of_retinaclusters_t : public DeviceAlgorithm, Parameters { - void set_arguments_size( - ArgumentReferences arguments, - const RuntimeOptions&, - const Constants&, - const HostBuffers&) const; - - void operator()( - const ArgumentReferences& arguments, - const RuntimeOptions& runtime_options, - const Constants&, - HostBuffers&, - cudaStream_t& cuda_stream, - cudaEvent_t&) const; - - private: - Property m_block_dim_x {this, 256}; - }; -} // namespace velo_calculate_number_of_retinaclusters diff --git a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu index ad4bb7e7901..e40a54865e6 100644 --- a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu +++ b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu @@ -13,8 +13,6 @@ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_re set_size( arguments, first(arguments) * Velo::Constants::n_module_pairs); - set_size(arguments, first(arguments)); - set_size(arguments, first(arguments)); } void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module_t::operator()( @@ -26,7 +24,6 @@ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_re cudaEvent_t&) const { initialize(arguments, 0, cuda_stream); - initialize(arguments, 0, cuda_stream); if (runtime_options.mep_layout) { global_function(calculate_number_of_retinaclusters_each_pair_module_mep)(dim3(first(arguments)), property(), cuda_stream)(arguments); diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index a91221b017f..7eee18f2b83 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -92,8 +92,6 @@ __global__ void decode_retinaclusters::decode_retinaclusters( parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; - - // Local pointers to parameters.dev_velo_cluster_container const uint estimated_number_of_clusters = parameters.dev_offsets_estimated_input_size[Velo::Constants::n_module_pairs * number_of_events]; diff --git a/device/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu b/device/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu deleted file mode 100644 index 3e48ac0a39c..00000000000 --- a/device/velo/retinacluster_decoding/src/VeloCalculateNumberOfRetinaClusters.cu +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include - -void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters_t::set_arguments_size( - ArgumentReferences arguments, - const RuntimeOptions&, - const Constants&, - const HostBuffers&) const -{ - if (logger::verbosity() >= logger::debug) { - debug_cout << "# of events = " << first(arguments) << std::endl; - } - set_size(arguments, first(arguments)); -} - -void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters_t::operator()( - const ArgumentReferences& arguments, - const RuntimeOptions& runtime_options, - const Constants&, - HostBuffers&, - cudaStream_t& cuda_stream, - cudaEvent_t&) const -{ - // Enough blocks to cover all events - const auto grid_size = dim3( - (first(arguments) + property() - 1) / property()); - - if (runtime_options.mep_layout) { - global_function(velo_calculate_number_of_retinaclusters_mep)( - grid_size, dim3(property().get()), cuda_stream)( - arguments, first(arguments)); - } - else { - global_function(velo_calculate_number_of_retinaclusters)(grid_size, dim3(property().get()), cuda_stream)( - arguments, first(arguments)); - } -} - -__global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters( - velo_calculate_number_of_retinaclusters::Parameters parameters, - const uint number_of_events) -{ - for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; - event_number += blockDim.x * gridDim.x) { - const auto selected_event_number = parameters.dev_event_list[event_number]; - const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; - - // Read raw event - const auto raw_event = VeloRawEvent(raw_input); - - uint number_of_retinaclusters = 0; - for (uint raw_bank_number = 0; raw_bank_number < raw_event.number_of_raw_banks; ++raw_bank_number) { - // Read raw bank - const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - number_of_retinaclusters += raw_bank.count; - } - - // The number of RetinaClusters - parameters.dev_number_of_candidates[event_number] = number_of_retinaclusters; - } -} - -__global__ void velo_calculate_number_of_retinaclusters::velo_calculate_number_of_retinaclusters_mep( - velo_calculate_number_of_retinaclusters::Parameters parameters, - const uint number_of_events) -{ - for (auto event_number = blockIdx.x * blockDim.x + threadIdx.x; event_number < number_of_events; - event_number += blockDim.x * gridDim.x) { - const uint selected_event_number = parameters.dev_event_list[event_number]; - auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - - uint number_of_retinaclusters = 0; - for (uint raw_bank_number = 0; raw_bank_number < number_of_raw_banks; ++raw_bank_number) { - // Create raw bank from MEP layout - const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - number_of_retinaclusters += raw_bank.count; - - } - - parameters.dev_number_of_candidates[event_number] = number_of_retinaclusters; - } -} -- GitLab From 11bcb213a1e2a89592ed96e9b3efb06278e9ca73 Mon Sep 17 00:00:00 2001 From: Gitlab CI Date: Sat, 6 Jun 2020 21:47:06 +0000 Subject: [PATCH 37/44] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Allen/-/jobs/8691395 --- .../sequences/definitions/VeloSequence.py | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 9677f92fab4..237b7cd74f1 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -24,7 +24,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_scifi_raw_offsets_t=host_scifi_banks.host_raw_offsets_t()) if retina_decoding: - velo_retina_banks = data_provider_t(name="velo_retina_banks", bank_type="VPRetinaCluster") + velo_retina_banks = data_provider_t( + name="velo_retina_banks", bank_type="VPRetinaCluster") calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t( name="calculate_number_of_retinaclusters_each_pair_module", @@ -32,7 +33,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_selected_events_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), - dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t()) + dev_velo_retina_raw_input_offsets_t=velo_retina_banks. + dev_raw_offsets_t()) prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( name="prefix_sum_offsets_estimated_input_size", @@ -47,7 +49,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_selected_events_t=initialize_lists. host_number_of_selected_events_t(), dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), - dev_velo_retina_raw_input_offsets_t=velo_retina_banks.dev_raw_offsets_t(), + dev_velo_retina_raw_input_offsets_t=velo_retina_banks. + dev_raw_offsets_t(), dev_offsets_estimated_input_size_t= prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), dev_event_list_t=initialize_lists.dev_event_list_t()) @@ -99,8 +102,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): name="velo_estimate_input_size", host_number_of_selected_events_t=initialize_lists. host_number_of_selected_events_t(), - host_number_of_cluster_candidates_t=prefix_sum_offsets_velo_candidates. - host_total_sum_holder_t(), + host_number_of_cluster_candidates_t= + prefix_sum_offsets_velo_candidates.host_total_sum_holder_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), dev_candidates_offsets_t=prefix_sum_offsets_velo_candidates. dev_output_buffer_t(), @@ -232,13 +235,12 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_ut_banks, host_scifi_banks, initialize_lists, velo_retina_banks, calculate_number_of_retinaclusters_each_pair_module, - prefix_sum_offsets_estimated_input_size, - decode_retinaclusters, velo_calculate_phi_and_sort, - velo_search_by_triplet, prefix_sum_offsets_velo_tracks, - velo_three_hit_tracks_filter, + prefix_sum_offsets_estimated_input_size, decode_retinaclusters, + velo_calculate_phi_and_sort, velo_search_by_triplet, + prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + velo_copy_track_hit_number, + prefix_sum_offsets_velo_track_hit_number, velo_consolidate_tracks) else: velo_sequence = Sequence( host_ut_banks, host_scifi_banks, initialize_lists, velo_banks, @@ -248,7 +250,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_calculate_phi_and_sort, velo_search_by_triplet, prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, prefix_sum_offsets_number_of_three_hit_tracks_filtered, - velo_copy_track_hit_number, prefix_sum_offsets_velo_track_hit_number, - velo_consolidate_tracks) + velo_copy_track_hit_number, + prefix_sum_offsets_velo_track_hit_number, velo_consolidate_tracks) return velo_sequence -- GitLab From 6ef0f02fd564cbd2190d1d2b6928e001536af1dd Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Wed, 10 Jun 2020 21:10:25 +0200 Subject: [PATCH 38/44] delete __syncthreads and use threadIdx.y --- ...ateNumberOfRetinaClustersPerPairModule.cuh | 2 +- .../include/DecodeRetinaClusters.cuh | 2 +- ...lateNumberOfRetinaClustersPerPairModule.cu | 28 +++++++------------ .../src/DecodeRetinaClusters.cu | 14 ++++------ 4 files changed, 18 insertions(+), 28 deletions(-) diff --git a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh index a42319dc28a..0b958c0b126 100644 --- a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh +++ b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh @@ -33,6 +33,6 @@ namespace calculate_number_of_retinaclusters_each_pair_module { cudaEvent_t&) const; private: - Property m_block_dim {this, {{16, 16, 1}}}; + Property m_block_dim {this, {{256, 1, 1}}}; }; } // namespace calculate_number_of_retinaclusters_each_pair_module diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 20388d252ca..05f8f13af0e 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -43,6 +43,6 @@ namespace decode_retinaclusters { cudaEvent_t&) const; private: - Property m_block_dim {this, {{256, 1, 1}}}; + Property m_block_dim {this, {{32, 32, 1}}}; }; } // namespace decode_retinaclusters diff --git a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu index e40a54865e6..1336c131650 100644 --- a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu +++ b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu @@ -34,19 +34,6 @@ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_re } } -__device__ void calculate_raw_bank_size( - uint* estimated_input_size, - VeloRawBank const& raw_bank) -{ - uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - - for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x){ - // Add clusters - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, 1); - assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); -} -} - __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module(calculate_number_of_retinaclusters_each_pair_module::Parameters parameters) { const auto event_number = blockIdx.x; @@ -58,11 +45,13 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n // Read raw event const auto raw_event = VeloRawEvent(raw_input); - for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; - raw_bank_number += blockDim.y) { + for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.x) { // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - calculate_raw_bank_size(estimated_input_size, raw_bank); + uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, raw_bank.count); + assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); } } @@ -76,12 +65,15 @@ __global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_n // Read raw event auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { + for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { // Create raw bank from MEP layout const auto raw_bank = MEP::raw_bank( parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - calculate_raw_bank_size(estimated_input_size, raw_bank); + uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); + [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, raw_bank.count); + assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); + } } diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index 7eee18f2b83..dbe9a33d250 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -43,7 +43,7 @@ __device__ void put_retinaclusters_into_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { + for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x) { // Decode cluster const uint32_t word = raw_bank.word[sp_index]; @@ -103,8 +103,8 @@ __global__ void decode_retinaclusters::decode_retinaclusters( // Read raw event const auto raw_event = VeloRawEvent(raw_input); - for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; - raw_bank_number += blockDim.x) { + for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.y) { const auto module_pair_number = raw_bank_number / 8; const uint cluster_start = module_pair_cluster_start[module_pair_number]; @@ -120,8 +120,7 @@ __global__ void decode_retinaclusters::decode_retinaclusters( raw_bank); } - __syncthreads(); - + } __global__ void decode_retinaclusters::decode_retinaclusters_mep( @@ -149,7 +148,7 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( // Read raw event auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { + for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { const auto module_pair_number = raw_bank_number / 8; const uint cluster_start = module_pair_cluster_start[module_pair_number]; @@ -166,6 +165,5 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( raw_bank); } - __syncthreads(); - + } -- GitLab From e4ead9e26dce75bd91ef36a3d96be4b4a225c0f4 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Wed, 10 Jun 2020 23:00:50 +0200 Subject: [PATCH 39/44] do not use threadIdx.y in DecodeRetinaClsuters.cu --- .../include/DecodeRetinaClusters.cuh | 2 +- .../retinacluster_decoding/src/DecodeRetinaClusters.cu | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 05f8f13af0e..20388d252ca 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -43,6 +43,6 @@ namespace decode_retinaclusters { cudaEvent_t&) const; private: - Property m_block_dim {this, {{32, 32, 1}}}; + Property m_block_dim {this, {{256, 1, 1}}}; }; } // namespace decode_retinaclusters diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index dbe9a33d250..04c93b73c16 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -43,7 +43,7 @@ __device__ void put_retinaclusters_into_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x) { + for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { // Decode cluster const uint32_t word = raw_bank.word[sp_index]; @@ -103,8 +103,8 @@ __global__ void decode_retinaclusters::decode_retinaclusters( // Read raw event const auto raw_event = VeloRawEvent(raw_input); - for (uint raw_bank_number = threadIdx.y; raw_bank_number < raw_event.number_of_raw_banks; - raw_bank_number += blockDim.y) { + for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; const uint cluster_start = module_pair_cluster_start[module_pair_number]; @@ -148,7 +148,7 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( // Read raw event auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - for (uint raw_bank_number = threadIdx.y; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.y) { + for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; const uint cluster_start = module_pair_cluster_start[module_pair_number]; -- GitLab From a3927c3eba92a0c38820d25af9a89ae414dc88f4 Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Thu, 11 Jun 2020 21:02:39 +0200 Subject: [PATCH 40/44] using threadIdx.y in DecodeRetinaClusters --- .../retinacluster_decoding/include/DecodeRetinaClusters.cuh | 2 +- device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 20388d252ca..73073b93a27 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -43,6 +43,6 @@ namespace decode_retinaclusters { cudaEvent_t&) const; private: - Property m_block_dim {this, {{256, 1, 1}}}; + Property m_block_dim {this, {{8, 32, 1}}}; }; } // namespace decode_retinaclusters diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index 04c93b73c16..a99056fe9d5 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -43,7 +43,7 @@ __device__ void put_retinaclusters_into_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { + for (uint sp_index = threadIdx.y; sp_index < raw_bank.count; sp_index += blockDim.y) { // Decode cluster const uint32_t word = raw_bank.word[sp_index]; -- GitLab From 863bde0d8aa157e5fe3282a36c5c852b56332b8e Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Fri, 12 Jun 2020 15:44:29 +0200 Subject: [PATCH 41/44] modify the size of dev_module_cluster_num_t --- device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index a99056fe9d5..28658be4b03 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -8,7 +8,7 @@ void decode_retinaclusters::decode_retinaclusters_t::set_arguments_size( const HostBuffers&) const { set_size( - arguments, first(arguments) * Velo::Constants::n_modules); + arguments, first(arguments) * Velo::Constants::n_module_pairs); set_size(arguments, first(arguments) * Velo::Clusters::element_size); } -- GitLab From 551095e7ff097e325f97fab9bd71ceb877ea85fe Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Wed, 17 Jun 2020 15:37:54 +0200 Subject: [PATCH 42/44] update codes related to RetinaClusters --- .../sequences/definitions/VeloSequence.py | 28 +++---- ...culateNumberOfRetinaClustersPerSensor.cuh} | 12 +-- .../include/DecodeRetinaClusters.cuh | 5 +- ...lateNumberOfRetinaClustersPerPairModule.cu | 79 ------------------- ...alculateNumberOfRetinaClustersPerSensor.cu | 73 +++++++++++++++++ .../src/DecodeRetinaClusters.cu | 76 +++++++++--------- 6 files changed, 135 insertions(+), 138 deletions(-) rename device/velo/retinacluster_decoding/include/{CalculateNumberOfRetinaClustersPerPairModule.cuh => CalculateNumberOfRetinaClustersPerSensor.cuh} (66%) delete mode 100644 device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu create mode 100644 device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerSensor.cu diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 237b7cd74f1..5a3230f3572 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -27,8 +27,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_retina_banks = data_provider_t( name="velo_retina_banks", bank_type="VPRetinaCluster") - calculate_number_of_retinaclusters_each_pair_module = calculate_number_of_retinaclusters_each_pair_module_t( - name="calculate_number_of_retinaclusters_each_pair_module", + calculate_number_of_retinaclusters_each_sensor = calculate_number_of_retinaclusters_each_sensor_t( + name="calculate_number_of_retinaclusters_each_sensor", host_number_of_selected_events_t=initialize_lists. host_number_of_selected_events_t(), dev_event_list_t=initialize_lists.dev_event_list_t(), @@ -39,8 +39,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): prefix_sum_offsets_estimated_input_size = host_prefix_sum_t( name="prefix_sum_offsets_estimated_input_size", dev_input_buffer_t= - calculate_number_of_retinaclusters_each_pair_module. - dev_estimated_input_size_t()) + calculate_number_of_retinaclusters_each_sensor. + dev_each_sensor_size_t()) decode_retinaclusters = decode_retinaclusters_t( name="decode_retinaclusters", @@ -51,7 +51,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_velo_retina_raw_input_t=velo_retina_banks.dev_raw_banks_t(), dev_velo_retina_raw_input_offsets_t=velo_retina_banks. dev_raw_offsets_t(), - dev_offsets_estimated_input_size_t= + dev_offsets_each_sensor_size_t= prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), dev_event_list_t=initialize_lists.dev_event_list_t()) @@ -61,8 +61,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_selected_events_t(), host_total_number_of_velo_clusters_t= prefix_sum_offsets_estimated_input_size.host_total_sum_holder_t(), - dev_offsets_estimated_input_size_t= - prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), dev_module_cluster_num_t=decode_retinaclusters. dev_module_cluster_num_t(), dev_velo_cluster_container_t=decode_retinaclusters. @@ -76,8 +76,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): prefix_sum_offsets_estimated_input_size.host_total_sum_holder_t(), dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. dev_sorted_velo_cluster_container_t(), - dev_offsets_estimated_input_size_t= - prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), dev_module_cluster_num_t=decode_retinaclusters. dev_module_cluster_num_t(), dev_hit_phi_t=velo_calculate_phi_and_sort.dev_hit_phi_t()) @@ -171,8 +171,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): host_number_of_selected_events_t(), dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. dev_sorted_velo_cluster_container_t(), - dev_offsets_estimated_input_size_t= - prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), dev_atomics_velo_t=velo_search_by_triplet.dev_atomics_velo_t(), dev_hit_used_t=velo_search_by_triplet.dev_hit_used_t(), dev_three_hit_tracks_input_t=velo_search_by_triplet. @@ -222,8 +222,8 @@ def VeloSequence(doGEC=True, retina_decoding=False): prefix_sum_offsets_velo_track_hit_number.dev_output_buffer_t(), dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. dev_sorted_velo_cluster_container_t(), - dev_offsets_estimated_input_size_t= - prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), dev_three_hit_tracks_output_t=velo_three_hit_tracks_filter. dev_three_hit_tracks_output_t(), dev_offsets_number_of_three_hit_tracks_filtered_t= @@ -234,7 +234,7 @@ def VeloSequence(doGEC=True, retina_decoding=False): velo_sequence = Sequence( host_ut_banks, host_scifi_banks, initialize_lists, velo_retina_banks, - calculate_number_of_retinaclusters_each_pair_module, + calculate_number_of_retinaclusters_each_sensor, prefix_sum_offsets_estimated_input_size, decode_retinaclusters, velo_calculate_phi_and_sort, velo_search_by_triplet, prefix_sum_offsets_velo_tracks, velo_three_hit_tracks_filter, diff --git a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerSensor.cuh similarity index 66% rename from device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh rename to device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerSensor.cuh index 0b958c0b126..2f60f65ab5d 100644 --- a/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerPairModule.cuh +++ b/device/velo/retinacluster_decoding/include/CalculateNumberOfRetinaClustersPerSensor.cuh @@ -3,21 +3,21 @@ #include "DeviceAlgorithm.cuh" #include "ClusteringDefinitions.cuh" -namespace calculate_number_of_retinaclusters_each_pair_module { +namespace calculate_number_of_retinaclusters_each_sensor { DEFINE_PARAMETERS( Parameters, (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), - (DEVICE_OUTPUT(dev_estimated_input_size_t, uint), dev_estimated_input_size), + (DEVICE_OUTPUT(dev_each_sensor_size_t, uint), dev_each_sensor_size), (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) - __global__ void calculate_number_of_retinaclusters_each_pair_module(Parameters parameters); + __global__ void calculate_number_of_retinaclusters_each_sensor(Parameters parameters); - __global__ void calculate_number_of_retinaclusters_each_pair_module_mep(Parameters parameters); + __global__ void calculate_number_of_retinaclusters_each_sensor_mep(Parameters parameters); - struct calculate_number_of_retinaclusters_each_pair_module_t : public DeviceAlgorithm, Parameters { + struct calculate_number_of_retinaclusters_each_sensor_t : public DeviceAlgorithm, Parameters { void set_arguments_size( ArgumentReferences arguments, const RuntimeOptions&, @@ -35,4 +35,4 @@ namespace calculate_number_of_retinaclusters_each_pair_module { private: Property m_block_dim {this, {{256, 1, 1}}}; }; -} // namespace calculate_number_of_retinaclusters_each_pair_module +} // namespace calculate_number_of_retinaclusters_each_sensor diff --git a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh index 73073b93a27..e88322ab153 100644 --- a/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh +++ b/device/velo/retinacluster_decoding/include/DecodeRetinaClusters.cuh @@ -13,9 +13,10 @@ namespace decode_retinaclusters { (HOST_INPUT(host_number_of_selected_events_t, uint), host_number_of_selected_events), (DEVICE_INPUT(dev_velo_retina_raw_input_t, char), dev_velo_retina_raw_input), (DEVICE_INPUT(dev_velo_retina_raw_input_offsets_t, uint), dev_velo_retina_raw_input_offsets), - (DEVICE_INPUT(dev_offsets_estimated_input_size_t, uint), dev_offsets_estimated_input_size), + (DEVICE_INPUT(dev_offsets_each_sensor_size_t, uint), dev_offsets_each_sensor_size), (DEVICE_INPUT(dev_event_list_t, uint), dev_event_list), - (DEVICE_OUTPUT(dev_module_cluster_num_t, uint), dev_module_cluster_num), + (DEVICE_OUTPUT(dev_module_cluster_num_t, uint), dev_module_pair_cluster_num), + (DEVICE_OUTPUT(dev_offsets_module_pair_cluster_t, uint), dev_offsets_module_pair_cluster), (DEVICE_OUTPUT(dev_velo_cluster_container_t, char), dev_velo_cluster_container), (PROPERTY(block_dim_t, "block_dim", "block dimensions", DeviceDimensions), block_dim_prop)) diff --git a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu deleted file mode 100644 index 1336c131650..00000000000 --- a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerPairModule.cu +++ /dev/null @@ -1,79 +0,0 @@ -#include -#include - -void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module_t::set_arguments_size( - ArgumentReferences arguments, - const RuntimeOptions&, - const Constants&, - const HostBuffers&) const -{ - if (logger::verbosity() >= logger::debug) { - debug_cout << "# of events = " << first(arguments) << std::endl; - } - - set_size( - arguments, first(arguments) * Velo::Constants::n_module_pairs); -} - -void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module_t::operator()( - const ArgumentReferences& arguments, - const RuntimeOptions& runtime_options, - const Constants&, - HostBuffers&, - cudaStream_t& cuda_stream, - cudaEvent_t&) const -{ - initialize(arguments, 0, cuda_stream); - - if (runtime_options.mep_layout) { - global_function(calculate_number_of_retinaclusters_each_pair_module_mep)(dim3(first(arguments)), property(), cuda_stream)(arguments); - } - else { - global_function(calculate_number_of_retinaclusters_each_pair_module)( - dim3(first(arguments)), property(), cuda_stream)(arguments); - } -} - -__global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module(calculate_number_of_retinaclusters_each_pair_module::Parameters parameters) -{ - const auto event_number = blockIdx.x; - const auto selected_event_number = parameters.dev_event_list[event_number]; - - const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - - // Read raw event - const auto raw_event = VeloRawEvent(raw_input); - - for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; - raw_bank_number += blockDim.x) { - // Read raw bank - const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); - uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, raw_bank.count); - assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); - } - -} -__global__ void calculate_number_of_retinaclusters_each_pair_module::calculate_number_of_retinaclusters_each_pair_module_mep(calculate_number_of_retinaclusters_each_pair_module::Parameters parameters) -{ - const uint event_number = blockIdx.x; - const uint selected_event_number = parameters.dev_event_list[event_number]; - - uint* estimated_input_size = parameters.dev_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - - // Read raw event - auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; - - for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { - - // Create raw bank from MEP layout - const auto raw_bank = MEP::raw_bank( - parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); - - uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - [[maybe_unused]] const uint current_estimated_module_pair_size = atomicAdd(estimated_module_pair_size, raw_bank.count); - assert(current_estimated_module_pair_size < Velo::Constants::max_numhits_in_module_pair); - - } -} diff --git a/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerSensor.cu b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerSensor.cu new file mode 100644 index 00000000000..1507fdb3418 --- /dev/null +++ b/device/velo/retinacluster_decoding/src/CalculateNumberOfRetinaClustersPerSensor.cu @@ -0,0 +1,73 @@ +#include +#include + +void calculate_number_of_retinaclusters_each_sensor::calculate_number_of_retinaclusters_each_sensor_t::set_arguments_size( + ArgumentReferences arguments, + const RuntimeOptions&, + const Constants&, + const HostBuffers&) const +{ + if (logger::verbosity() >= logger::debug) { + debug_cout << "# of events = " << first(arguments) << std::endl; + } + + set_size( + arguments, first(arguments) * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module); +} + +void calculate_number_of_retinaclusters_each_sensor::calculate_number_of_retinaclusters_each_sensor_t::operator()( + const ArgumentReferences& arguments, + const RuntimeOptions& runtime_options, + const Constants&, + HostBuffers&, + cudaStream_t& cuda_stream, + cudaEvent_t&) const +{ + initialize(arguments, 0, cuda_stream); + + if (runtime_options.mep_layout) { + global_function(calculate_number_of_retinaclusters_each_sensor_mep)(dim3(first(arguments)), property(), cuda_stream)(arguments); + } + else { + global_function(calculate_number_of_retinaclusters_each_sensor)( + dim3(first(arguments)), property(), cuda_stream)(arguments); + } +} + +__global__ void calculate_number_of_retinaclusters_each_sensor::calculate_number_of_retinaclusters_each_sensor(calculate_number_of_retinaclusters_each_sensor::Parameters parameters) +{ + const auto event_number = blockIdx.x; + const auto selected_event_number = parameters.dev_event_list[event_number]; + + const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; + uint* each_sensor_size = parameters.dev_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; + + // Read raw event + const auto raw_event = VeloRawEvent(raw_input); + + for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; + raw_bank_number += blockDim.x) { + // Read raw bank + const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); + each_sensor_size[raw_bank.sensor_index] = raw_bank.count; + } + +} +__global__ void calculate_number_of_retinaclusters_each_sensor::calculate_number_of_retinaclusters_each_sensor_mep(calculate_number_of_retinaclusters_each_sensor::Parameters parameters) +{ + const uint event_number = blockIdx.x; + const uint selected_event_number = parameters.dev_event_list[event_number]; + + uint* each_sensor_size = parameters.dev_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; + + // Read raw event + auto const number_of_raw_banks = parameters.dev_velo_retina_raw_input_offsets[0]; + + for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { + + // Create raw bank from MEP layout + const auto raw_bank = MEP::raw_bank( + parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); + each_sensor_size[raw_bank.sensor_index] = raw_bank.count; + } +} diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index 28658be4b03..8b8363275b5 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -11,6 +11,8 @@ void decode_retinaclusters::decode_retinaclusters_t::set_arguments_size( arguments, first(arguments) * Velo::Constants::n_module_pairs); set_size(arguments, first(arguments) * Velo::Clusters::element_size); + set_size(arguments, + first(arguments) * Velo::Constants::n_module_pairs + 1); } void decode_retinaclusters::decode_retinaclusters_t::operator()( @@ -22,6 +24,7 @@ void decode_retinaclusters::decode_retinaclusters_t::operator()( cudaEvent_t&) const { initialize(arguments, 0, cuda_stream); + initialize(arguments, 0, cuda_stream); if (runtime_options.mep_layout) { global_function(decode_retinaclusters_mep)( @@ -33,11 +36,8 @@ void decode_retinaclusters::decode_retinaclusters_t::operator()( } __device__ void put_retinaclusters_into_container( - uint const* module_pair_cluster_start, Velo::Clusters velo_cluster_container, - uint* module_pair_cluster_num, VeloGeometry const& g, - int const module_pair_number, uint const cluster_start, VeloRawBank const& raw_bank) { @@ -61,19 +61,10 @@ __device__ void put_retinaclusters_into_container( const float gz = ( ltg[6] * local_x + ltg[7] * local_y + ltg[11] ); const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); - const uint cluster_num = atomicAdd(module_pair_cluster_num + module_pair_number, 1); - -#if ALLEN_DEBUG - const auto module_estimated_num = module_pair_cluster_start[module_pair_number + 1] - module_pair_cluster_start[module_pair_number]; - assert(cluster_num <= module_estimated_num); -#else - _unused(module_pair_cluster_start); -#endif - - velo_cluster_container.set_x(cluster_start + cluster_num, gx); - velo_cluster_container.set_y(cluster_start + cluster_num, gy); - velo_cluster_container.set_z(cluster_start + cluster_num, gz); - velo_cluster_container.set_id(cluster_start + cluster_num, get_lhcb_id(cid)); + velo_cluster_container.set_x(cluster_start + sp_index, gx); + velo_cluster_container.set_y(cluster_start + sp_index, gy); + velo_cluster_container.set_z(cluster_start + sp_index, gz); + velo_cluster_container.set_id(cluster_start + sp_index, get_lhcb_id(cid)); } } @@ -88,40 +79,46 @@ __global__ void decode_retinaclusters::decode_retinaclusters( const uint selected_event_number = parameters.dev_event_list[event_number]; const char* raw_input = parameters.dev_velo_retina_raw_input + parameters.dev_velo_retina_raw_input_offsets[selected_event_number]; - const uint* module_pair_cluster_start = - parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; + const uint* sensor_cluster_start = + parameters.dev_offsets_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; + uint* module_pair_cluster_num = parameters.dev_module_pair_cluster_num + event_number * Velo::Constants::n_module_pairs; + uint* offsets_pair_module_size = parameters.dev_offsets_module_pair_cluster + 1 + event_number * Velo::Constants::n_module_pairs; + uint* first_number_of_dev_offsets_module_pair_cluster = parameters.dev_offsets_module_pair_cluster; + first_number_of_dev_offsets_module_pair_cluster[0] = 0; + + const uint* offsets_each_sensor_size = parameters.dev_offsets_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; // Local pointers to parameters.dev_velo_cluster_container const uint estimated_number_of_clusters = - parameters.dev_offsets_estimated_input_size[Velo::Constants::n_module_pairs * number_of_events]; + parameters.dev_offsets_each_sensor_size[Velo::Constants::n_module_pairs * number_of_events * 8]; auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; // Load Velo geometry (assume it is the same for all events) const VeloGeometry& g = *dev_velo_geometry; + // Read raw event const auto raw_event = VeloRawEvent(raw_input); for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; - const uint cluster_start = module_pair_cluster_start[module_pair_number]; + const auto a = (module_pair_number + 1) * 8; + const auto b = module_pair_number * 8; + const uint cluster_start = sensor_cluster_start[raw_bank_number]; + offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[a]; + module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[a] - offsets_each_sensor_size[b]; // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); put_retinaclusters_into_container( - module_pair_cluster_start, velo_cluster_container, - module_pair_cluster_num, g, - module_pair_number, cluster_start, raw_bank); } - - } +} __global__ void decode_retinaclusters::decode_retinaclusters_mep( decode_retinaclusters::Parameters parameters, @@ -131,17 +128,22 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( const uint event_number = blockIdx.x; const uint selected_event_number = parameters.dev_event_list[event_number]; - const uint* module_pair_cluster_start = - parameters.dev_offsets_estimated_input_size + event_number * Velo::Constants::n_module_pairs; - uint* module_pair_cluster_num = parameters.dev_module_cluster_num + event_number * Velo::Constants::n_module_pairs; - + const uint* sensor_cluster_start = + parameters.dev_offsets_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; + uint* module_pair_cluster_num = parameters.dev_module_pair_cluster_num + event_number * Velo::Constants::n_module_pairs; + uint* offsets_pair_module_size = parameters.dev_offsets_module_pair_cluster + 1 + event_number * Velo::Constants::n_module_pairs; + uint* first_number_of_dev_offsets_module_pair_cluster = parameters.dev_offsets_module_pair_cluster; + first_number_of_dev_offsets_module_pair_cluster[0] = 0; + const uint* offsets_each_sensor_size = parameters.dev_offsets_each_sensor_size + event_number * Velo::Constants::n_modules * Velo::Constants::n_sensors_per_module; // Local pointers to parameters.dev_velo_cluster_container const uint estimated_number_of_clusters = - parameters.dev_offsets_estimated_input_size[Velo::Constants::n_module_pairs * number_of_events]; + parameters.dev_offsets_each_sensor_size[Velo::Constants::n_module_pairs * number_of_events * 8]; auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; + + // Load Velo geometry (assume it is the same for all events) const VeloGeometry& g = *dev_velo_geometry; @@ -150,20 +152,20 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; - const uint cluster_start = module_pair_cluster_start[module_pair_number]; + const auto a = (module_pair_number + 1) * 8; + const auto b = module_pair_number * 8; + const uint cluster_start = sensor_cluster_start[raw_bank_number]; + offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[a]; + module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[a] - offsets_each_sensor_size[b]; // Read raw bank const auto raw_bank = MEP::raw_bank( parameters.dev_velo_retina_raw_input, parameters.dev_velo_retina_raw_input_offsets, selected_event_number, raw_bank_number); put_retinaclusters_into_container( - module_pair_cluster_start, velo_cluster_container, - module_pair_cluster_num, g, - module_pair_number, cluster_start, raw_bank); } - - } +} -- GitLab From 6094b1cd9dff6429d3ef925a6b378a848638fe1f Mon Sep 17 00:00:00 2001 From: Bian LINGZHU Date: Wed, 24 Jun 2020 12:40:15 +0200 Subject: [PATCH 43/44] change variables names of retinaclusters --- .../sequences/definitions/VeloSequence.py | 197 ++++++++++++------ .../mask_clustering/src/EstimateInputSize.cu | 24 +-- .../src/MaskedVeloClustering.cu | 24 +-- .../src/DecodeRetinaClusters.cu | 29 ++- host/velo/clustering/src/Clustering.cpp | 8 +- main/src/CheckVP.cpp | 10 +- 6 files changed, 180 insertions(+), 112 deletions(-) diff --git a/configuration/sequences/definitions/VeloSequence.py b/configuration/sequences/definitions/VeloSequence.py index 5a3230f3572..cd97bf1d7bf 100644 --- a/configuration/sequences/definitions/VeloSequence.py +++ b/configuration/sequences/definitions/VeloSequence.py @@ -82,6 +82,75 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_module_cluster_num_t(), dev_hit_phi_t=velo_calculate_phi_and_sort.dev_hit_phi_t()) + prefix_sum_offsets_velo_tracks = host_prefix_sum_t( + name="prefix_sum_offsets_velo_tracks", + dev_input_buffer_t=velo_search_by_triplet. + dev_number_of_velo_tracks_t()) + + velo_three_hit_tracks_filter = velo_three_hit_tracks_filter_t( + name="velo_three_hit_tracks_filter", + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. + dev_sorted_velo_cluster_container_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), + dev_atomics_velo_t=velo_search_by_triplet.dev_atomics_velo_t(), + dev_hit_used_t=velo_search_by_triplet.dev_hit_used_t(), + dev_three_hit_tracks_input_t=velo_search_by_triplet. + dev_three_hit_tracks_t()) + + prefix_sum_offsets_number_of_three_hit_tracks_filtered = host_prefix_sum_t( + name="prefix_sum_offsets_number_of_three_hit_tracks_filtered", + dev_input_buffer_t=velo_three_hit_tracks_filter. + dev_number_of_three_hit_tracks_output_t()) + + velo_copy_track_hit_number = velo_copy_track_hit_number_t( + name="velo_copy_track_hit_number", + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + host_number_of_velo_tracks_at_least_four_hits_t= + prefix_sum_offsets_velo_tracks.host_total_sum_holder_t(), + host_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + host_total_sum_holder_t(), + dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), + dev_offsets_velo_tracks_t=prefix_sum_offsets_velo_tracks. + dev_output_buffer_t(), + dev_offsets_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + dev_output_buffer_t()) + + prefix_sum_offsets_velo_track_hit_number = host_prefix_sum_t( + name="prefix_sum_offsets_velo_track_hit_number", + dev_input_buffer_t=velo_copy_track_hit_number. + dev_velo_track_hit_number_t()) + + velo_consolidate_tracks = velo_consolidate_tracks_t( + name="velo_consolidate_tracks", + host_accumulated_number_of_hits_in_velo_tracks_t= + prefix_sum_offsets_velo_track_hit_number.host_total_sum_holder_t(), + host_number_of_reconstructed_velo_tracks_t=velo_copy_track_hit_number. + host_number_of_reconstructed_velo_tracks_t(), + host_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + host_total_sum_holder_t(), + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + dev_offsets_all_velo_tracks_t=velo_copy_track_hit_number. + dev_offsets_all_velo_tracks_t(), + dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), + dev_offsets_velo_track_hit_number_t= + prefix_sum_offsets_velo_track_hit_number.dev_output_buffer_t(), + dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. + dev_sorted_velo_cluster_container_t(), + dev_offsets_estimated_input_size_t=decode_retinaclusters. + dev_offsets_module_pair_cluster_t(), + dev_three_hit_tracks_output_t=velo_three_hit_tracks_filter. + dev_three_hit_tracks_output_t(), + dev_offsets_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + dev_output_buffer_t()) else: velo_banks = data_provider_t(name="velo_banks", bank_type="VP") @@ -160,75 +229,75 @@ def VeloSequence(doGEC=True, retina_decoding=False): dev_module_cluster_num_t(), dev_hit_phi_t=velo_calculate_phi_and_sort.dev_hit_phi_t()) - prefix_sum_offsets_velo_tracks = host_prefix_sum_t( - name="prefix_sum_offsets_velo_tracks", - dev_input_buffer_t=velo_search_by_triplet. - dev_number_of_velo_tracks_t()) + prefix_sum_offsets_velo_tracks = host_prefix_sum_t( + name="prefix_sum_offsets_velo_tracks", + dev_input_buffer_t=velo_search_by_triplet. + dev_number_of_velo_tracks_t()) - velo_three_hit_tracks_filter = velo_three_hit_tracks_filter_t( - name="velo_three_hit_tracks_filter", - host_number_of_selected_events_t=initialize_lists. - host_number_of_selected_events_t(), - dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. - dev_sorted_velo_cluster_container_t(), - dev_offsets_estimated_input_size_t=decode_retinaclusters. - dev_offsets_module_pair_cluster_t(), - dev_atomics_velo_t=velo_search_by_triplet.dev_atomics_velo_t(), - dev_hit_used_t=velo_search_by_triplet.dev_hit_used_t(), - dev_three_hit_tracks_input_t=velo_search_by_triplet. - dev_three_hit_tracks_t()) + velo_three_hit_tracks_filter = velo_three_hit_tracks_filter_t( + name="velo_three_hit_tracks_filter", + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. + dev_sorted_velo_cluster_container_t(), + dev_offsets_estimated_input_size_t= + prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_atomics_velo_t=velo_search_by_triplet.dev_atomics_velo_t(), + dev_hit_used_t=velo_search_by_triplet.dev_hit_used_t(), + dev_three_hit_tracks_input_t=velo_search_by_triplet. + dev_three_hit_tracks_t()) - prefix_sum_offsets_number_of_three_hit_tracks_filtered = host_prefix_sum_t( - name="prefix_sum_offsets_number_of_three_hit_tracks_filtered", - dev_input_buffer_t=velo_three_hit_tracks_filter. - dev_number_of_three_hit_tracks_output_t()) + prefix_sum_offsets_number_of_three_hit_tracks_filtered = host_prefix_sum_t( + name="prefix_sum_offsets_number_of_three_hit_tracks_filtered", + dev_input_buffer_t=velo_three_hit_tracks_filter. + dev_number_of_three_hit_tracks_output_t()) - velo_copy_track_hit_number = velo_copy_track_hit_number_t( - name="velo_copy_track_hit_number", - host_number_of_selected_events_t=initialize_lists. - host_number_of_selected_events_t(), - host_number_of_velo_tracks_at_least_four_hits_t= - prefix_sum_offsets_velo_tracks.host_total_sum_holder_t(), - host_number_of_three_hit_tracks_filtered_t= - prefix_sum_offsets_number_of_three_hit_tracks_filtered. - host_total_sum_holder_t(), - dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), - dev_offsets_velo_tracks_t=prefix_sum_offsets_velo_tracks. - dev_output_buffer_t(), - dev_offsets_number_of_three_hit_tracks_filtered_t= - prefix_sum_offsets_number_of_three_hit_tracks_filtered. - dev_output_buffer_t()) + velo_copy_track_hit_number = velo_copy_track_hit_number_t( + name="velo_copy_track_hit_number", + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + host_number_of_velo_tracks_at_least_four_hits_t= + prefix_sum_offsets_velo_tracks.host_total_sum_holder_t(), + host_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + host_total_sum_holder_t(), + dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), + dev_offsets_velo_tracks_t=prefix_sum_offsets_velo_tracks. + dev_output_buffer_t(), + dev_offsets_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + dev_output_buffer_t()) - prefix_sum_offsets_velo_track_hit_number = host_prefix_sum_t( - name="prefix_sum_offsets_velo_track_hit_number", - dev_input_buffer_t=velo_copy_track_hit_number. - dev_velo_track_hit_number_t()) + prefix_sum_offsets_velo_track_hit_number = host_prefix_sum_t( + name="prefix_sum_offsets_velo_track_hit_number", + dev_input_buffer_t=velo_copy_track_hit_number. + dev_velo_track_hit_number_t()) - velo_consolidate_tracks = velo_consolidate_tracks_t( - name="velo_consolidate_tracks", - host_accumulated_number_of_hits_in_velo_tracks_t= - prefix_sum_offsets_velo_track_hit_number.host_total_sum_holder_t(), - host_number_of_reconstructed_velo_tracks_t=velo_copy_track_hit_number. - host_number_of_reconstructed_velo_tracks_t(), - host_number_of_three_hit_tracks_filtered_t= - prefix_sum_offsets_number_of_three_hit_tracks_filtered. - host_total_sum_holder_t(), - host_number_of_selected_events_t=initialize_lists. - host_number_of_selected_events_t(), - dev_offsets_all_velo_tracks_t=velo_copy_track_hit_number. - dev_offsets_all_velo_tracks_t(), - dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), - dev_offsets_velo_track_hit_number_t= - prefix_sum_offsets_velo_track_hit_number.dev_output_buffer_t(), - dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. - dev_sorted_velo_cluster_container_t(), - dev_offsets_estimated_input_size_t=decode_retinaclusters. - dev_offsets_module_pair_cluster_t(), - dev_three_hit_tracks_output_t=velo_three_hit_tracks_filter. - dev_three_hit_tracks_output_t(), - dev_offsets_number_of_three_hit_tracks_filtered_t= - prefix_sum_offsets_number_of_three_hit_tracks_filtered. - dev_output_buffer_t()) + velo_consolidate_tracks = velo_consolidate_tracks_t( + name="velo_consolidate_tracks", + host_accumulated_number_of_hits_in_velo_tracks_t= + prefix_sum_offsets_velo_track_hit_number.host_total_sum_holder_t(), + host_number_of_reconstructed_velo_tracks_t=velo_copy_track_hit_number. + host_number_of_reconstructed_velo_tracks_t(), + host_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + host_total_sum_holder_t(), + host_number_of_selected_events_t=initialize_lists. + host_number_of_selected_events_t(), + dev_offsets_all_velo_tracks_t=velo_copy_track_hit_number. + dev_offsets_all_velo_tracks_t(), + dev_tracks_t=velo_search_by_triplet.dev_tracks_t(), + dev_offsets_velo_track_hit_number_t= + prefix_sum_offsets_velo_track_hit_number.dev_output_buffer_t(), + dev_sorted_velo_cluster_container_t=velo_calculate_phi_and_sort. + dev_sorted_velo_cluster_container_t(), + dev_offsets_estimated_input_size_t= + prefix_sum_offsets_estimated_input_size.dev_output_buffer_t(), + dev_three_hit_tracks_output_t=velo_three_hit_tracks_filter. + dev_three_hit_tracks_output_t(), + dev_offsets_number_of_three_hit_tracks_filtered_t= + prefix_sum_offsets_number_of_three_hit_tracks_filtered. + dev_output_buffer_t()) if retina_decoding: velo_sequence = Sequence( diff --git a/device/velo/mask_clustering/src/EstimateInputSize.cu b/device/velo/mask_clustering/src/EstimateInputSize.cu index 3ec195a4f6f..016923a3407 100644 --- a/device/velo/mask_clustering/src/EstimateInputSize.cu +++ b/device/velo/mask_clustering/src/EstimateInputSize.cu @@ -45,13 +45,13 @@ __device__ void estimate_raw_bank_size( unsigned raw_bank_number, VeloRawBank const& raw_bank) { - uint* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); - uint found_cluster_candidates = 0; - for (uint sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x) { // Decode sp - const uint32_t word = raw_bank.word[sp_index]; - const uint32_t no_sp_neighbours = word & 0x80000000U; - const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; - const uint8_t sp = word & 0xFFU; + unsigned* estimated_module_pair_size = estimated_input_size + (raw_bank.sensor_index / 8); + unsigned found_cluster_candidates = 0; + for (unsigned sp_index = threadIdx.x; sp_index < raw_bank.count; sp_index += blockDim.x) { // Decode sp + const uint32_t sp_word = raw_bank.word[sp_index]; + const uint32_t no_sp_neighbours = sp_word & 0x80000000U; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const uint8_t sp = sp_word & 0xFFU; if (no_sp_neighbours) { // The SP does not have any neighbours @@ -123,15 +123,15 @@ __device__ void estimate_raw_bank_size( const uint32_t sp_row = sp_addr & 0x3FU; const uint32_t sp_col = sp_addr >> 6; - for (uint k = 0; k < raw_bank.count; ++k) { - const uint32_t other_word = raw_bank.word[k]; - const uint32_t other_no_sp_neighbours = word & 0x80000000U; + for (unsigned k = 0; k < raw_bank.count; ++k) { + const uint32_t other_sp_word = raw_bank.word[k]; + const uint32_t other_no_sp_neighbours = sp_word & 0x80000000U; if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_word & 0x007FFF00U) >> 8; + const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; const uint32_t other_sp_row = other_sp_addr & 0x3FU; const uint32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_word & 0xFFU; + const uint8_t other_sp = other_sp_word & 0xFFU; // Populate pixels // Note: Pixel order in sp diff --git a/device/velo/mask_clustering/src/MaskedVeloClustering.cu b/device/velo/mask_clustering/src/MaskedVeloClustering.cu index 72ac48ed14a..13b04e1fe37 100644 --- a/device/velo/mask_clustering/src/MaskedVeloClustering.cu +++ b/device/velo/mask_clustering/src/MaskedVeloClustering.cu @@ -179,18 +179,18 @@ __device__ void no_neighbour_sp( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = 0; sp_index < raw_bank.count; ++sp_index) { + for (unsigned sp_index = 0; sp_index < raw_bank.count; ++sp_index) { // Decode sp - const uint32_t word = raw_bank.word[sp_index]; - const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; - const uint32_t no_sp_neighbours = word & 0x80000000U; + const uint32_t sp_word = raw_bank.word[sp_index]; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; + const uint32_t no_sp_neighbours = sp_word & 0x80000000U; // There are no neighbours, so compute the number of pixels of this superpixel if (no_sp_neighbours) { // Look up pre-generated patterns const int32_t sp_row = sp_addr & 0x3FU; const int32_t sp_col = (sp_addr >> 6); - const uint8_t sp = word & 0xFFU; + const uint8_t sp = sp_word & 0xFFU; const uint32_t idx = dev_velo_sp_patterns[sp]; const uint32_t chip = sp_col >> (VP::ChipColumns_division - 1); @@ -280,8 +280,8 @@ __device__ void rest_of_clusters( const auto starting_pixel_location = candidate & 0x7; const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - const uint32_t word = raw_bank.word[sp_index]; - const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; + const uint32_t sp_word = raw_bank.word[sp_index]; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; // Note: In the code below, row and col are int32_t (not unsigned) // This is not a bug const int32_t sp_row = sp_addr & 0x3FU; @@ -328,14 +328,14 @@ __device__ void rest_of_clusters( // Load SPs // Note: We will pick up the current one, // no need to add a special case - for (uint k = 0; k < raw_bank.count; ++k) { - const uint32_t other_word = raw_bank.word[k]; - const uint32_t other_no_sp_neighbours = other_word & 0x80000000U; + for (unsigned k = 0; k < raw_bank.count; ++k) { + const uint32_t other_sp_word = raw_bank.word[k]; + const uint32_t other_no_sp_neighbours = other_sp_word & 0x80000000U; if (!other_no_sp_neighbours) { - const uint32_t other_sp_addr = (other_word & 0x007FFF00U) >> 8; + const uint32_t other_sp_addr = (other_sp_word & 0x007FFF00U) >> 8; const int32_t other_sp_row = other_sp_addr & 0x3FU; const int32_t other_sp_col = (other_sp_addr >> 6); - const uint8_t other_sp = other_word & 0xFFU; + const uint8_t other_sp = other_sp_word & 0xFFU; if ( other_sp_row >= sp_row_lower_limit && other_sp_row <= sp_row_upper_limit && diff --git a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu index 8b8363275b5..9658a9197d6 100644 --- a/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu +++ b/device/velo/retinacluster_decoding/src/DecodeRetinaClusters.cu @@ -43,9 +43,9 @@ __device__ void put_retinaclusters_into_container( { const float* ltg = g.ltg + g.n_trans * raw_bank.sensor_index; - for (uint sp_index = threadIdx.y; sp_index < raw_bank.count; sp_index += blockDim.y) { + for (uint rc_index = threadIdx.y; rc_index < raw_bank.count; rc_index += blockDim.y) { // Decode cluster - const uint32_t word = raw_bank.word[sp_index]; + const uint32_t word = raw_bank.word[rc_index]; const uint32_t cx = ( word >> 14 ) & 0x3FF; const float fx = ( ( word >> 11 ) & 0x7 ) / 8.f; @@ -61,10 +61,10 @@ __device__ void put_retinaclusters_into_container( const float gz = ( ltg[6] * local_x + ltg[7] * local_y + ltg[11] ); const uint cid = get_channel_id(raw_bank.sensor_index, chip, cx & VP::ChipColumns_mask, cy); - velo_cluster_container.set_x(cluster_start + sp_index, gx); - velo_cluster_container.set_y(cluster_start + sp_index, gy); - velo_cluster_container.set_z(cluster_start + sp_index, gz); - velo_cluster_container.set_id(cluster_start + sp_index, get_lhcb_id(cid)); + velo_cluster_container.set_x(cluster_start + rc_index, gx); + velo_cluster_container.set_y(cluster_start + rc_index, gy); + velo_cluster_container.set_z(cluster_start + rc_index, gz); + velo_cluster_container.set_id(cluster_start + rc_index, get_lhcb_id(cid)); } } @@ -103,11 +103,11 @@ __global__ void decode_retinaclusters::decode_retinaclusters( for (uint raw_bank_number = threadIdx.x; raw_bank_number < raw_event.number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; - const auto a = (module_pair_number + 1) * 8; - const auto b = module_pair_number * 8; + const auto offsets_sensor_behind = (module_pair_number + 1) * 8; + const auto offsets_sensor_in_front = module_pair_number * 8; const uint cluster_start = sensor_cluster_start[raw_bank_number]; - offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[a]; - module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[a] - offsets_each_sensor_size[b]; + offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[offsets_sensor_behind]; + module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[offsets_sensor_behind] - offsets_each_sensor_size[offsets_sensor_in_front]; // Read raw bank const auto raw_bank = VeloRawBank(raw_event.payload + raw_event.raw_bank_offset[raw_bank_number]); @@ -143,7 +143,6 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( auto velo_cluster_container = Velo::Clusters {parameters.dev_velo_cluster_container, estimated_number_of_clusters}; - // Load Velo geometry (assume it is the same for all events) const VeloGeometry& g = *dev_velo_geometry; @@ -152,11 +151,11 @@ __global__ void decode_retinaclusters::decode_retinaclusters_mep( for (uint raw_bank_number = threadIdx.x; raw_bank_number < number_of_raw_banks; raw_bank_number += blockDim.x) { const auto module_pair_number = raw_bank_number / 8; - const auto a = (module_pair_number + 1) * 8; - const auto b = module_pair_number * 8; + const auto offsets_sensor_behind = (module_pair_number + 1) * 8; + const auto offsets_sensor_in_front = module_pair_number * 8; const uint cluster_start = sensor_cluster_start[raw_bank_number]; - offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[a]; - module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[a] - offsets_each_sensor_size[b]; + offsets_pair_module_size[module_pair_number] = offsets_each_sensor_size[offsets_sensor_behind]; + module_pair_cluster_num[module_pair_number] = offsets_each_sensor_size[offsets_sensor_behind] - offsets_each_sensor_size[offsets_sensor_in_front]; // Read raw bank const auto raw_bank = MEP::raw_bank( diff --git a/host/velo/clustering/src/Clustering.cpp b/host/velo/clustering/src/Clustering.cpp index 464f8539d3b..a449c1e2c9d 100644 --- a/host/velo/clustering/src/Clustering.cpp +++ b/host/velo/clustering/src/Clustering.cpp @@ -34,19 +34,19 @@ std::vector> clustering( // const float* ltg = g.ltg + 16 * sensor; for (unsigned int j = 0; j < velo_raw_bank.count; ++j) { - const uint32_t word = *(velo_raw_bank.word + j); + const uint32_t sp_word = *(velo_raw_bank.word + j); - uint8_t sp = word & 0xFFU; + uint8_t sp = sp_word & 0xFFU; // protect against zero super pixels. if (0 == sp) { continue; }; - const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; + const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; const uint32_t sp_row = sp_addr & 0x3FU; const uint32_t sp_col = (sp_addr >> 6); - const uint32_t no_sp_neighbours = word & 0x80000000U; + const uint32_t no_sp_neighbours = sp_word & 0x80000000U; // if a super pixel is isolated the clustering boils // down to a simple pattern look up. diff --git a/main/src/CheckVP.cpp b/main/src/CheckVP.cpp index a53fe17192c..d7e68ebe898 100644 --- a/main/src/CheckVP.cpp +++ b/main/src/CheckVP.cpp @@ -17,7 +17,7 @@ bool check_velopix_events(const std::vector& events, const std::vector& events, const std::vector 0) { - uint32_t word = raw_bank.word[0]; - uint8_t sp = word & 0xFFU; + uint32_t sp_word = raw_bank.word[0]; + uint8_t sp = sp_word & 0xFFU; if (0 == sp) { continue; }; - [[maybe_unused]] const uint32_t sp_addr = (word & 0x007FFF00U) >> 8; + [[maybe_unused]] const uint32_t sp_addr = (sp_word & 0x007FFF00U) >> 8; [[maybe_unused]] const uint32_t sp_row = sp_addr & 0x3FU; [[maybe_unused]] const uint32_t sp_col = (sp_addr >> 6); - [[maybe_unused]] const uint32_t no_sp_neighbours = word & 0x80000000U; + [[maybe_unused]] const uint32_t no_sp_neighbours = sp_word & 0x80000000U; } } n_sps_all_events += n_sps_event; -- GitLab From 0e4c55d5add6fc8afe9523a2406d56845d512b13 Mon Sep 17 00:00:00 2001 From: Dorothea vom Bruch Date: Thu, 21 Oct 2021 11:44:28 +0200 Subject: [PATCH 44/44] temporarily removed gitlab-ci.yml; please cherry-pick commits 06353b3f 98ed1d27 e52cf263 and resolve conflicts to re-enable the CI --- .gitlab-ci.yml | 715 ------------------------------------------------- 1 file changed, 715 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index df3668dbc30..00000000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,715 +0,0 @@ -stages: - - check-env # Ensures the CI environment is valid - - build # Builds all projects - - run # Runs the tests across architectures - - test # Runs various tests of the software - - publish # Publishes the results of the tests and runs in channels and grafana - -check-env: - stage: check-env - except: - - /.*/@lhcb/Allen - script: - - | - echo "The Allen CI depends on custom GitLab runners and therefore tests" - echo "running on forks will fail. Please create a branch in the main" - echo "repository at https://gitlab.cern.ch/lhcb/Allen/" - - exit 1 - -check-formatting: - stage: build - image: gitlab-registry.cern.ch/lhcb-docker/style-checker - script: - - if [ ! -e .clang-format ] ; then - - curl -o .clang-format "https://gitlab.cern.ch/lhcb-parallelization/Allen/raw/master/.clang-format?inline=false" - - echo '.clang-format' >> .gitignore - - git add .gitignore - - fi - - curl -o lb-format "https://gitlab.cern.ch/lhcb-core/LbDevTools/raw/master/LbDevTools/SourceTools.py?inline=false" - - python lb-format --format-patch apply-formatting.patch origin/master - artifacts: - paths: - - apply-formatting.patch - when: on_failure - expire_in: 1 week - allow_failure: true - -.build_job: &build_gcc_job_def_warnings_as_errors - only: - refs: - - master - - schedules - - web - - merge_requests - stage: build - script: - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - TARGET=${JOB_NAME_SPLIT[0]} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - BUILD_TYPE=${JOB_NAME_SPLIT[2]} - - ADDITIONAL_OPTIONS="${JOB_NAME_SPLIT[3]}" - - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/11.0RC/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} - - cmake -DSTANDALONE=ON -G Ninja -DTREAT_WARNINGS_AS_ERRORS=ON -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=haswell -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" "${ADDITIONAL_OPTIONS}" .. - - ninja -j 8 - artifacts: - expire_in: 2 hrs - paths: - - build*/*Allen* - - build*/Sequence.json - - input - retry: 0 - allow_failure: true - -.build_job: &build_clang_job_def_warnings_as_errors - only: - refs: - - master - - schedules - - web - - merge_requests - stage: build - script: - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - TARGET=${JOB_NAME_SPLIT[0]} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - BUILD_TYPE=${JOB_NAME_SPLIT[2]} - - ADDITIONAL_OPTIONS="${JOB_NAME_SPLIT[3]}" - - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-clang10-opt - - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/11.0RC/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} - - cmake -DSTANDALONE=ON -G Ninja -DTREAT_WARNINGS_AS_ERRORS=ON -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=haswell -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" "${ADDITIONAL_OPTIONS}" .. - - ninja -j 8 - artifacts: - expire_in: 2 hrs - paths: - - build*/*Allen* - - build*/Sequence.json - - input - retry: 0 - allow_failure: true - -.build_job: &build_gcc_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: build - script: - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - TARGET=${JOB_NAME_SPLIT[0]} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - BUILD_TYPE=${JOB_NAME_SPLIT[2]} - - ADDITIONAL_OPTIONS="${JOB_NAME_SPLIT[3]}" - - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/11.0RC/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} - - cmake -DSTANDALONE=ON -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=haswell -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" "${ADDITIONAL_OPTIONS}" .. - - ninja -j 8 - artifacts: - expire_in: 2 hrs - paths: - - build*/*Allen* - - build*/Sequence.json - - input - retry: 1 - -.build_job: &build_clang_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: build - script: - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - TARGET=${JOB_NAME_SPLIT[0]} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - BUILD_TYPE=${JOB_NAME_SPLIT[2]} - - ADDITIONAL_OPTIONS="${JOB_NAME_SPLIT[3]}" - - OVERRIDE_CUDA_ARCH_FLAG="-gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75" - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-clang10-opt - - source /cvmfs/sft.cern.ch/lcg/contrib/cuda/11.0RC/x86_64-centos7/setup.sh - - mkdir build_${TARGET} - - cd build_${TARGET} - - cmake -DSTANDALONE=ON -G Ninja -DTARGET_DEVICE=${TARGET} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSEQUENCE=${SEQUENCE} -DCPU_ARCH=haswell -DOVERRIDE_CUDA_ARCH_FLAG="${OVERRIDE_CUDA_ARCH_FLAG}" "${ADDITIONAL_OPTIONS}" .. - - ninja -j 8 - artifacts: - expire_in: 2 hrs - paths: - - build*/*Allen* - - build*/Sequence.json - - input - retry: 1 - -docker_image:build: - stage: build - only: - refs: - - master - tags: - - docker-image-build - script: "echo 'Building Allen dev docker image" - variables: - TO: $CI_REGISTRY_IMAGE:latest - allow_failure: true - -.run_physics_efficiency_job: &run_physics_efficiency_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: run - script: - - TOPLEVEL=${PWD} - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - declare -A DEVICE_MEMORY_MAP=${DEVICE_MEMORY} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=':' read -ra CI_RUNNER_DESCRIPTION_SPLIT <<< "${CI_RUNNER_DESCRIPTION}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - TARGET=${JOB_NAME_SPLIT[1]} - - SEQUENCE=${JOB_NAME_SPLIT[2]} - - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - - RUN_OPTIONS="-n 1000 -m 1000" - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - mkdir validation_output - - ln -s validation_output output # Needed by Root build - - cd build_${TARGET} - - ls - - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} numactl --cpunodebind=0 --membind=0 ./Allen -f /scratch/dcampora/allen_data/201907/bsphiphi_mag_down ${RUN_OPTIONS} 2>&1 | tee ../validation_output/bsphiphi_${DEVICE_ID}.txt - artifacts: - expire_in: 2 hrs - paths: - - validation_output/* - allow_failure: true - retry: 1 - -.run_physics_efficiency_job: &run_physics_efficiency_job_def_cpu - only: - refs: - - master - - schedules - - web - - merge_requests - stage: run - script: - - TOPLEVEL=${PWD} - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - declare -A DEVICE_MEMORY_MAP=${DEVICE_MEMORY} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=':' read -ra CI_RUNNER_DESCRIPTION_SPLIT <<< "${CI_RUNNER_DESCRIPTION}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - TARGET=${JOB_NAME_SPLIT[1]} - - SEQUENCE=${JOB_NAME_SPLIT[2]} - - NUMA_NODE=${CI_RUNNER_DESCRIPTION_SPLIT[2]} - - RUN_OPTIONS="-n 1000 -m 1000" - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - mkdir validation_output - - ln -s validation_output output # Needed by Root build - - cd build_${TARGET} - - ls - - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - numactl --cpunodebind=${NUMA_NODE} --membind=${NUMA_NODE} ./Allen -f /scratch/dcampora/allen_data/201907/bsphiphi_mag_down ${RUN_OPTIONS} 2>&1 | tee ../validation_output/bsphiphi_${DEVICE_ID}.txt - artifacts: - expire_in: 2 hrs - paths: - - validation_output/* - allow_failure: true - retry: 1 - -.run_throughput_job_no_profiling: &run_throughput_job_no_profiling_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: run - script: - - TOPLEVEL=${PWD} - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - declare -A DEVICE_MEMORY_MAP=${DEVICE_MEMORY} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=':' read -ra CI_RUNNER_DESCRIPTION_SPLIT <<< "${CI_RUNNER_DESCRIPTION}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - TARGET=${JOB_NAME_SPLIT[1]} - - SEQUENCE=${JOB_NAME_SPLIT[2]} - - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - - D_MEMORY=${DEVICE_MEMORY_MAP[${DEVICE_ID}]} - - RUN_OPTIONS="-n 500 -m 500 -r 1000 -t 16 -c 0" - - if [ "${D_MEMORY}" = "LOW" ]; then - - RUN_OPTIONS="-n 500 -m 500 -r 1000 -t 8 -c 0" - - fi - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - mkdir output_${DEVICE_ID} - - cd build_${TARGET} - - ls - - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} numactl --cpunodebind=0 --membind=0 ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt - artifacts: - expire_in: 2 hrs - paths: - - output_* - allow_failure: true - retry: 1 - -.run_throughput_job_no_profiling_cpu: &run_throughput_job_no_profiling_def_cpu - only: - refs: - - master - - schedules - - web - - merge_requests - stage: run - script: - - TOPLEVEL=${PWD} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=':' read -ra CI_RUNNER_DESCRIPTION_SPLIT <<< "${CI_RUNNER_DESCRIPTION}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - TARGET=${JOB_NAME_SPLIT[1]} - - SEQUENCE=${JOB_NAME_SPLIT[2]} - - TOTAL_THREADS=$(lscpu | egrep "^CPU\(s\):.*[0-9]+$" --color=none | awk '{ print $2; }') - - TOTAL_NUMA_NODES=$(lscpu | egrep "^NUMA node\(s\):.*[0-9]+$" --color=none | awk '{ print $3; }') - - NUMA_NODE=${CI_RUNNER_DESCRIPTION_SPLIT[2]} - - THREADS=$((${TOTAL_THREADS} / ${TOTAL_NUMA_NODES})) - - RUN_OPTIONS="-n 100 -m 100 -r 200 -t ${THREADS} -c 0" - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - mkdir output_${DEVICE_ID} - - cd build_${TARGET} - - ls - - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - numactl --cpunodebind=${NUMA_NODE} --membind=${NUMA_NODE} ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt - artifacts: - expire_in: 2 hrs - paths: - - output_* - allow_failure: true - retry: 1 - -.run_throughput_job: &run_throughput_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: run - script: - - TOPLEVEL=${PWD} - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - declare -A DEVICE_MEMORY_MAP=${DEVICE_MEMORY} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=':' read -ra CI_RUNNER_DESCRIPTION_SPLIT <<< "${CI_RUNNER_DESCRIPTION}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - TARGET=${JOB_NAME_SPLIT[1]} - - SEQUENCE=${JOB_NAME_SPLIT[2]} - - D_NUMBER=${CI_RUNNER_DESCRIPTION_SPLIT[1]} - - D_MEMORY=${DEVICE_MEMORY_MAP[${DEVICE_ID}]} - - RUN_OPTIONS="-n 500 -m 500 -r 1000 -t 16 -c 0" - - if [ "${D_MEMORY}" = "LOW" ]; then - - RUN_OPTIONS="-n 500 -m 500 -r 1000 -t 8 -c 0" - - fi - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - mkdir output_${DEVICE_ID} - - cd build_${TARGET} - - ls - - export LD_LIBRARY_PATH=${PWD}:$LD_LIBRARY_PATH - - CUDA_VISIBLE_DEVICES=${D_NUMBER} ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/output.txt - - NVPROF_TMPDIR=`mktemp -d` - - CUDA_VISIBLE_DEVICES=${D_NUMBER} TMPDIR=${NVPROF_TMPDIR} numactl --cpunodebind=0 --membind=0 nvprof ./Allen -f /scratch/dcampora/allen_data/201907/minbias_mag_down ${RUN_OPTIONS} 2>&1 | tee ../output_${DEVICE_ID}/profiler_output.txt - - rm -rf ${NVPROF_TMPDIR} - - python3 ${TOPLEVEL}/checker/plotting/extract_algo_breakdown.py -d ${TOPLEVEL} - artifacts: - expire_in: 2 hrs - paths: - - output_* - allow_failure: true - retry: 1 - -.throughput_cli_plot_job: &publish_algo_breakdown_plot_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: publish - script: - - declare -A DEVICE_NUMBERS_MAP=${DEVICE_NUMBERS} - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - DEVICE_ID=${JOB_NAME_SPLIT[0]} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - export PATH=$PATH:/usr/local/cuda/bin - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - python3 checker/plotting/csv_plotter.py -t "Algorithm Breakdown of sequence ${SEQUENCE}, branch ${CI_COMMIT_REF_NAME}" -u "%" -x 30 -m ${MATTERMOST_KEY} output_${DEVICE_ID}/algo_breakdown.csv - -test_physics_efficiency: - only: - refs: - - master - - schedules - - web - - merge_requests - stage: test - script: - - TOPLEVEL=${PWD} - - ls validation_output - - ls ${TOPLEVEL}/test/reference - - cd validation_output - - for i in $( ls ); do echo "Checking ${i}"; tail -n97 ${i} | head -n94 > efficiency_${i}; diff -u ${TOPLEVEL}/test/reference/${i} efficiency_${i} | tee ${i}_diff || true; done - - cat *_diff > alldiffs - - if [ -s alldiffs ]; then echo "Differences were found against reference files."; exit 1; else echo "No differences found against reference files."; exit 0; fi - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency - - x862630v4:CPU:hlt1_pp_default:run_physics_efficiency - tags: - - cvmfs - allow_failure: true - -# run_built_tests: -# only: -# refs: -# - master -# - schedules -# - web -# - merge_requests -# stage: test -# script: -# - cd build_CUDA -# - ctest -V -# dependencies: -# - CUDA:hlt1_pp_default:Debug::build -# allow_failure: true - -.publish_throughput_job: &publish_throughput_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: publish - script: - - PREVIOUS_IFS=${IFS} - - IFS=':' read -ra JOB_NAME_SPLIT <<< "${CI_JOB_NAME}" - - IFS=${PREVIOUS_IFS} - - SEQUENCE=${JOB_NAME_SPLIT[1]} - - BREAKDOWN_DEVICE_ID=${JOB_NAME_SPLIT[2]} - - cat output_*/output.txt | grep --color=none "device" | sed 's/.*:\ [0-9]*\,\ //' > devices.txt - - cat output_*/output.txt | grep --color=none "events/s" | awk '{ print $1; }' > throughputs.txt - - cat devices.txt - - cat throughputs.txt - - paste -d, devices.txt throughputs.txt > devices_throughputs.csv - - cat devices_throughputs.csv - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - python3 checker/plotting/post_combined_message.py -l "Throughput of [sequence ${SEQUENCE}, branch ${CI_COMMIT_REF_NAME}](https://gitlab.cern.ch/lhcb/Allen/pipelines/${CI_PIPELINE_ID})" -m ${MATTERMOST_KEY} -t devices_throughputs.csv -b output_${BREAKDOWN_DEVICE_ID}/algo_breakdown.csv - - python3 checker/plotting/post_telegraf.py -d . -s ${SEQUENCE} -b ${CI_COMMIT_REF_NAME} - -.throughput_speedup_job: &publish_speedup_job_def - only: - refs: - - master - - schedules - - web - - merge_requests - stage: publish - script: - - cat output_*/output.txt | grep --color=none "device" | sed 's/.*:\ [0-9]*\,\ //' > devices.txt - - cat output_*/output.txt | grep --color=none "events/s" | awk '{ print $1; }' > throughputs.txt - - cat devices.txt - - cat throughputs.txt - - paste -d, devices.txt throughputs.txt > devices_throughputs.csv - - cat devices_throughputs.csv - - source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_97apython3 x86_64-centos7-gcc9-opt - - python3 checker/plotting/csv_plotter.py -n -t "Speedup across GPUs, branch _${CI_COMMIT_REF_NAME}_" -u "x" -x 30 -m ${MATTERMOST_KEY} devices_throughputs.csv - -# ===== -# Build -# ===== - -CUDA:hlt1_pp_default:RelWithDebInfo::build: - <<: *build_clang_job_def - tags: - - cvmfs - -CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build: - <<: *build_clang_job_def - tags: - - cvmfs - -CPU:hlt1_pp_default:RelWithDebInfo::build: - <<: *build_clang_job_def - tags: - - cvmfs - -CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build: - <<: *build_clang_job_def - tags: - - cvmfs - -# Builds with warnings treated as errors -# gcc: - -CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build_warnings_as_errors: - <<: *build_gcc_job_def_warnings_as_errors - tags: - - cvmfs - -CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build_warnings_as_errors: - <<: *build_gcc_job_def_warnings_as_errors - tags: - - cvmfs - -# clang: - -CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build_warnings_as_errors: - <<: *build_clang_job_def_warnings_as_errors - tags: - - cvmfs - -CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build_warnings_as_errors: - <<: *build_clang_job_def_warnings_as_errors - tags: - - cvmfs - -# Builds only on master of additional options - -CUDA:hlt1_pp_no_gec:RelWithDebInfo::build: - <<: *build_clang_job_def - tags: - - cvmfs - only: - refs: - - master - -CPU:hlt1_pp_no_gec:RelWithDebInfo::build: - <<: *build_clang_job_def - tags: - - cvmfs - only: - refs: - - master - -# === -# Run -# === - -# Throughput runs - -geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput: - <<: *run_throughput_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -quadrortx6000:CUDA:hlt1_pp_default:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - quadrortx6000 - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -teslav100:CUDA:hlt1_pp_default:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - teslav100 - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -# teslat4:CUDA:hlt1_pp_default:run_throughput: -# <<: *run_throughput_job_no_profiling_def -# tags: -# - teslat4 -# dependencies: -# - CUDA:hlt1_pp_default:RelWithDebInfo::build - -x862630v4:CPU:hlt1_pp_default:run_throughput_cpu: - <<: *run_throughput_job_no_profiling_def_cpu - tags: - - x862630v4 - dependencies: - - CPU:hlt1_pp_default:RelWithDebInfo::build - -epyc7502:CPU:hlt1_pp_default:run_throughput_cpu: - <<: *run_throughput_job_no_profiling_def_cpu - tags: - - epyc7502 - dependencies: - - CPU:hlt1_pp_default:RelWithDebInfo::build - -# Physics efficiency runs - -geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency: - <<: *run_physics_efficiency_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_default:RelWithDebInfo::build - -x862630v4:CPU:hlt1_pp_default:run_physics_efficiency: - <<: *run_physics_efficiency_job_def_cpu - tags: - - x862630v4 - dependencies: - - CPU:hlt1_pp_default:RelWithDebInfo::build - -# Test runs - -# geforcertx2080ti:CUDA:hlt1_pp_default:run_physics_efficiency_debug: -# <<: *run_physics_efficiency_job_def -# tags: -# - geforcertx2080ti -# dependencies: -# - CUDA:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build - -# x86:CPU:hlt1_pp_default:run_physics_efficiency_debug: -# <<: *run_physics_efficiency_job_def_cpu -# tags: -# - x86 -# dependencies: -# - CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build - -# x86:CPU:hlt1_pp_default:run_physics_efficiency_debug_root: -# <<: *run_physics_efficiency_job_def_cpu -# tags: -# - x86 -# dependencies: -# - CPU:hlt1_pp_default:Debug:-DUSE_ROOT=ON -DBUILD_TESTS=ON:build - -# Additional throughput runs, only on master - -geforcertx2080ti:CUDA:hlt1_pp_no_gec:run_throughput: - <<: *run_throughput_job_def - tags: - - geforcertx2080ti - dependencies: - - CUDA:hlt1_pp_no_gec:RelWithDebInfo::build - only: - refs: - - master - -quadrortx6000:CUDA:hlt1_pp_no_gec:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - quadrortx6000 - dependencies: - - CUDA:hlt1_pp_no_gec:RelWithDebInfo::build - only: - refs: - - master - -teslav100:CUDA:hlt1_pp_no_gec:run_throughput: - <<: *run_throughput_job_no_profiling_def - tags: - - teslav100 - dependencies: - - CUDA:hlt1_pp_no_gec:RelWithDebInfo::build - only: - refs: - - master - -# teslat4:CUDA:hlt1_pp_no_gec:run_throughput: -# <<: *run_throughput_job_no_profiling_def -# tags: -# - teslat4 -# dependencies: -# - CUDA:hlt1_pp_no_gec:RelWithDebInfo::build -# only: -# refs: -# - master - -x862630v4:CPU:hlt1_pp_no_gec:run_throughput_cpu: - <<: *run_throughput_job_no_profiling_def_cpu - tags: - - x862630v4 - dependencies: - - CPU:hlt1_pp_no_gec:RelWithDebInfo::build - only: - refs: - - master - -epyc7502:CPU:hlt1_pp_no_gec:run_throughput_cpu: - <<: *run_throughput_job_no_profiling_def_cpu - tags: - - epyc7502 - dependencies: - - CPU:hlt1_pp_no_gec:RelWithDebInfo::build - only: - refs: - - master - -# ======= -# Publish -# ======= - -throughput:hlt1_pp_default:geforcertx2080ti:publish_throughput: - <<: *publish_throughput_job_def - tags: - - cvmfs - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_default:run_throughput - - quadrortx6000:CUDA:hlt1_pp_default:run_throughput - # - teslat4:CUDA:hlt1_pp_default:run_throughput - - teslav100:CUDA:hlt1_pp_default:run_throughput - - x862630v4:CPU:hlt1_pp_default:run_throughput_cpu - - epyc7502:CPU:hlt1_pp_default:run_throughput_cpu - -# Publish additional throughput tests, only in master - -throughput:hlt1_pp_no_gec:geforcertx2080ti:publish_throughput: - <<: *publish_throughput_job_def - tags: - - x86 - dependencies: - - geforcertx2080ti:CUDA:hlt1_pp_no_gec:run_throughput - - quadrortx6000:CUDA:hlt1_pp_no_gec:run_throughput - # - teslat4:CUDA:hlt1_pp_no_gec:run_throughput - - teslav100:CUDA:hlt1_pp_no_gec:run_throughput - - x862630v4:CPU:hlt1_pp_no_gec:run_throughput_cpu - - epyc7502:CPU:hlt1_pp_no_gec:run_throughput_cpu - only: - refs: - - master -- GitLab