MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches

One acquisition period of a dataset. More...

#include <RunEpoch.hpp>

Public Member Functions

 RunEpoch ()
 Construct with SOLARIS-era defaults; override per epoch.

Public Attributes

TString name
 Epoch name, used in logs and plot paths.
RunSource source
 Acquisition system for this era.
Bool_t enabled
 Whether this epoch participates in the analysis.
TString file_tag
 Prefix for this epoch's output files and plot directories.
std::vector< Int_t > runs
 Run numbers belonging to this epoch.
Int_t max_files
 Cap on subfiles processed per run; -1 for all of them.
Bool_t has_cathode
 Whether this era instrumented the cathode.
Digitiser layout
Int_t n_boards
 Boards in this era's setup.
Int_t n_channels
 Channels per board.
std::map< std::pair< Int_t, Int_t >, TString > channel_map
 Board and channel to detector-element name, e.g. "Grid", "de_l_03".
Timing and event building
UShort_t timing_ref_board
std::vector< UShort_t > timing_ref_board_channels
 Channels on the reference board used to align the others against it.
Bool_t do_board_sync
 Run the multi-board timing alignment.
Bool_t do_sort
 Time-sort hits before event building.
Double_t event_time_window_us
 Coincidence window, in microseconds, for grouping hits into one event.
TString reference_channel
 Channel whose hits seed events, e.g. "Grid".
Double_t reference_channel_min_adc
 Lower energy gate on the seed channel.
Double_t reference_channel_max_adc
 Upper energy gate on the seed channel.
DedupStrategy dedup_strategy
 How repeated hits on a slot resolve.
ADC scale

The CoMPASS era digitised to a different full scale than SOLARIS, so the per-end ceilings and the strip range differ between epochs.

Double_t strip_e_min_adc
 Lower bound of the per-strip energy range.
Double_t strip_e_max_adc
 Upper bound of the per-strip energy range.
Double_t cathode_max_adc
 Cathode full scale.
Double_t grid_max_adc
 Grid full scale.
Double_t strip0_max_adc
 Strip 0 full scale.
Double_t strip17_max_adc
 Strip 17 full scale.
Double_t left_even_max_adc
 Left-side ceiling, even strips.
Double_t left_odd_max_adc
 Left-side ceiling, odd strips.
Double_t right_even_max_adc
 Right-side ceiling, even strips.
Double_t right_odd_max_adc

Detailed Description

One acquisition period of a dataset.

The 37Cl data spans a CoMPASS era and two SOLARIS eras, which differ in digitiser, channel map, board count, trigger window and ADC scale. Those settings therefore cannot live as one flat block per dataset.

Warning
Every epoch must declare every field. Constants::Active*() reads the active epoch when one is set and the flat DatasetConfig otherwise, with no "declared / inherit" heuristic in between. A half-populated epoch is a configuration error, not a silent fallback to another era's value — and it will not announce itself.
Note
Deliberately absent: any selector for the left/right gain-matching method. There is one method — the ridge/shoulder anchor plus the eSum pass — it is the one that reproduces the reference traces, and making it configurable is how the kPerEndBeamPeak regression reached the late runs.

Definition at line 37 of file RunEpoch.hpp.

Constructor & Destructor Documentation

◆ RunEpoch()

RunEpoch::RunEpoch ( )
inline

Construct with SOLARIS-era defaults; override per epoch.

Definition at line 99 of file RunEpoch.hpp.

Member Data Documentation

◆ cathode_max_adc

Double_t RunEpoch::cathode_max_adc

Cathode full scale.

Definition at line 88 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ channel_map

std::map<std::pair<Int_t, Int_t>, TString> RunEpoch::channel_map

Board and channel to detector-element name, e.g. "Grid", "de_l_03".

Definition at line 60 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch().

◆ dedup_strategy

DedupStrategy RunEpoch::dedup_strategy

How repeated hits on a slot resolve.

Definition at line 77 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ do_board_sync

Bool_t RunEpoch::do_board_sync

Run the multi-board timing alignment.

Definition at line 68 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ do_sort

Bool_t RunEpoch::do_sort

Time-sort hits before event building.

Definition at line 69 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ enabled

