Muon reading
Reading common_muon_hits from binary files.
Closes #14 (closed)
Merge request reports
Activity
- cuda/muon/common/include/MuonDefinitions.cuh 0 → 100644
1 #pragma once 2 namespace Muon { 3 namespace Constants { 4 /* Detector description 5 There are four stations with number of regions in it 6 in current implementation regions are ignored 7 */ 8 static constexpr uint n_stations = 4; 9 /* Cut-offs */ 10 static constexpr uint max_numhits_per_event = 10000; Have you checked that this cut-off makes sense? From our discussion on Friday with Roel it seems like there are usually 50-100 hits in the muon stations. So even for busy events I have a hard time imagining 10000. Maybe you can run over the 1k events and check what the largest number of hits per station is and determine a reasonable cut-off? Otherwise we have to allocate so much memory for the hits.
changed this line in version 2 of the diff
204 206 } else { 205 207 event_reader = std::make_unique<EventReader>(FolderMap{{{BankTypes::VP, folder_name_velopix_raw}, 206 208 {BankTypes::UT, folder_name_UT_raw}, 207 {BankTypes::FT, folder_name_SciFi_raw}}}); 209 {BankTypes::FT, folder_name_SciFi_raw}, 210 {BankTypes::MUON, folder_name_Muon_raw}}}); Since you want to read in the muon common hits, you should not use the raw banks as input. Instead, I suggest to add an argument for the input options containing the location of the muon common hits. This should be set to
../input/minbias/muon_common_hits
as default. You should also add the binary files for 10 events containing the muon common hits at this location.changed this line in version 2 of the diff
214 217 const auto scifi_geometry = geometry_reader.read_geometry("scifi_geometry.bin"); 215 218 event_reader->read_events(number_of_events_requested, start_event_offset); 216 219 220 std::vector<Muon::HitsSoA> muon_hits_events(number_of_events_requested); 221 read_muon_events_into_arrays( 222 muon_hits_events.data(), 223 event_reader->events(BankTypes::MUON).begin(), Same as above. You need the muon common hits as input, not the raw banks. You can use the read_folder function defined in main/include/InputTools.h to read the binaries in a specified folder name and save them in
std::vector<char>& events
andstd::vector<uint>& event_offsets
. These can then be passed to yourread_muon_events
function.changed this line in version 2 of the diff
This should only work for the data in
/afs/cern.ch/work/d/dovombru/public/gpu_input/1kevents_minbias_muonHits/muon_common_hits
. By the way, with the latest version of the master branch you should use/afs/cern.ch/work/d/dovombru/public/gpu_input/1kevents_minbias_dump_phi_nPV
as input because the MC_info format changed.The raw banks can not be read in the same way as you read in the muon common hits because they have a completely different format. The uint32 words should however not only contain zeros. This is something to be followed up. But for now, the important step is to read in the muon common hits, not the raw banks.
added 4 commits
-
bbd725f1...39949b31 - 2 commits from branch
master
- 89402a65 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb-parallelization/cuda_hlt into muon_reading
- 8ffd6a84 - 10th event added
-
bbd725f1...39949b31 - 2 commits from branch