All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Variables
helper_pur_slc_cumulative.h File Reference
#include "helper.h"

Go to the source code of this file.

Classes

struct  PlotDef
 
struct  SelDef
 

Variables

const Binning kBDTBinning = Binning::Simple(40, 0, 1.0)
 
const Binning kEnergyBinningGeV = Binning::Simple(40, 0, 3)
 
const Binning kdEdxBinning = Binning::Simple(40, 0, 10)
 
const Binning kGapBinning = Binning::Simple(20, 0, 20)
 
const Binning kDensityBinning = Binning::Simple(20, 0., 20)
 
const Binning kOpenAngleBinning = Binning::Simple(20, 0., 1)
 
const Binning kLengthBinning = Binning::Simple(42, -5.01, 200)
 
const Binning kPEBinning = Binning::Simple(70, 0., 1400)
 
const Binning kTimeBinning = Binning::Simple(70, -3500, 3500)
 
const Binning kFlashBinning = Binning::Simple(40, -6.f, 34.f)
 
const Binning kPdgBinning = Binning::Simple(5000, -2500, 2500)
 
std::vector< PlotDefplots
 
std::vector< SelDeftypes
 
std::vector< SelDefsels
 

Variable Documentation

const Binning kBDTBinning = Binning::Simple(40, 0, 1.0)

Definition at line 16 of file helper_pur_slc_cumulative.h.

const Binning kdEdxBinning = Binning::Simple(40, 0, 10)

Definition at line 18 of file helper_pur_slc_cumulative.h.

const Binning kDensityBinning = Binning::Simple(20, 0., 20)

Definition at line 20 of file helper_pur_slc_cumulative.h.

const Binning kEnergyBinningGeV = Binning::Simple(40, 0, 3)

Definition at line 17 of file helper_pur_slc_cumulative.h.

const Binning kFlashBinning = Binning::Simple(40, -6.f, 34.f)

Definition at line 25 of file helper_pur_slc_cumulative.h.

const Binning kGapBinning = Binning::Simple(20, 0, 20)

Definition at line 19 of file helper_pur_slc_cumulative.h.

const Binning kLengthBinning = Binning::Simple(42, -5.01, 200)

Definition at line 22 of file helper_pur_slc_cumulative.h.

const Binning kOpenAngleBinning = Binning::Simple(20, 0., 1)

Definition at line 21 of file helper_pur_slc_cumulative.h.

const Binning kPdgBinning = Binning::Simple(5000, -2500, 2500)

Definition at line 26 of file helper_pur_slc_cumulative.h.

const Binning kPEBinning = Binning::Simple(70, 0., 1400)

Definition at line 23 of file helper_pur_slc_cumulative.h.

const Binning kTimeBinning = Binning::Simple(70, -3500, 3500)

Definition at line 24 of file helper_pur_slc_cumulative.h.

