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

TriggerDataDecoder and MRDTracks minor bug fix #292

Open
wants to merge 5 commits into
base: Application
Choose a base branch
from

Conversation

S81D
Copy link
Contributor

@S81D S81D commented Oct 2, 2024

Modify the TriggerDataDecoder tool to increase its performance:

  • Triggers stored to the buffer are now cleared
  • add verbosity thresholds for some std out messages

Change the FindMRDTracks so that if the tool doesn't find MRD data it spits out an error message instead of haulting the entire toolchain

Don't hault the toolchain if there are no MRD tracks
Triggers are stored to the buffer - clear it to speed up the tool. Also adding verbosity conditions on std out
Wrong config variables - now it should work out of the box as intended
@S81D
Copy link
Contributor Author

S81D commented Oct 2, 2024

Also fixed the config file for the EventBuilderRaw toolchain that can be used to generate raw waveforms in the Processed file (useful for the AmBe analysis).

Rather than passing the path of the RAWData file to the bash script, add it hard coded. Not great practice but this script is used for a very specific purpose to generate a list file containing part files from the RAWData, and the data location has not changed in years (and likely won't change for now).
@S81D
Copy link
Contributor Author

S81D commented Oct 2, 2024

CreateMyList.sh is used to generate the my_files.txt list for running the PreProcessing toolchain that generates the TrigOverlap files. Just removed an argument that asks for the path to the RAWData and added a hard coded path, as it doesn't move locations. That way you simply need to provide the Run number.

@S81D
Copy link
Contributor Author

S81D commented Oct 7, 2024

@marc1uk regarding the comments you gave me during the software call:

  • For the TriggerDataDecoder, we added clearing the buffer similar to the "Monitoring" mode of the tool:

    . If the mode is "Monitoring" the buffer TimeToTriggerMap is cleared, but for the "EventBuilding" mode, it is not cleared. This normally isn't a problem in the event building toolchain as the buffer will be cleaned/cleared by removing paired entries by another tool. But for other toolchains that use the TriggerDataDecoder tool (like the BeamFetcherV2 toolchain), there is no other tool to do the clearing, so when running over multiple part files it really slows down as the buffer continues to grow.

  • For the FindMRDTracks, the reason we commented out the line was to avoid grabbing an empty triggerword from the Store: get_ok = m_data->Stores["ANNIEEvent"]->Get("TriggerWord",TriggerWord);. For the old event builder this object (always a single trigger word) was at the base of pairing events, so it should never be empty (and not raise the error). In contrast, the new event builder groups all triggers involved in an event (triggers telling the CTC the beam is coming, then the triggers sent by the CTC to the ADC/TDC to start recording data). I have reverted the change to keep in place the stop toolchain feature in case it can't find a triggerword. We changed some of the new event building to make sure this object is populated with the correct "traditional" trigger words that other downstream tools rely on.

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

Successfully merging this pull request may close these issues.

1 participant