MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches
Constants.hpp File Reference

Dataset configuration. More...

#include "DedupStrategy.hpp"
#include "PulseHistoryGroups.hpp"
#include "RunEpoch.hpp"
#include "SlotLayout.hpp"
#include <Rtypes.h>
#include <RtypesCore.h>
#include <TString.h>
#include <iostream>
#include <map>
#include <utility>
#include <vector>
Include dependency graph for Constants.hpp:

Go to the source code of this file.

Classes

struct  StripSumScatterConfig
struct  CrossSectionChannel
 TALYS calculation with name for plot and parameters to actually run TALYS (see CrossSectionConfig::TALYS_MODELS). More...
struct  TalysModel
 One TALYS model variant to compare against. More...
struct  CrossSectionConfig
 Experimental details needed to properly calculate the cross section. More...
class  DatasetConfig

Namespaces

namespace  Constants

Macros

#define MUSIC_HOT_PATH_LOGGING   0
 Whether per-hit and per-event progress logging is compiled in.

Enumerations

enum  TargetGas { kHELIUM }
 The fill gas the beam reacts in. More...

Functions

Int_t TargetGasA (TargetGas gas)
 Mass number of the target nucleus in a fill gas.
Double_t TargetGasAtomsPerMolecule (TargetGas gas)
 Atoms of the reacting species per molecule of fill gas.
void Constants::SetActiveEpoch (const RunEpoch *epoch)
 Set the epoch the Active*() accessors read from.
const RunEpoch * Constants::GetActiveEpoch ()
 The currently active epoch, or null when none is set.
const RunEpoch * Constants::EpochForRun (Int_t run)
 The epoch owning a run number.
RunEpoch Constants::MakeEpoch (const TString &name, const std::vector< Int_t > &runs)
 Build an epoch prefilled from the flat configuration block.
std::vector< Int_t > Constants::RunRange (Int_t first, Int_t last)
 Consecutive run numbers, for MakeEpoch().
const TString & Constants::ActiveFileTag ()
 Output-name prefix of the active epoch.
Int_t Constants::ActiveNBoards ()
 Boards in the active epoch's setup.
Int_t Constants::ActiveNChannels ()
 Channels per board.
UShort_t Constants::ActiveTimingRefBoard ()
 Board the others are timing-aligned against.
const std::vector< UShort_t > & Constants::ActiveTimingRefBoardChannels ()
 Reference channel per board, for the alignment.
Bool_t Constants::ActiveDoBoardSync ()
 Whether to run the multi-board timing alignment.
Bool_t Constants::ActiveDoSort ()
 Whether to time-sort hits before event building.
Bool_t Constants::ActiveHasCathode ()
 Whether this era instrumented the cathode.
Bool_t Constants::ActiveUseSolarisData ()
 Whether this era's data is SOLARIS rather than CoMPASS.
Double_t Constants::ActiveEventTimeWindowUs ()
 Coincidence window for event building, in microseconds.
Double_t Constants::ActiveSeedHoldoffUs ()
 Seed holdoff in microseconds; 0 = off. See SEED_HOLDOFF_US.
Double_t Constants::ActiveSeedHoldoffMaxRatio ()
 The size, as a fraction of the new hit, under which the current seed counts as a pre-trigger.
const TString & Constants::ActiveReferenceChannel ()
 Channel whose hits seed events.
Double_t Constants::ActiveReferenceChannelMinAdc ()
 Lower energy gate on the seed channel, in ADC.
Double_t Constants::ActiveReferenceChannelMaxAdc ()
 Upper energy gate on the seed channel, in ADC.
DedupStrategy Constants::ActiveDedupStrategy ()
 How repeated hits on one slot are resolved.
Double_t Constants::ActiveStripEMinAdc ()
 Lower bound of the per-strip energy range, in ADC.
Double_t Constants::ActiveStripEMaxAdc ()
 Upper bound of the per-strip energy range, in ADC.
Double_t Constants::ActiveCathodeMaxAdc ()
 Cathode full scale, in ADC.
Double_t Constants::ActiveGridMaxAdc ()
 Grid full scale, in ADC.
Double_t Constants::ActiveStrip0MaxAdc ()
 Strip 0 full scale, in ADC.
Double_t Constants::ActiveStrip17MaxAdc ()
 Strip 17 full scale, in ADC.
Double_t Constants::ActiveLeftEvenMaxAdc ()
 Left-side ceiling for even strips, in ADC.
Double_t Constants::ActiveLeftOddMaxAdc ()
 Left-side ceiling for odd strips, in ADC.
Double_t Constants::ActiveRightEvenMaxAdc ()
 Right-side ceiling for even strips, in ADC.
Double_t Constants::ActiveRightOddMaxAdc ()
 Right-side ceiling for odd strips, in ADC.