std::vector<PlotDef> plots
Initial value:
= {
{ "count", "", Binning::Simple(3, 0, 3), kCounting },
{ "bestenergy", "Best plane energy (GeV)", kEnergyBinningGeV, kRecoShower_BestEnergy },
{ "conversion", "Conversion gap (cm)", kGapBinning, kRecoShower_ConversionGap },
{ "dedx", "dEdx (MeV/cm)", kdEdxBinning, kRecoShower_BestdEdx },
{ "slength", "Shower Length (cm)", kLengthBinning, kRecoShower_Length },
{ "tlength", "Longest Track Length (cm)", kLengthBinning, kLongestTrackLength },
{ "openangle", "Opening angle (rad)", kOpenAngleBinning, kRecoShower_OpenAngle },
{ "density", "Shower density (MeV/cm)", kDensityBinning, kRecoShower_Density },
{ "startx", "Shower start position X (cm)", kPositionXNDBinning, kRecoShower_StartX },
{ "starty", "Shower start position Y (cm)", kPositionYNDBinning, kRecoShower_StartY },
{ "startz", "Shower start position Z (cm)", kPositionZNDBinning, kRecoShower_StartZ },
{ "vtxx", "Slice vertex X (cm)", kPositionXNDBinning, kSlcVtxX },
{ "vtxy", "Slice vertes Y (cm)", kPositionYNDBinning, kSlcVtxY },
{ "vtxz", "Slice vertex Z (cm)", kPositionZNDBinning, kSlcVtxZ },
{ "nuScore", "Slice Nu Score", kBDTBinning, kSlcNuScore },
{ "flashScore", "Slice Flash Score", kFlashBinning, kSlcFlashScore },
{ "vtxdist", "Vertex Distance (cm)", kGapBinning, kTruthVtxDistMag },
{ "trueshwpdg", "True Shower Pdg", kPdgBinning, kRecoShower_TruePdg },
{ "truetrkpdg", "True Track Pdg", kPdgBinning, kLongestTrackTruePdg },
}
const Binning kLengthBinning
const Var kRecoShower_OpenAngle([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?180.*shw->open_angle/M_PI:-5.;})
Definition: NueVars.h:16
const Binning kDensityBinning
const Var kRecoShower_StartX([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.x):-9999.;})
Definition: NueVars.h:17
const Var kSlcFlashScore([](const caf::SRSliceProxy *slc) -> double{return((bool) kSlcHasFlash(slc)?(float) slc->fmatch.score:-5.f);})
Definition: Vars.h:35
const Binning kPositionYNDBinning
Definition: Binnings.cxx:30
const Binning kPositionZNDBinning
Definition: Binnings.cxx:31
const Var kRecoShower_StartY([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.y):-9999.;})
Definition: NueVars.h:18
const Var kTruthVtxDistMag([](const caf::SRSliceProxy *slc) -> double{return(kHasTruthMatch(slc)?(float) std::hypot(kTruthVtxDistX(slc), kTruthVtxDistY(slc), kTruthVtxDistZ(slc)):-5.f);})
Definition: TruthVars.h:20
const Binning kOpenAngleBinning
const Binning kBDTBinning
const Binning kdEdxBinning
const Binning kEnergyBinningGeV
const Var kRecoShower_BestEnergy([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->bestplane_energy):-5;})
Definition: NueVars.h:10
const Binning kPositionXNDBinning
Definition: Binnings.cxx:29
const Var kRecoShower_Length([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->len):-5.;})
Definition: NueVars.h:15
const Var kRecoShower_StartZ([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.z):-9999.;})
Definition: NueVars.h:19
const Var kSlcVtxX([](const caf::SRSliceProxy *slc) -> double{return slc->slc.vertex.x;})
const Var kRecoShower_Density([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->density):-5.;})
Definition: NueVars.h:13
const Var kLongestTrackTruePdg([](const caf::SRSliceProxy *slc) -> int{const caf::SRTrackProxy *trk=LongestRecoTrack(slc);return trk?int(trk->truth.p.pdg):-5;})
Definition: NueVars.h:30
const Binning kGapBinning
const Var kCounting
Definition: Vars.cxx:19
const Binning kFlashBinning
const Var kSlcVtxZ([](const caf::SRSliceProxy *slc) -> double{return slc->slc.vertex.z;})
const Var kRecoShower_ConversionGap([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->conversion_gap):-5.;})
Definition: NueVars.h:12
const Var kSlcVtxY([](const caf::SRSliceProxy *slc) -> double{return slc->slc.vertex.y;})
const Var kRecoShower_BestdEdx([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);if(!shw||shw->bestplane_dEdx< 0) return-5.;return shw->bestplane_dEdx;})
Definition: NueVars.h:11
const Var kSlcNuScore([](const caf::SRSliceProxy *slc) -> double{return slc->nu_score;})
Definition: Vars.h:33
const Binning kPdgBinning
const Var kRecoShower_TruePdg([](const caf::SRSliceProxy *slc) -> int{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?int(shw->truth.p.pdg):-5;})
Definition: NueVars.h:29
const Var kLongestTrackLength([](const caf::SRSliceProxy *slc) -> double{const caf::SRTrackProxy *trk=LongestRecoTrack(slc);return trk?double(trk->len):-5.;})
Definition: NueVars.h:34

Definition at line 29 of file helper_pur_slc_cumulative.h.

std::vector<SelDef> sels
Initial value:
= {
{ "fvcut", "FV Cut", kFiducialVolumeND&& kVtxDistMagCut, kBlue },
{ "nuscorecut", "Nu Score Cut", kSlcNuScoreCut, kBlue },
{ "fmatchcut", "Flah Match Cut", kSlcFlashMatchCut, kBlue },
{ "recosel", "Reco Selection", kRecoNueSel, kBlue },
{ "trklencut", "Track Length Cut", kNueTrackLenCut, kBlue },
{ "shwdensitycut", "Shower Density Cut", kShowerDensityCut, kBlue },
{ "shwconvgapcut", "Conversion Gap Cut", kShowerConvGapCut, kBlue },
{ "shwdedxcut", "Shower dEdx Cut", kShowerdEdxCut, kBlue },
{ "fullsel", "Full Selection", kFullNueSel, kBlue },
}
const Cut kShowerConvGapCut([](const caf::SRSliceProxy *slc){const int largestShwIdx(kLargestRecoShowerIdx(slc));return false;return(slc->reco.shw[largestShwIdx].conversion_gap< 3.25f);})
Definition: NueCuts.h:22
const Cut kShowerDensityCut([](const caf::SRSliceProxy *slc){const int largestShwIdx(kLargestRecoShowerIdx(slc));return false;return(slc->reco.shw[largestShwIdx].density > 4.5);})
Definition: NueCuts.h:23
const Cut kSlcFlashMatchCut([](const caf::SRSliceProxy *slc){return(kSlcHasFlashMatch(slc)&&slc->fmatch.score >0 &&slc->fmatch.score< 6);})
const Cut kFullNueSel
Definition: NueCuts.h:38
const Cut kFiducialVolumeND([](const caf::SRSliceProxy *slc){return PtInVolAbsX(slc->vertex, fvndAbs);})
const Cut kSlcNuScoreCut([](const caf::SRSliceProxy *slc){return(kSlcIsRecoNu(slc)&&slc->nu_score >0.4);})
const Cut kNueTrackLenCut([](const caf::SRSliceProxy *slc){return kLongestTrackLength(slc)< 110.f;})
Definition: NueCuts.h:13
const Cut kRecoNueSel
Definition: NueCuts.h:37
const Cut kShowerdEdxCut([](const caf::SRSliceProxy *slc){const int largestShwIdx(kLargestRecoShowerIdx(slc));return false;return(slc->reco.shw[largestShwIdx].bestplane_dEdx< 3.625f);})
Definition: NueCuts.h:21
const Cut kVtxDistMagCut([](const caf::SRSliceProxy *slc){if(slc->truth.index< 0) return true;return(kTruthVtxDistMag(slc)< 1);})

Definition at line 67 of file helper_pur_slc_cumulative.h.

std::vector<SelDef> types
Initial value:
= {
{ "nuecc", "NuE CC", kSlcIsRecoNu&& kNuECC, kBlue + 1 },
{ "numucc", "NuMu CC", kSlcIsRecoNu&& kNuMuCC, kRed + 1 },
{ "nunc", "NC", kSlcIsRecoNu&& kNC, kOrange },
{ "othernu", "Other Nu", kSlcIsRecoNu&& kOtherNu, kOrange },
{ "cosmic", "Cosmic", kSlcIsRecoNu&& kCosmicRay, kBlack },
}
const Cut kSlcIsRecoNu([](const caf::SRSliceProxy *slc){return!slc->is_clear_cosmic;})
const Cut kCosmicRay
const Cut kNuMuCC
const Cut kNuECC
Neutral-current interactions.
Definition: IPrediction.h:39
const Cut kOtherNu

Definition at line 59 of file helper_pur_slc_cumulative.h.