BeamCuts.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/Cut.h"
5 
6 namespace ana {
7 
8  extern const Cut kBeamNoCut;
9 
10 //----------- Direct Parent cuts , mostly used for decomp study----------------
11  extern const Cut kParentIsPion;
12  extern const Cut kParentIsKaon;
13  extern const Cut kParentIsMuon;
14  extern const Cut kParentIsKaL;
15 //--------- NT Cuts
19 
20 //-------- Ancestor Cuts ---------------------
21 
22  extern const Cut kIsFromKaon0;
23  extern const Cut kIsFromKaonP;
24  extern const Cut kIsFromKaonM;
25  extern const Cut kIsFromPionP;
26  extern const Cut kIsFromPionM;
27 
28 //-------- Kaon ancestor cuts
29 
30  extern const Cut kIsAllFromKaons; //kalong kashort ka0 and kion +-
32 
33 //Pion ancestor cuts------------------
34 
35  extern const Cut kIsAllFromPions;
36  extern const Cut kIsAllFromPionsRHC;
37 
39 
40 //Proton ancestor cuts-----------------
41 
42  extern const Cut kIsAllFromProtons;
43 
45 
46 //Rare Muon ancestor--------------------
47  extern const Cut kIsAllFromMuons;
49 //debug
50 
51  extern const Cut kIsAllOther;
52  extern const NuTruthCut kIsAllOther_NT;
53 
54 //More constrains on both ancestor and parent type----------------------------
55 
56  const Cut kIsAllFromPiMuDK = kIsAllFromPions && kParentIsMuon; // for nue from all pions
57 
58 }
const NuTruthCut kIsAllFromKaons_NT([](const caf::SRNeutrinoProxy *sr){return((abs(sr->beam.tptype)==310)||(abs(sr->beam.tptype)==130)|| (abs(sr->beam.tptype)==311)|| (abs(sr->beam.tptype)==321));})
Definition: BeamCuts.h:31
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Cut kIsFromPionP([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(sr->mc.nu[0].beam.tptype==211);})
Definition: BeamCuts.h:25
const Cut kIsAllOther([](const caf::SRProxy *sr){if(kIsAllFromMuons(sr)) return false;if(kIsAllFromPions(sr)) return false;if(kIsAllFromKaons(sr)) return false;if(kIsAllFromProtons(sr)) return false;return true;})
Definition: BeamCuts.h:51
const Cut kParentIsKaon([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.ptype)==321);})
Definition: BeamCuts.h:12
const Cut kIsAllFromProtons([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.tptype)==2212||sr->mc.nu[0].beam.tptype==0);})
Definition: BeamCuts.h:42
const NuTruthCut kIsAllFromMuons_NT([](const caf::SRNeutrinoProxy *sr){return(abs(sr->beam.tptype)==13);})
Definition: BeamCuts.h:48
const Cut kIsAllFromPionsRHC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return( (sr->mc.nu[0].beam.ndecay==12|| sr->mc.nu[0].beam.ndecay==14)&& ((sr->mc.nu[0].beam.tptype==-211)|| (abs(sr->mc.nu[0].beam.tptype)==3122)|| (abs(sr->mc.nu[0].beam.tptype)==3222)|| (abs(sr->mc.nu[0].beam.tptype)==3112)|| (abs(sr->mc.nu[0].beam.tptype)==3212)) );})
Definition: BeamCuts.h:36
const Cut kIsFromPionM([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(sr->mc.nu[0].beam.tptype==-211);})
Definition: BeamCuts.h:26
const NuTruthCut kIsAllFromProtons_NT([](const caf::SRNeutrinoProxy *sr){return(abs(sr->beam.tptype)==2212||(sr->beam.tptype==0));})
Definition: BeamCuts.h:44
const Cut kParentIsKaL([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.ptype)==130);})
Definition: BeamCuts.h:14
const Cut kIsFromKaon0([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.tptype)==311);})
Definition: BeamCuts.h:22
const Cut kIsAllFromMuons([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.tptype)==13);})
Definition: BeamCuts.h:47
const NuTruthCut kIsAllFromPions_NT([](const caf::SRNeutrinoProxy *sr){return( (abs(sr->beam.tptype)==211)|| (abs(sr->beam.tptype)==3122)|| (abs(sr->beam.tptype)==3222)||(abs(sr->beam.tptype)==3112)||(abs(sr->beam.tptype)==3212) );})
Definition: BeamCuts.h:38
const NuTruthCut kParentIsKaon_NT([](const caf::SRNeutrinoProxy *sr){return(abs(sr->beam.ptype)==321);})
Definition: BeamCuts.h:17
const NuTruthCut kParentIsMuon_NT([](const caf::SRNeutrinoProxy *sr){return(abs(sr->beam.ptype)==13);})
Definition: BeamCuts.h:18
const Cut kParentIsPion([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.ptype)==211);})
Definition: BeamCuts.h:11
const Cut kIsAllFromPions([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return( (sr->mc.nu[0].beam.ndecay==11|| sr->mc.nu[0].beam.ndecay==12|| sr->mc.nu[0].beam.ndecay==13|| sr->mc.nu[0].beam.ndecay==14)&& ((abs(sr->mc.nu[0].beam.tptype)==211)|| (abs(sr->mc.nu[0].beam.tptype)==3122)|| (abs(sr->mc.nu[0].beam.tptype)==3222)|| (abs(sr->mc.nu[0].beam.tptype)==3112)|| (abs(sr->mc.nu[0].beam.tptype)==3212)) );})
Definition: BeamCuts.h:35
const Cut kIsFromKaonP([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(sr->mc.nu[0].beam.tptype==321);})
Definition: BeamCuts.h:23
const Cut kBeamNoCut([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return true;})
Definition: BeamCuts.h:8
const Cut kIsFromKaonM([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(sr->mc.nu[0].beam.tptype==-321);})
Definition: BeamCuts.h:24
const Cut kIsAllFromPiMuDK
Definition: BeamCuts.h:56
const Cut kParentIsMuon([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return(abs(sr->mc.nu[0].beam.ptype)==13);})
Definition: BeamCuts.h:13
const Cut kIsAllFromKaons([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return( (abs(sr->mc.nu[0].beam.tptype)==310)|| (abs(sr->mc.nu[0].beam.tptype)==130)|| (abs(sr->mc.nu[0].beam.tptype)==311)|| (abs(sr->mc.nu[0].beam.tptype)==321));})
Definition: BeamCuts.h:30
const NuTruthCut kParentIsPion_NT([](const caf::SRNeutrinoProxy *sr){return(abs(sr->beam.ptype)==211);})
Definition: BeamCuts.h:16
const NuTruthCut kIsAllOther_NT([](const caf::SRNeutrinoProxy *sr){if(kIsAllFromMuons_NT(sr)) return false;if(kIsAllFromPions_NT(sr)) return false;if(kIsAllFromKaons_NT(sr)) return false;if(kIsAllFromProtons_NT(sr)) return false;return true;})
Definition: BeamCuts.h:52