|
MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
|
#include "Constants.hpp"#include "IOUtils.hpp"#include <Rtypes.h>#include <TChain.h>#include <TFile.h>#include <TString.h>#include <TSystem.h>#include <TTree.h>#include <algorithm>#include <iostream>#include <map>#include <mutex>#include <vector>Go to the source code of this file.
Classes | |
| struct | FileSpec |
| One input file: a run number and the subfile suffix within it. More... | |
| class | FileSet |
| Discovering input files and naming the artefacts derived from them. More... | |
Variables | |
| std::mutex | g_plot_mutex |
| Serialises all plotting and canvas work. | |
| std::mutex | g_log_mutex |
| Serialises multi-line progress logging from worker threads. | |
|
extern |
Serialises multi-line progress logging from worker threads.
A streaming insertion chain is not atomic. Without this, per-run lines from concurrent workers interleave mid-line and the log stops being readable.
Definition at line 4 of file FileSet.cpp.
|
extern |
Serialises all plotting and canvas work.
ROOT's global graphics state is not thread-safe and the pipeline runs file workers concurrently, so every canvas operation must hold this.
Definition at line 3 of file FileSet.cpp.
Referenced by EventBuilder::BuildEventsFromSortedHits(), EventsSummary::BuildNormedSummaryHistograms(), CalibrateBeam::CalibrateBeamOneSubfile(), Timing::PlotCostLandscape(), Timing::PlotExtremeEvents2D(), and PulseHistory::SavePlots().