MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches
PulseHistory.cpp File Reference
#include "PulseHistory.hpp"
#include "Constants.hpp"
#include "FileSet.hpp"
#include "IOUtils.hpp"
#include "PlottingUtils.hpp"
#include <PulseHistoryGroups.hpp>
#include <TCanvas.h>
#include <TDecompChol.h>
#include <TF1.h>
#include <TFile.h>
#include <TFitResultPtr.h>
#include <TGraph.h>
#include <TH1D.h>
#include <TH2D.h>
#include <TLegend.h>
#include <TLine.h>
#include <TMath.h>
#include <TMatrixD.h>
#include <TProfile.h>
#include <TTree.h>
#include <TVectorD.h>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <map>
#include <sstream>
Include dependency graph for PulseHistory.cpp:

Go to the source code of this file.

Namespaces

namespace  PulseHistory

Functions

const char * PulseHistory::GroupName (Int_t g)
 Human-readable name of a Group.
const char * PulseHistory::GroupTag (Int_t g)
 Short tag for filenames: L, R, Ls, Rs, S0, S17.
Int_t PulseHistory::ChainOf (Int_t g)
 Which readout chain a group belongs to.
Bool_t PulseHistory::IsLongGroup (Int_t g)
 Whether a group is a long end rather than a short end or an unsegmented strip.
Bool_t PulseHistory::GroupEnabled (Int_t g)
 Whether the groups in force (Constants::ActivePulseHistoryGroups()) have this group corrected.
Bool_t PulseHistory::GroupWantsForm (Int_t g)
 Whether the configuration asks for the pole-zero form on this group rather than the binned kernel.
Double_t PulseHistory::GroupTauUs (Int_t g)
 The preamp decay time the configuration gives for this group, in microseconds; 0 when it is to be profiled.
Int_t PulseHistory::BinOf (Double_t dt_s)
 Kernel bin for a time since the previous pulse.
Double_t PulseHistory::BinCentreUs (Int_t b)
 Centre of a kernel bin, in microseconds, for reports.
void PulseHistory::FitTauDecay (const std::vector< Double_t > &dt_us, const std::vector< Double_t > &dev, Kernel::TauFit &out)
 p0 + p1 exp(-dt / p2) + p3 dt through (dt us, deviation ADC) pairs, the form the pole-zero residual plus the slow baseline lift takes.
Int_t PulseHistory::AmpBinOf (Double_t e_prev, Double_t mode, Int_t n_amp)
 Amplitude band of a previous pulse.
TString PulseHistory::BandLabel (Int_t a, Int_t n_amp, Bool_t latex)
std::vector< Int_t > PulseHistory::BuildGroupMap ()
 Group lookup for every (board, channel) under the active map.
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.
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.
TString PulseHistory::Report (const Result &res, const TString &file_label, Bool_t detail=kTRUE)
 Format the pass as a human-readable report.
void PulseHistory::SavePlots (Result &res, const TString &file_label)
 Draw and save the diagnostics, then free them.
void PulseHistory::WriteToEventsFile (const TString &events_subpath, const Result &res)
 Record the kernels and counters alongside a subfile's events.