|
MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
|
Classes | |
| struct | Kernel |
| The fitted correction for one channel group. More... | |
| struct | Result |
| Everything one subfile's pulse-history pass produced. More... | |
Enumerations | |
| enum | Group { kNone = 0 , kLongLeft = 1 , kLongRight = 2 , kShortLeft = 3 , kShortRight = 4 , kGuard0 = 5 , kGuard17 = 6 , kNGroups = 7 } |
| Channel groups, one kernel each. More... | |
Functions | |
| const char * | GroupName (Int_t g) |
| Human-readable name of a Group. | |
| const char * | GroupTag (Int_t g) |
| Short tag for filenames: L, R, Ls, Rs, S0, S17. | |
| Int_t | ChainOf (Int_t g) |
| Which readout chain a group belongs to. | |
| Bool_t | IsLongGroup (Int_t g) |
| Whether a group is a long end rather than a short end or guard. | |
| Int_t | BinOf (Double_t dt_s) |
| Kernel bin for a time since the previous pulse. | |
| Double_t | BinCentreUs (Int_t b) |
| Centre of a kernel bin, in microseconds, for reports. | |
| Int_t | AmpBinOf (Double_t e_prev, Double_t mode, Int_t n_amp) |
| Amplitude band of a previous pulse. | |
| std::vector< Int_t > | BuildGroupMap () |
| Group lookup for every (board, channel) under the active map. | |
| Bool_t | Measure (std::vector< RawHit > &hits, const std::vector< Int_t > &group_of, Result &res, const TString &file_label) |
| Measure the kernels on this subfile's beam-like events. | |
| void | Apply (std::vector< RawHit > &hits, const std::vector< Int_t > &group_of, Result &res) |
| Apply the measured kernels to the hit stream, in place. | |
| TString | Report (const Result &res, const TString &file_label) |
| Format the pass as a human-readable report. | |
| void | SavePlots (Result &res, const TString &file_label) |
| Draw and save the diagnostics, then free them. | |
| void | WriteToEventsFile (const TString &events_subpath, const Result &res) |
| Record the kernels and counters alongside a subfile's events. | |
Variables | |
| const UInt_t | kFlagClamped = 0x2000 |
| Flag set on a hit whose correction was clamped rather than applied in full. | |
| const Int_t | kNBins = 12 |
| Bins in the kernel, spanning kLogLo to kLogHi in log10 of dt. | |
| const Double_t | kLogLo = -6.0 |
| Lowest dt bin edge: log10 of 1 us in seconds. | |
| const Double_t | kLogHi |
| Highest dt bin edge: log10 of 100 us in seconds. | |
| const Int_t | kMaxAmpBins = 6 |
| Maximum amplitude bands a kernel may split the previous pulse into. | |
| enum PulseHistory::Group |
Channel groups, one kernel each.
The long and short end of the split strips on either chain, plus the two single-pad guards.
Definition at line 47 of file PulseHistory.hpp.
| Int_t PulseHistory::AmpBinOf | ( | Double_t | e_prev, |
| Double_t | mode, | ||
| Int_t | n_amp ) |
Amplitude band of a previous pulse.
| e_prev | Previous pulse energy, in ADC. |
| mode | That channel's beam peak, in ADC. |
| n_amp | Bands in use for this kernel. |
Definition at line 118 of file PulseHistory.cpp.
Referenced by Measure().
| void PulseHistory::Apply | ( | std::vector< RawHit > & | hits, |
| const std::vector< Int_t > & | group_of, | ||
| Result & | res ) |
Apply the measured kernels to the hit stream, in place.
| [in,out] | hits | Hits to correct. |
| group_of | Group per channel, from BuildGroupMap(). | |
| [in,out] | res | Kernels to apply; its clamp and shift counters are updated as it goes. |
Definition at line 546 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| Double_t PulseHistory::BinCentreUs | ( | Int_t | b | ) |
Centre of a kernel bin, in microseconds, for reports.
| b | Bin index. |
Definition at line 113 of file PulseHistory.cpp.
Referenced by Report(), and WriteToEventsFile().
| Int_t PulseHistory::BinOf | ( | Double_t | dt_s | ) |
Kernel bin for a time since the previous pulse.
| dt_s | Time difference, in seconds. |
Definition at line 104 of file PulseHistory.cpp.
Referenced by Measure().
| std::vector< Int_t > PulseHistory::BuildGroupMap | ( | ) |
Group lookup for every (board, channel) under the active map.
Definition at line 126 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| Int_t PulseHistory::ChainOf | ( | Int_t | g | ) |
Which readout chain a group belongs to.
Definition at line 63 of file PulseHistory.cpp.
Referenced by Measure().
| const char * PulseHistory::GroupName | ( | Int_t | g | ) |
Human-readable name of a Group.
Definition at line 27 of file PulseHistory.cpp.
Referenced by Report().
| const char * PulseHistory::GroupTag | ( | Int_t | g | ) |
Short tag for filenames: L, R, Ls, Rs, S0, S17.
Definition at line 45 of file PulseHistory.cpp.
Referenced by Measure(), and SavePlots().
| Bool_t PulseHistory::IsLongGroup | ( | Int_t | g | ) |
Whether a group is a long end rather than a short end or guard.
Definition at line 75 of file PulseHistory.cpp.
Referenced by Measure().
| Bool_t PulseHistory::Measure | ( | std::vector< RawHit > & | hits, |
| const std::vector< Int_t > & | group_of, | ||
| Result & | res, | ||
| const TString & | file_label ) |
Measure the kernels on this subfile's beam-like events.
| [in,out] | hits | Raw hits for the subfile. Sorted in place if not already time-ordered, which the event builder needs anyway. |
| group_of | Group per channel, from BuildGroupMap(). | |
| [out] | res | Fitted kernels and diagnostics. |
| file_label | Label from FileSet::FileLabel(), used in plots and logs. |
Definition at line 205 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| TString PulseHistory::Report | ( | const Result & | res, |
| const TString & | file_label ) |
Format the pass as a human-readable report.
| res | Result to summarise. |
| file_label | Subfile label. |
Definition at line 590 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| void PulseHistory::SavePlots | ( | Result & | res, |
| const TString & | file_label ) |
Draw and save the diagnostics, then free them.
| [in,out] | res | Result whose histograms are drawn and then deleted. |
| file_label | Subfile label, used in the plot names. |
Definition at line 617 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| void PulseHistory::WriteToEventsFile | ( | const TString & | events_subpath, |
| const Result & | res ) |
Record the kernels and counters alongside a subfile's events.
| events_subpath | Events file to write into. |
| res | Result to record. |
Definition at line 735 of file PulseHistory.cpp.
Referenced by RunFusedPipelineForFile().
| const UInt_t PulseHistory::kFlagClamped = 0x2000 |
Flag set on a hit whose correction was clamped rather than applied in full.
Definition at line 28 of file PulseHistory.hpp.
Referenced by Apply().
| const Double_t PulseHistory::kLogHi |
Highest dt bin edge: log10 of 100 us in seconds.
Definition at line 32 of file PulseHistory.hpp.
Referenced by BinCentreUs(), BinOf(), Measure(), and SavePlots().
| const Double_t PulseHistory::kLogLo = -6.0 |
Lowest dt bin edge: log10 of 1 us in seconds.
Definition at line 31 of file PulseHistory.hpp.
Referenced by BinCentreUs(), BinOf(), Measure(), and SavePlots().
| const Int_t PulseHistory::kMaxAmpBins = 6 |
Maximum amplitude bands a kernel may split the previous pulse into.
Definition at line 35 of file PulseHistory.hpp.
Referenced by PulseHistory::Kernel::Kernel(), Measure(), SavePlots(), and WriteToEventsFile().
| const Int_t PulseHistory::kNBins = 12 |
Bins in the kernel, spanning kLogLo to kLogHi in log10 of dt.
Definition at line 30 of file PulseHistory.hpp.
Referenced by BinCentreUs(), BinOf(), PulseHistory::Kernel::Kernel(), Measure(), Report(), SavePlots(), and WriteToEventsFile().