Bool_t RunEpoch::enabled

Whether this epoch participates in the analysis.

Definition at line 40 of file RunEpoch.hpp.

Referenced by main(), Pipeline::Run(), and RunEpoch().

◆ event_time_window_us

Double_t RunEpoch::event_time_window_us

Coincidence window, in microseconds, for grouping hits into one event.

Definition at line 71 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ file_tag

TString RunEpoch::file_tag

Prefix for this epoch's output files and plot directories.

Run numbers are only unique within an acquisition system: CoMPASS run 37 and SOLARIS run 37 are unrelated experiments years apart that happen to share a number, and without a tag both would write Events_Run37_*.root over each other. Leave empty for the era whose filenames are already on disk (the SOLARIS runs); set it on any era that would otherwise collide.

Definition at line 49 of file RunEpoch.hpp.

Referenced by Constants::EpochForRun(), and RunEpoch().

◆ grid_max_adc

Double_t RunEpoch::grid_max_adc

Grid full scale.

Definition at line 89 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ has_cathode

Bool_t RunEpoch::has_cathode

Whether this era instrumented the cathode.

Definition at line 80 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ left_even_max_adc

Double_t RunEpoch::left_even_max_adc

Left-side ceiling, even strips.

Definition at line 92 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ left_odd_max_adc

Double_t RunEpoch::left_odd_max_adc

Left-side ceiling, odd strips.

Definition at line 93 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ max_files

Int_t RunEpoch::max_files

Cap on subfiles processed per run; -1 for all of them.

Definition at line 53 of file RunEpoch.hpp.

Referenced by RunEpoch().

◆ n_boards

Int_t RunEpoch::n_boards

Boards in this era's setup.

Definition at line 57 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), Pipeline::Run(), and RunEpoch().

◆ n_channels

Int_t RunEpoch::n_channels

Channels per board.

Definition at line 58 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), Pipeline::Run(), and RunEpoch().

◆ name

TString RunEpoch::name

Epoch name, used in logs and plot paths.

Definition at line 38 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), Pipeline::Run(), and RunEpoch().

◆ reference_channel

TString RunEpoch::reference_channel

Channel whose hits seed events, e.g. "Grid".

Definition at line 72 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ reference_channel_max_adc

Double_t RunEpoch::reference_channel_max_adc

Upper energy gate on the seed channel.

Definition at line 76 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ reference_channel_min_adc

Double_t RunEpoch::reference_channel_min_adc

Lower energy gate on the seed channel.

Definition at line 74 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ right_even_max_adc

Double_t RunEpoch::right_even_max_adc

Right-side ceiling, even strips.

Definition at line 94 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ right_odd_max_adc

Double_t RunEpoch::right_odd_max_adc

Definition at line 95 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ runs

std::vector<Int_t> RunEpoch::runs

Run numbers belonging to this epoch.

Definition at line 51 of file RunEpoch.hpp.

Referenced by Constants::EpochForRun(), main(), Constants::MakeEpoch(), and Pipeline::Run().

◆ source

RunSource RunEpoch::source

Acquisition system for this era.

Definition at line 39 of file RunEpoch.hpp.

Referenced by main(), Constants::MakeEpoch(), Pipeline::Run(), and RunEpoch().

◆ strip0_max_adc

Double_t RunEpoch::strip0_max_adc

Strip 0 full scale.

Definition at line 90 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ strip17_max_adc

Double_t RunEpoch::strip17_max_adc

Strip 17 full scale.

Definition at line 91 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ strip_e_max_adc

Double_t RunEpoch::strip_e_max_adc

Upper bound of the per-strip energy range.

Definition at line 87 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ strip_e_min_adc

Double_t RunEpoch::strip_e_min_adc

Lower bound of the per-strip energy range.

Definition at line 86 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ timing_ref_board

UShort_t RunEpoch::timing_ref_board

Definition at line 65 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch(), and RunEpoch().

◆ timing_ref_board_channels

std::vector<UShort_t> RunEpoch::timing_ref_board_channels

Channels on the reference board used to align the others against it.

Definition at line 67 of file RunEpoch.hpp.

Referenced by Constants::MakeEpoch().


The documentation for this struct was generated from the following file: