I completed two tasks. First, I fixed the build so that DataGenerator doesn't cause errors when we toggle PAASS_BUILD_ANALYSIS=OFF. This is a fringe case but still needs to be handled cleanly. I fixed this by simply wrapping the add_subdirectory call in a check for PAASS_BUILD_ANALYSIS.
Second, I added trace filtering capabilities to scope. I moved TraceFilter to Analysis/Resources. Now Scope can access the class and use it to perform filtering. I added filter results to a PaveText instead of to the command line. The trace filter is plot on the same canvas as the trace.
I have made histogramming asynchronous with analysis. We no longer have to pause the analysis while we write histograms to disk. I've added a static mutex to the RootHandler class so that we can control when the file is being written to by RootHandler::AsyncFlush. I have also removed external access to the ROOT file from the user's control. I don't want people by passing the AsyncFlush.
Related Issue
Issue #104
Issue #111
Issue #135
Motivation and Context
We no longer have defunct code floating around (TraceFilterer) and we can build analysis separately from acquisition. We can write histograms to disk while continuing with data analysis. We speed up execution time.
How Has This Been Tested?
I tested locally (see screenshot) and using the CI server. The CI server had issues compiling, which were mitigated in ae30e04.
Screenshots (if appropriate):
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
Description
I completed two tasks. First, I fixed the build so that DataGenerator doesn't cause errors when we toggle
PAASS_BUILD_ANALYSIS=OFF
. This is a fringe case but still needs to be handled cleanly. I fixed this by simply wrapping theadd_subdirectory
call in a check forPAASS_BUILD_ANALYSIS
.Second, I added trace filtering capabilities to scope. I moved TraceFilter to Analysis/Resources. Now Scope can access the class and use it to perform filtering. I added filter results to a PaveText instead of to the command line. The trace filter is plot on the same canvas as the trace.
I have made histogramming asynchronous with analysis. We no longer have to pause the analysis while we write histograms to disk. I've added a static mutex to the RootHandler class so that we can control when the file is being written to by
RootHandler::AsyncFlush
. I have also removed external access to the ROOT file from the user's control. I don't want people by passing the AsyncFlush.Related Issue
Issue #104 Issue #111 Issue #135
Motivation and Context
We no longer have defunct code floating around (TraceFilterer) and we can build analysis separately from acquisition. We can write histograms to disk while continuing with data analysis. We speed up execution time.
How Has This Been Tested?
I tested locally (see screenshot) and using the CI server. The CI server had issues compiling, which were mitigated in ae30e04.
Screenshots (if appropriate):
Types of changes
Checklist: