All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions | Variables
helper_nuesel_icarus.h File Reference
#include "sbnana/CAFAna/Core/Binning.h"
#include "sbnana/CAFAna/Core/Cut.h"
#include "sbnanaobj/StandardRecord/Proxy/SRProxy.h"
#include "SBNAna/Vars/Binnings.h"
#include "SBNAna/Vars/NueVars.h"
#include "SBNAna/Vars/TruthVars.h"
#include "SBNAna/Vars/Vars.h"
#include "SBNAna/Cuts/Cuts.h"
#include "SBNAna/Cuts/NueCuts.h"
#include "SBNAna/Cuts/TruthCuts.h"
#include "TStyle.h"

Go to the source code of this file.

Classes

struct  PlotDef
 
struct  PlotDefSpill
 
struct  PlotDefMultiVar
 
struct  SelDef
 
struct  SelDefSpill
 

Functions

const SpillCut kContainedSpill ([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
 
const SpillCut kFlashMatchSpillCut ([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
 
const SpillCut kNuScoreSpillCut ([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
 
const SpillCut kRecoSpillCut ([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
 
const SpillCut kFullSpillCut ([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
 

Variables

Color_t color_eff = kGreen+2
 
Color_t color_pur = kOrange+2
 
Color_t color_nue = kBlue-7
 
Color_t color_numu = kGreen+1
 
Color_t color_nc = kMagenta
 
Color_t color_other = kOrange+8
 
Color_t color_cos = kGray+2
 
Style_t line_nue = kSolid
 
Style_t line_numu = kSolid
 
Style_t line_nc = kDashed
 
Style_t line_other = kDotted
 
Style_t line_cos = kSolid
 
const int limitN1 = 13
 
const Binning kEnergyBinning = Binning::Simple(40,0.,3.)
 
const Binning kDedxBinning = Binning::Simple(40,0.,10)
 
const Binning kGapBinning = Binning::Simple(40,0.,10)
 
const Binning kDensityBinning = Binning::Simple(50,0.,10)
 
const Binning kOpenAngleBinning = Binning::Simple(60,0.,1.5)
 
const Binning kLengthBinning = Binning::Simple(40,0.,200)
 
const Binning kPEBinning = Binning::Simple(60,0.,600)
 
const Binning kTimeBinning = Binning::Simple(155,-1550.,1550.)
 
const Binning kFlashBinning = Binning::Simple(40,-6.f,34.f)
 
const Cut kNueCC = kIsNue && !kIsNC
 
const Cut kNumuCC = kIsNumu && !kIsNC
 
const Cut kNC = kIsNC
 
const Cut kTotal = kNoCut
 
const Cut kThisCosmic = !kHasNu
 
const Cut kContained = kContainedFD
 
const Cut kRecoCut = kRecoShowerFD
 
const Cut kFullCut = kNueFD
 
const Cut kN1Contained = kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShowerFD
 
const Cut kN1Flash = kContained && kNuePandoraScoreFDCut && kRecoShowerFD
 
const Cut kN1Pandora = kContained && kNueFlashScoreFDCut && kRecoShowerFD
 
const Cut kN1Reco = kContained && kNueFlashScoreFDCut && kNuePandoraScoreFDCut
 
const Cut kN1RecoShower = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut
 
const Cut kN1NumShowers = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut
 
const Cut kN1Dedx = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut
 
const Cut kN1ConvGap = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut
 
const Cut kN1TrkLen = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kShowerDensityCut && kShowerEnergyCut
 
const Cut kN1Density = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerEnergyCut
 
const Cut kN1Energy = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut
 
const SpillCut kNueCCSpill = kIsNueSpill && !kIsNCSpill
 
const SpillCut kNumuCCSpill = kIsNumuSpill && !kIsNCSpill
 
const SpillCut kNCSpill = kIsNCSpill
 
const SpillCut kTotalSpill = kNoSpillCut
 
const SpillCut kThisCosmicSpill = kIsCosmicSpill
 
std::vector< PlotDefplots_slice
 
std::vector< PlotDefSpillplots_spill
 
std::vector< PlotDefMultiVarcrtplots_spill
 
std::vector< SelDeftypes_slice
 
std::vector< SelDefSpilltypes_spill
 
std::vector< SelDefsels_slice
 
std::vector< SelDefSpillsels_spill
 
std::vector< SelDefSpillcrtsels_spill
 

Function Documentation

const SpillCut kContainedSpill ( [] (const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;}  )
const SpillCut kFlashMatchSpillCut ( [] (const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;}  )
const SpillCut kFullSpillCut ( [] (const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;}  )
const SpillCut kNuScoreSpillCut ( [] (const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;}  )
const SpillCut kRecoSpillCut ( [] (const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;}  )

Variable Documentation

Color_t color_cos = kGray+2

Definition at line 25 of file helper_nuesel_icarus.h.

Color_t color_eff = kGreen+2

Definition at line 19 of file helper_nuesel_icarus.h.

Color_t color_nc = kMagenta

Definition at line 23 of file helper_nuesel_icarus.h.

Color_t color_nue = kBlue-7

Definition at line 21 of file helper_nuesel_icarus.h.

Color_t color_numu = kGreen+1

Definition at line 22 of file helper_nuesel_icarus.h.

Color_t color_other = kOrange+8

Definition at line 24 of file helper_nuesel_icarus.h.

Color_t color_pur = kOrange+2

Definition at line 20 of file helper_nuesel_icarus.h.

std::vector<PlotDefMultiVar> crtplots_spill
Initial value:
=
{{"crtx", "CRT Hit Position X (cm)", kCRTXFDBinning, kCRTHitX},
{"crty", "CRT Hit Position Y (cm)", kCRTYFDBinning, kCRTHitY},
{"crtz", "CRT Hit Position Z (cm)", kCRTZFDBinning, kCRTHitZ},
{"crttime", "CRT Hit Time (#mus)", kTimeBinning, kCRTHitTimeFD},
{"crtpe", "CRT PE", kPEBinning, kCRTHitPE}
}
const Binning kCRTXFDBinning
Definition: Binnings.cxx:36
const SpillMultiVar kCRTHitX([](const caf::SRSpillProxy *sr){std::vector< double > positions;for(const auto &hit:sr->crt_hits){positions.push_back(hit.position.x);}return positions;})
Definition: Vars.h:15
const Binning kTimeBinning
const Binning kCRTYFDBinning
Definition: Binnings.cxx:37
const SpillMultiVar kCRTHitTimeFD([](const caf::SRSpillProxy *sr){std::vector< double > times;for(const auto &hit:sr->crt_hits){auto thistime=hit.time-1600.;times.push_back(thistime);}return times;})
Definition: Vars.h:20
const SpillMultiVar kCRTHitPE([](const caf::SRSpillProxy *sr){std::vector< double > pes;for(const auto &hit:sr->crt_hits){pes.push_back(hit.pe);}return pes;})
Definition: Vars.h:18
const SpillMultiVar kCRTHitY([](const caf::SRSpillProxy *sr){std::vector< double > positions;for(const auto &hit:sr->crt_hits){positions.push_back(hit.position.y);}return positions;})
Definition: Vars.h:16
const Binning kPEBinning
const SpillMultiVar kCRTHitZ([](const caf::SRSpillProxy *sr){std::vector< double > positions;for(const auto &hit:sr->crt_hits){positions.push_back(hit.position.z);}return positions;})
Definition: Vars.h:17
const Binning kCRTZFDBinning
Definition: Binnings.cxx:38

Definition at line 216 of file helper_nuesel_icarus.h.

std::vector<SelDefSpill> crtsels_spill
Initial value:
=
{{"nocut_spill", "All Slices", kNoSpillCut, kBlack},
{"crtveto_spill", "CRTVeto", kCRTHitVetoFD, kBlue}
}
const SpillCut kNoSpillCut([](const caf::SRSpillProxy *){return true;})
The simplest possible cut: pass everything, used as a default.
const SpillCut kCRTHitVetoFD([](const caf::SRSpillProxy *sr){for(auto const &crtHit:sr->crt_hits){auto thistime=crtHit.time-1600.;return false;}return true;})

Definition at line 284 of file helper_nuesel_icarus.h.

const Cut kContained = kContainedFD

Definition at line 95 of file helper_nuesel_icarus.h.

const Binning kDedxBinning = Binning::Simple(40,0.,10)

Definition at line 79 of file helper_nuesel_icarus.h.

const Binning kDensityBinning = Binning::Simple(50,0.,10)

Definition at line 81 of file helper_nuesel_icarus.h.

const Binning kEnergyBinning = Binning::Simple(40,0.,3.)

Definition at line 78 of file helper_nuesel_icarus.h.

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

Definition at line 86 of file helper_nuesel_icarus.h.

const Cut kFullCut = kNueFD

Definition at line 97 of file helper_nuesel_icarus.h.

const Binning kGapBinning = Binning::Simple(40,0.,10)

Definition at line 80 of file helper_nuesel_icarus.h.

const Binning kLengthBinning = Binning::Simple(40,0.,200)

Definition at line 83 of file helper_nuesel_icarus.h.

const Cut kN1Contained = kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShowerFD

Definition at line 101 of file helper_nuesel_icarus.h.

const Cut kN1ConvGap = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut

Definition at line 108 of file helper_nuesel_icarus.h.

const Cut kN1Dedx = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut

Definition at line 107 of file helper_nuesel_icarus.h.

const Cut kN1Density = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerEnergyCut

Definition at line 110 of file helper_nuesel_icarus.h.

const Cut kN1Energy = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut

Definition at line 111 of file helper_nuesel_icarus.h.

const Cut kN1Flash = kContained && kNuePandoraScoreFDCut && kRecoShowerFD

Definition at line 102 of file helper_nuesel_icarus.h.

const Cut kN1NumShowers = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut

Definition at line 106 of file helper_nuesel_icarus.h.

const Cut kN1Pandora = kContained && kNueFlashScoreFDCut && kRecoShowerFD

Definition at line 103 of file helper_nuesel_icarus.h.

const Cut kN1Reco = kContained && kNueFlashScoreFDCut && kNuePandoraScoreFDCut

Definition at line 104 of file helper_nuesel_icarus.h.

const Cut kN1RecoShower = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kNueTrackLenCut && kShowerDensityCut && kShowerEnergyCut

Definition at line 105 of file helper_nuesel_icarus.h.

const Cut kN1TrkLen = kContainedFD && kNueFlashScoreFDCut && kNuePandoraScoreFDCut && kRecoShower && kNueNumShowersCut && kShowerdEdxCut && kShowerConvGapCut && kShowerDensityCut && kShowerEnergyCut

Definition at line 109 of file helper_nuesel_icarus.h.

const Cut kNC = kIsNC

Definition at line 90 of file helper_nuesel_icarus.h.

const SpillCut kNCSpill = kIsNCSpill

Definition at line 115 of file helper_nuesel_icarus.h.

const Cut kNueCC = kIsNue && !kIsNC

Definition at line 88 of file helper_nuesel_icarus.h.

const SpillCut kNueCCSpill = kIsNueSpill && !kIsNCSpill

Definition at line 113 of file helper_nuesel_icarus.h.

const Cut kNumuCC = kIsNumu && !kIsNC

Definition at line 89 of file helper_nuesel_icarus.h.

const SpillCut kNumuCCSpill = kIsNumuSpill && !kIsNCSpill

Definition at line 114 of file helper_nuesel_icarus.h.

const Binning kOpenAngleBinning = Binning::Simple(60,0.,1.5)

Definition at line 82 of file helper_nuesel_icarus.h.

const Binning kPEBinning = Binning::Simple(60,0.,600)

Definition at line 84 of file helper_nuesel_icarus.h.

const Cut kRecoCut = kRecoShowerFD

Definition at line 96 of file helper_nuesel_icarus.h.

const Cut kThisCosmic = !kHasNu

Definition at line 92 of file helper_nuesel_icarus.h.

const SpillCut kThisCosmicSpill = kIsCosmicSpill

Definition at line 117 of file helper_nuesel_icarus.h.

const Binning kTimeBinning = Binning::Simple(155,-1550.,1550.)

Definition at line 85 of file helper_nuesel_icarus.h.

const Cut kTotal = kNoCut

Definition at line 91 of file helper_nuesel_icarus.h.

const SpillCut kTotalSpill = kNoSpillCut

Definition at line 116 of file helper_nuesel_icarus.h.

const int limitN1 = 13

Definition at line 32 of file helper_nuesel_icarus.h.

Style_t line_cos = kSolid

Definition at line 30 of file helper_nuesel_icarus.h.

Style_t line_nc = kDashed

Definition at line 28 of file helper_nuesel_icarus.h.

Style_t line_nue = kSolid

Definition at line 26 of file helper_nuesel_icarus.h.

Style_t line_numu = kSolid

Definition at line 27 of file helper_nuesel_icarus.h.

Style_t line_other = kDotted

Definition at line 29 of file helper_nuesel_icarus.h.

std::vector<PlotDef> plots_slice
Initial value:
=
{{"count", "Number of slices", Binning::Simple(3,0,3), kCounting},
{"openangle", "Opening angle", kOpenAngleBinning, kRecoShower_OpenAngle},
{"startx", "Shower start position X (cm)", kPositionXFDBinning, kRecoShower_StartX},
{"starty", "Shower start position Y (cm)", kPositionYFDBinning, kRecoShower_StartY},
{"startz", "Shower start position Z (cm)", kPositionZFDBinning, kRecoShower_StartZ},
{"endx", "Shower end position X (cm)", kPositionXFDBinning, kRecoShower_EndX},
{"endy", "Shower end position Y (cm)", kPositionYFDBinning, kRecoShower_EndY},
{"endz", "Shower end position Z (cm)", kPositionZFDBinning, kRecoShower_EndZ},
{"vtxx", "Slice vertex X (cm)", kPositionXFDBinning, kSlcVtxX},
{"vtxy", "Slice vertes Y (cm)", kPositionYFDBinning, kSlcVtxY},
{"vtxz", "Slice vertex Z (cm)", kPositionZFDBinning, kSlcVtxZ},
{"conversion", "Conversion gap (cm)", kGapBinning, kRecoShower_ConversionGap},
{"bestdedx", "Best plane dEdx (MeV)", kDedxBinning, kRecoShower_BestdEdx},
{"bestenergy", "Best plane energy (MeV)", kEnergyBinning, kRecoShower_BestEnergy},
{"density", "Shower density (MeV/cm)", kDensityBinning, kRecoShower_Density},
{"energy", "Shower energy (MeV)", kNueEnergyBinning, kRecoShower_Energy},
{"lengthshw", "Shower length (cm)", kLengthBinning, kRecoShower_Length},
{"lengthtrk", "Track length (cm)", kLengthBinning, kLongestTrackLength},
{"nuscore", "Pandora #nu score", kBDTBinning, kSlcNuScore},
{"flashscore", "Flash score", kFlashBinning, kSlcFlashScore},
{"truthenergy","True #nu energy (GeV)", kLowEnergyGeVBinning, kTruthEnergy},
}
const Binning kLengthBinning
tuple kTruthEnergy
Definition: demo.py:9
const Var kRecoShower_EndX([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.x+shw->dir.x *shw->len):-9999.;})
Definition: NueVars.h:20
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 Binning kEnergyBinning
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 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 Binning kOpenAngleBinning
const Binning kBDTBinning
const Binning kLowEnergyGeVBinning
Definition: Binnings.cxx:26
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 kPositionXFDBinning
Definition: Binnings.cxx:32
const Var kRecoShower_EndY([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.y+shw->dir.y *shw->len):-9999.;})
Definition: NueVars.h:21
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_Energy([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->plane[1].energy):-5.;})
Definition: NueVars.h:14
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 Binning kPositionYFDBinning
Definition: Binnings.cxx:33
const Binning kNueEnergyBinning
Definition: Binnings.cxx:22
const Binning kDedxBinning
const Var kSlcVtxX([](const caf::SRSliceProxy *slc) -> double{return slc->slc.vertex.x;})
const Binning kPositionZFDBinning
Definition: Binnings.cxx:34
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 Binning kGapBinning
const Var kCounting
Definition: Vars.cxx:19
const Binning kFlashBinning
const Var kRecoShower_EndZ([](const caf::SRSliceProxy *slc) -> double{const caf::SRShowerProxy *shw=LargestRecoShower(slc);return shw?double(shw->start.z+shw->dir.z *shw->len):-9999.;})
Definition: NueVars.h:22
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 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 186 of file helper_nuesel_icarus.h.

std::vector<PlotDefSpill> plots_spill
Initial value:
=
{{"count", "Number of spills", Binning::Simple(3,0,3), kSpillCounting},
{ "nuenergy", "True Neutrino Energy (GeV)", kLowEnergyGeVBinning, kTruthNuEnergy },
{ "leptonenergy", "True Lepton Energy (GeV)", kLowEnergyGeVBinning, kTruthLeptonEnergy }
}
const Binning kLowEnergyGeVBinning
Definition: Binnings.cxx:26
const SpillVar kTruthNuEnergy([](const caf::SRSpillProxy *sr) -> double{return(sr->mc.nnu!=1?-5.f:(float) sr->mc.nu[0].E);})
Definition: TruthVars.h:22
const SpillVar kSpillCounting
Definition: Vars.cxx:20
const SpillVar kTruthLeptonEnergy([](const caf::SRSpillProxy *sr) -> double{if(sr->mc.nnu!=1) return-5.f;for(auto const &prim:sr->mc.nu[0].prim){if(std::abs(prim.pdg)!=11 &&std::abs(prim.pdg)!=13) continue;return prim.startE;}return-5.f;})
Definition: TruthVars.h:23

Definition at line 210 of file helper_nuesel_icarus.h.

std::vector<SelDef> sels_slice
Initial value:
={
{"nocut", "No cut", kNoCut, kBlack},
{"cont", "Containment", kContained, kBlack},
{"flash", "Flash score", kSlcFlashMatchCut, kBlack},
{"pandnu", "Neutrino score", kSlcNuScoreCut, kBlack},
{"recoshw", "Reconstructed shower", kRecoShower, kBlack},
{"nshws", "Number of showers", kNueNumShowersCut, kBlack},
{"dedx", "Shower dE/dx", kShowerdEdxCut, kBlack},
{"convgap", "Conversion gap", kShowerConvGapCut, kBlack},
{"trklen", "Track lenght", kNueTrackLenCut, kBlack},
{"density", "Shower density", kShowerDensityCut, kBlack},
{"energy", "Shower energy", kShowerEnergyCut, kBlack},
{"recocut", "Reconstruction (all)", kRecoCut, kBlack},
{"everything", "Full selection", kFullCut, kBlack},
{"N1cont", "N1 Containment", kN1Contained, kBlack},
{"N1flash", "N1 Flash score", kN1Flash, kBlack},
{"N1pandnu", "N1 Neutrino score", kN1Pandora, kBlack},
{"N1recoshw", "N1 Reconstructed shower", kN1RecoShower, kBlack},
{"N1nshws", "N1 Number of showers", kN1NumShowers, kBlack},
{"N1dedx", "N1 Shower dE/dx", kN1Dedx, kBlack},
{"N1convgap", "N1 Conversion gap", kN1ConvGap, kBlack},
{"N1trklen", "N1 Track length", kN1TrkLen, kBlack},
{"N1density", "N1 Shower density", kN1Density, kBlack},
{"N1energy", "N1 Shower energy", kN1Energy, kBlack},
{"N1recocut", "N1 Reconstruction (all)", kN1Reco, kBlack}
}
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 kNoCut([](const caf::SRSliceProxy *){return true;})
The simplest possible cut: pass everything, used as a default.
const Cut kN1Reco
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 kShowerEnergyCut([](const caf::SRSliceProxy *slc){const int largestShwIdx(kLargestRecoShowerIdx(slc));return false;return(slc->reco.shw[largestShwIdx].bestplane_energy > 0.2f);})
Definition: NueCuts.h:20
const Cut kN1ConvGap
const Cut kN1Flash
const Cut kFullCut
const Cut kN1RecoShower
const Cut kN1Pandora
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 kN1TrkLen
const Cut kN1Energy
const Cut kContained
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 kRecoShower([](const caf::SRSliceProxy *slc){const int largestShwIdx(kLargestRecoShowerIdx(slc));return false;return(slc->reco.shw[largestShwIdx].bestplane_energy > 0.f &&slc->reco.shw[largestShwIdx].bestplane_dEdx > 0.f &&slc->reco.shw[largestShwIdx].conversion_gap > 0.f);})
Definition: NueCuts.h:8
const Cut kN1Contained
const Cut kN1NumShowers
const Cut kRecoCut
const Cut kN1Density
const Cut kNueNumShowersCut([](const caf::SRSliceProxy *slc){return((unsigned int) kRecoShowers_EnergyCut(slc)==1);})
Definition: NueCuts.h:18
const Cut kN1Dedx

Definition at line 246 of file helper_nuesel_icarus.h.

std::vector<SelDefSpill> sels_spill
Initial value:
={
{"nospillcut", "No spill cut", kNoSpillCut, kBlack},
{"contspill", "Containment spill", kContainedSpill, kBlack},
{"flashspill", "Flash score spill", kFlashMatchSpillCut, kBlack},
{"pandnuspill", "Neutrino score spill", kNuScoreSpillCut, kBlack},
{"recocutspill", "Reconstruction (all) spill", kRecoSpillCut, kBlack},
{"everythingspill", "Full selection spill", kFullSpillCut, kBlack}
}
const SpillCut kNuScoreSpillCut([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
const SpillCut kRecoSpillCut([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
const SpillCut kContainedSpill([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
const SpillCut kNoSpillCut([](const caf::SRSpillProxy *){return true;})
The simplest possible cut: pass everything, used as a default.
const SpillCut kFullSpillCut([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})
const SpillCut kFlashMatchSpillCut([](const caf::SRSpillProxy *sr){unsigned int counter(0);for(auto const &slc:sr->slc){continue;++counter;}return counter;})

Definition at line 275 of file helper_nuesel_icarus.h.

std::vector<SelDef> types_slice
Initial value:
=
{
{"nue", "NuE CC", kSlcIsRecoNu&&kNueCC, color_nue},
{"numu", "NuMu CC", kSlcIsRecoNu&&kNumuCC, color_numu},
{"nunc", "NC", kSlcIsRecoNu&&kNC, color_nc},
{"total", "Total", kSlcIsRecoNu, color_other},
{"cosmic", "Cosmic", kSlcIsRecoNu&&kThisCosmic, color_cos}
}
Color_t color_cos
Color_t color_nc
const Cut kSlcIsRecoNu([](const caf::SRSliceProxy *slc){return!slc->is_clear_cosmic;})
Color_t color_numu
const Cut kNumuCC
Neutral-current interactions.
Definition: IPrediction.h:39
const Cut kNueCC
const Cut kThisCosmic
Color_t color_other
Color_t color_nue

Definition at line 226 of file helper_nuesel_icarus.h.

std::vector<SelDefSpill> types_spill
Initial value:
=
{
{"nue", "NuE CC", kNueCCSpill, color_nue},
{"numu", "NuMu CC", kNumuCCSpill, color_numu},
{"nunc", "NC", kNCSpill, color_nc},
{"total", "Total", kTotalSpill, color_other},
{"cosmic", "Cosmic", kThisCosmicSpill, color_cos}
}
Color_t color_cos
Color_t color_nc
const SpillCut kNueCCSpill
const SpillCut kNCSpill
const SpillCut kThisCosmicSpill
const SpillCut kTotalSpill
Color_t color_numu
const SpillCut kNumuCCSpill
Color_t color_other
Color_t color_nue

Definition at line 235 of file helper_nuesel_icarus.h.