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

The reaction search: strip-sum scatters, beam gating and tagging. More...

#include "BeamFit2D.hpp"
#include "Constants.hpp"
#include "EventsSummary.hpp"
#include "FileSet.hpp"
#include "IOUtils.hpp"
#include "InitUtils.hpp"
#include "Normalization.hpp"
#include "PlottingUtils.hpp"
#include "RemixSim.hpp"
#include <Rtypes.h>
#include <TApplication.h>
#include <TCanvas.h>
#include <TChain.h>
#include <TCutG.h>
#include <TFile.h>
#include <TGraph.h>
#include <TGraphErrors.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TKey.h>
#include <TLegend.h>
#include <TLine.h>
#include <TMath.h>
#include <TNamed.h>
#include <TROOT.h>
#include <TString.h>
#include <TSystem.h>
#include <TTree.h>
#include <algorithm>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <mutex>
#include <queue>
#include <stdexcept>
#include <string>
#include <thread>
#include <utility>
#include <vector>
Include dependency graph for StripSumScatter.hpp:

Go to the source code of this file.

Classes

struct  TagThresholds
 Every threshold the tag applies, as one value set. More...
struct  SelectionStep
 One step of the event selection, as StripSumScatter::DescribeSelection lists them: in the order the code applies them, with the configured values written out. More...
struct  BeamEllipses
 The classification ellipses defining a pure-beam event. More...
struct  BeamGate1D
 The event-level gate: one strip's fitted beam peak and width. More...
struct  TraceEvt
 One tagged event, kept in the reservoir. More...
struct  SingleRunFitResult
 One run's fitted beam gates. More...
struct  SingleRunFillResult
 One run's filled scatters, reservoir and normalisation counts. More...
struct  SimPop
 One simulated population to overlay on the data. More...
class  StripSumScatter
 Builds the strip-sum scatters, tags reactions, and draws the results. More...

Namespaces

namespace  ScatterBuildRange
 The fixed window every strip-sum scatter is built over.

Enumerations

enum  TagCut {
  kTAG_PASS = 0 , kCUT_UPSTREAM , kCUT_JUMP , kCUT_REAC_LEVEL ,
  kCUT_TAIL_RISE , kCUT_RERISE , kCUT_POST_ABOVE , kCUT_CROSS ,
  kCUT_END_STRIP , kCUT_CLIFF , kCUT_OTHER_TAG , kNTAGCUTS
}
 The conditions of the reaction tag, in the order they are applied. More...
enum  PreCut {
  kPRE_PASS = 0 , kPRE_ALL_STRIPS , kPRE_GATE , kPRE_PILEUP ,
  kPRE_NOISE , kPRE_SMOOTH , kPRE_BOTH_MULT , kNPRECUTS
}
 The event-level cuts applied before any reaction is asked about, in order; sequential like TagCut. More...

Variables

const char *const kTagCutName [kNTAGCUTS]
 Short labels for TagCut, indexed by it.
const char *const kPreCutName [kNPRECUTS]
 Short labels for PreCut, indexed by it.
const Double_t ScatterBuildRange::kXMin = 0.0
 Lower x bound of the build window.
const Double_t ScatterBuildRange::kXMax = 40.0
 Upper x bound; x sums 16 strips.
const Double_t ScatterBuildRange::kYMin = 0.0
 Lower y bound.
const Double_t ScatterBuildRange::kYMax
 Upper y bound; y sums the post-trigger strips only.

Detailed Description

The reaction search: strip-sum scatters, beam gating and tagging.

Builds, per reaction strip, a two-dimensional scatter in which beam-like and reaction events separate, then tags reactions in it. The scatters and a reservoir of tagged events are cached, so retuning a display window or a region cut costs a reprojection rather than another pass over the data.

Definition in file StripSumScatter.hpp.

Enumeration Type Documentation

◆ PreCut

enum PreCut

The event-level cuts applied before any reaction is asked about, in order; sequential like TagCut.

kPRE_PASS reached the tag.

Enumerator
kPRE_PASS 
kPRE_ALL_STRIPS 

A strip did not fire.

kPRE_GATE 

Failed a beam gate.

kPRE_PILEUP 

Pileup.

kPRE_NOISE 

Noise.

kPRE_SMOOTH 

A strip-to-strip step above SMOOTHNESS_NSIGMA.

kPRE_BOTH_MULT 

Both-ends multiplicity (BOTH_MULT_MAX).

kNPRECUTS 

Definition at line 120 of file StripSumScatter.hpp.

◆ TagCut

enum TagCut

The conditions of the reaction tag, in the order they are applied.

StripSumScatter::RejectReason returns the first one an event fails at a reaction strip, so the per-condition counts are sequential: each counts events that passed everything before it. kTAG_PASS is a tag.

Enumerator
kTAG_PASS 
kCUT_UPSTREAM 

A strip before the reaction was not beam-like.

kCUT_JUMP 

Jump at the reaction strip below the gate.

kCUT_REAC_LEVEL 

Reaction-strip deposit below 1 + the gate.

kCUT_TAIL_RISE 

A rise in the tail (TAIL_RISE_NSIGMA).

kCUT_RERISE 

Back at the beam, then above it again (TAIL_RERISE_*).

kCUT_POST_ABOVE 

The excess did not persist (POST_ABOVE_*).

kCUT_CROSS 

Read below the beam before POST_CROSS_MIN_STRIP.

kCUT_END_STRIP 

The end strip not END_STRIP_NSIGMA below the beam.

kCUT_CLIFF 

The fall happened in the last step (TAIL_CLIFF_*).

kCUT_OTHER_TAG 

Passed, but the event's one tag went to another strip.

kNTAGCUTS 

Definition at line 62 of file StripSumScatter.hpp.

Variable Documentation

◆ kPreCutName

const char* const kPreCutName[kNPRECUTS]
extern

Short labels for PreCut, indexed by it.

Definition at line 13 of file StripSumScatter.cpp.

Referenced by StripSumScatter::DescribeSelection(), and StripSumScatter::SimTagReport().

◆ kTagCutName

const char* const kTagCutName[kNTAGCUTS]
extern

Short labels for TagCut, indexed by it.

Definition at line 9 of file StripSumScatter.cpp.

Referenced by StripSumScatter::DescribeSelection(), and StripSumScatter::SimTagReport().