const std::vector< Int_t > & Constants::ActiveRunNumbers ()
 Runs of the active epoch, or the flat RUN_NUMBERS when none is set.
Int_t Constants::ActiveMaxFiles ()
 Cap on subfiles processed per run for the active epoch.
Double_t Constants::ActiveSplitChunkSeconds ()
 Chunk length the active epoch's .sol files are split into, in seconds; non-positive means whole files.
const PulseHistoryGroups & Constants::ActivePulseHistoryGroups ()
 The pulse-history groups in force: the active epoch's set, or the flat PULSE_HISTORY_GROUPS when no epoch is set.
Bool_t Constants::ActiveIgnoreShortStrips ()
 Whether the decode keeps the long end only: the active epoch's setting; with none active, the setting of the one epoch the cross-section chain works on (AnalysisEpoch()), else the flat IGNORE_SHORT_STRIPS.
void Constants::ActivateAnalysisEpoch ()
 Make AnalysisEpoch() the active epoch, so a binary of the cross-section chain resolves the file tag, the channel map, the ADC scales and the decode flags of the one epoch it works on.
Bool_t Constants::FileInSample ()
 Whether the file this thread is processing is in the per-file sample: every file with SAVE_FULL_PLOTS, otherwise the ones the tool marked with SetPlotsThisFile(), the first PLOT_SAMPLE_FILES of each epoch.
Bool_t Constants::SavePlots ()
 FileInSample(), by the name the plot call sites use.
std::ostream & Constants::Detail ()
 std::cout for a file in the sample, a stream that discards otherwise: the per-file detail lines (per strip, per channel) go through this, so a file outside the sample keeps only its summary lines.
std::ostream & Constants::DetailErr ()
Bool_t Constants::InPlotSample (Int_t k)
 Whether the k-th file (0-based, in file order) of an epoch's list is in the plot sample.
void Constants::SetPlotsThisFile (Bool_t on)
 Mark the file this thread is about to process as in (or out of) the plot sample.
const std::map< std::pair< Int_t, Int_t >, TString > & Constants::ActiveChannelMap ()
 The channel map in force.

Variables

const Int_t GATE_AXIS_GRID = -1
 Options which govern the reaction search in the 2D histograms (strip-sum-scatter).
const DatasetConfig & Constants::cfg
 The active dataset's configuration, flat block.

Detailed Description

Dataset configuration.

Configuration is split in two. The struct definitions and the tooling-wide defaults live here and in Constants.cpp; each dataset then overrides only the fields it cares about in analysis/<dataset>/config/Constants.cpp, which is compiled into that dataset's binaries.

There is additionally an option for epochs. A dataset spanning several acquisition eras declares a RunEpoch per era, and the Active*() accessors read the active epoch when one is set and the flat block otherwise.

Definition in file Constants.hpp.

Macro Definition Documentation

◆ MUSIC_HOT_PATH_LOGGING

#define MUSIC_HOT_PATH_LOGGING   0

Whether per-hit and per-event progress logging is compiled in.

Compile-time so the branch leaves the hot loop entirely when off. Define it to 1 on the compiler command line to enable.

Note
Logging outside hot loops (per-file and per-run summaries) is unconditional and not covered by this option.

Definition at line 41 of file Constants.hpp.

Enumeration Type Documentation

◆ TargetGas

enum TargetGas

The fill gas the beam reacts in.

Only helium so far. The per-gas numbers the cross section needs come from TargetGasA() and TargetGasAtomsPerMolecule() rather than being repeated at each use.

Enumerator
kHELIUM 

Helium fill.

Definition at line 343 of file Constants.hpp.

Function Documentation

◆ TargetGasA()

Int_t TargetGasA ( TargetGas gas)

Mass number of the target nucleus in a fill gas.

Parameters
gasFill gas.

Definition at line 3 of file Constants.cpp.

Referenced by BeamEnergies::CmFraction(), and main().

◆ TargetGasAtomsPerMolecule()

Double_t TargetGasAtomsPerMolecule ( TargetGas gas)

Atoms of the reacting species per molecule of fill gas.

Parameters
gasFill gas.

Definition at line 11 of file Constants.cpp.

Variable Documentation

◆ GATE_AXIS_GRID

const Int_t GATE_AXIS_GRID = -1

Options which govern the reaction search in the 2D histograms (strip-sum-scatter).

There are two kinds of controls; ones which define which events populating the histograms, and ones which define how the histograms are constructed. Each field says which it is. The cache fingerprints them all, so rebuilds should happen automatically if they are needed. An axis of the pure-beam entrance ellipse (PURE_BEAM_GATE_S1_GRID): the Frisch grid over its beam anchor (GainGrid), so it sits at 1.0 like a strip.

Definition at line 56 of file Constants.hpp.

Referenced by EnergyView::Axis().