Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add script to find raw data file for given run and event numbers #1

Open
dladams opened this issue Sep 19, 2022 · 5 comments
Open

Add script to find raw data file for given run and event numbers #1

dladams opened this issue Sep 19, 2022 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@dladams
Copy link

dladams commented Sep 19, 2022

We have the script getfile.py to find raw data file for protoDUNE but I would like to have the same for horizontal drift and top and bottom vertical drift.

@dladams dladams added the enhancement New feature or request label Sep 19, 2022
@dladams dladams self-assigned this Sep 19, 2022
@dladams
Copy link
Author

dladams commented Sep 19, 2022

I have added findRunFiles which finds all files for a run or the one file for a run-event along with the event offset in the file. This is working for runs with event lists but code needs to be added to support those without such as top vertical-drift.

@dladams
Copy link
Author

dladams commented Sep 20, 2022

I added support for vd-coldbox-top CRB 1 and 1B and a (temporary) error massage for later runs.

dladams pushed a commit that referenced this issue Sep 20, 2022
@dladams
Copy link
Author

dladams commented Sep 21, 2022

FTR, here is some explanation of the vertical-drift top-readout event-file organization fro Elisabetta:


concerning top data:
for CRP1 and CRP1B, raw data files contains events in sequence, as you pointed out.

For CRP2 and CRP3 the association event/file changes. This is due to a change in the daq backend.
Until summer this year, we had to run two parallel data acquisition systems: one for NP02, used to run DP and to acquire the 6M long tracks this year, and one for the cold box. The daq for NP02 was designed and build in order to take events at high rates (100Hz) and this required a high bandwidth . To fulfil this requirement, in NP02 we were using 2 L1 event builders and 4 L2 event builders.
These L2 event builders work in parallel. The task of each L2 event builder is to read the events halves written by the L1 event builders on their RAM disks and to merge the two halves in the final events containing the full detector data. The L2 event builders also pack together several single events, in order to write multi-event data files of 3GB size on their RAM disks. Given the fact that four L2 event builders work completely in parallel, events in data files cannot be strictly consecutive. Each L2 event builder is instructed to include in its data file sequences only events whose event number follows an arithmetic allocation rule, based on a division module.

This backend system is very robust. When the operations with NP02 finished, we decided to use it for the coldbox , also considering that CRP2 is a full top CRP ( DAQ has to deal with 5 crates instead of 3 as in CRP1). This happened in June this year, before CRP2 started operations. DAQ backend for CRP2 and CRP3 is based on 2 L1 evb and 4 L2 evbs running in parallel, while DAQ backend for CRP1 and CRP1 was using only one L1 and one L2 event builder.

To come to your question, raw data files for CRP2 and CRP3 are like that: runid_seqid_evbid_cb.test.

Assuming as example runid=1111 as before:
1111_1_a_cb.test
1111_1_b_cb.test
1111_1_c_cb.test
1111_1_d_cb.test
1111_2_a_cb.test
1111_2_b_cb.test
1111_2_c_cb.test
1111_2_d_cb.test.....

where a, b,c,d is the L2 evb that wrote the file. How events are distributed in files is shown in the attached file, that is extracted for a presentation given at a CM in January 2020 (https://indico.fnal.gov/event/20144/contributions/55754/attachments/34875/42612/Data_analysis_EP_DUNE_Jan2020.pdf)
Just as example, you can also find a simple script I prepared: it takes the event number as argument, and returns the file where the event is.


Data_analysis_EP_DUNE_Jan2020_short.pdf
find_event.txt

@dladams
Copy link
Author

dladams commented Sep 21, 2022

I have updated findRunFiles to support event picking for CRP2 and maybe beyond.

I will do some validation using my analysis tools and leave this open until that is done.

I encourage others to perform check and report results here.

dladams pushed a commit that referenced this issue Sep 21, 2022
@dladams
Copy link
Author

dladams commented Sep 21, 2022

I added findRunFiles to dunehelp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant