InteractionType.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // \file Interaction.h
3 ///\brief Defines an enumeration for interaction type
4 ///
5 // \author radovic -- a.radovic@gmail.com
6 // Saul Alonso Monsalve -- saul.alonso.monsalve@cern.ch
7 ////////////////////////////////////////////////////////////////////////
8 #ifndef CVN_INTERACTION_H
9 #define CVN_INTERACTION_H
10 
11 #include "dune/CVN/func/PixelMap.h"
12 
13 namespace cvn
14 {
15 
16  typedef enum Interaction
17  {
18  kNumuQE, ///< Numu CC QE interaction
19  kNumuRes, ///< Numu CC Resonant interaction
20  kNumuDIS, ///< Numu CC DIS interaction
21  kNumuOther, ///< Numu CC, other than above
22  kNueQE, ///< Nue CC QE interaction
23  kNueRes, ///< Nue CC Resonant interaction
24  kNueDIS, ///< Nue CC DIS interaction
25  kNueOther, ///< Nue CC, other than above
26  kNutauQE, ///< Nutau CC QE interaction
27  kNutauRes, ///< Nutau CC Resonant interaction
28  kNutauDIS, ///< Nutau CC DIS interaction
29  kNutauOther, ///< Nutau CC, other than above
30  kNuElectronElastic,///< NC Nu On E Scattering
31  kNC, ///< NC interaction
32  kCosmic, ///< Cosmic ray background
33  kOther, ///< Something else. Tau? Hopefully we don't use this
34  kNIntType ///< Number of interaction types, used like a vector size
36 
37  /// Enumeration to describe the order of the TF network output
38  typedef enum TFResult
39  {
40  kTFNumuQE, ///< Numu CC QE interaction
41  kTFNumuRes, ///< Numu CC Resonant interaction
42  kTFNumuDIS, ///< Numu CC DIS interaction
43  kTFNumuOther, ///< Numu CC, other than above
44  kTFNueQE, ///< Nue CC QE interaction
45  kTFNueRes, ///< Nue CC Resonant interaction
46  kTFNueDIS, ///< Nue CC DIS interaction
47  kTFNueOther, ///< Nue CC, other than above
48  kTFNutauQE, ///< Nutau CC QE interaction
49  kTFNutauRes, ///< Nutau CC Resonant interaction
50  kTFNutauDIS, ///< Nutau CC DIS interaction
51  kTFNutauOther, ///< Nutau CC, other than above
52  kTFNC ///< NC interaction
53  } TFResultType;
54 
55  // Enumeration to describe the different outputs of the TF multioutput network
56  typedef enum TFMultioutputs
57  {
66 
67  // Enumeration to describe the is_antineutrino-reduced TF multioutput network
68  typedef enum TFIsAntineutrino
69  {
73 
74  // Enumeration to describe the flavour-reduced TF multioutput network
75  typedef enum TFFlavour
76  {
81  } TFFlavourType;
82 
83  // Enumeration to describe the interaction-reduced TF multioutput network
84  typedef enum TFInteraction
85  {
91 
92  // Enumeration to describe the protons (topology information) TF multioutput network
93  typedef enum TFTopologyProtons
94  {
100 
101  // Enumeration to describe the pions (topology information) TF multioutput network
102  typedef enum TFTopologyPions
103  {
109 
110  // Enumeration to describe the pizeros (topology information) TF multioutput network
111  typedef enum TFTopologyPizeros
112  {
118 
119  // Enumeration to describe the neutrons (topology information) TF multioutput network
120  typedef enum TFTopologyNeutrons
121  {
127 
128  // // It might be a good idea to consider topology information.
129  // // We should use base two here so we can & and | results.
130  // typedef enum Topology
131  // {
132  // kTopUnset = 0x000000,
133  // // Flavours
134  // kTopNumu = 0x000001,
135  // kTopNue = 0x000002,
136  // kTopNutau = 0x000004,
137  // kTopNC = 0x000008,
138  // // Topologies - protons
139  // kTop0proton = 0x000010,
140  // kTop1proton = 0x000020,
141  // kTop2proton = 0x000040,
142  // kTopNproton = 0x000080,
143  // // Topologies - pions
144  // kTop0pion = 0x000100,
145  // kTop1pion = 0x000200,
146  // kTop2pion = 0x000400,
147  // kTopNpion = 0x000800,
148  // // Topologies - pizeros
149  // kTop0pizero = 0x001000,
150  // kTop1pizero = 0x002000,
151  // kTop2pizero = 0x004000,
152  // kTopNpizero = 0x008000,
153  // // Topologies - neutrons
154  // kTop0neutron = 0x010000,
155  // kTop1neutron = 0x020000,
156  // kTop2neutron = 0x040000,
157  // kTopNneutron = 0x080000,
158  // // Topologies - tau
159  // kTopNotTau = 0x100000,
160  // kTopTauHad = 0x200000,
161  // kTopTauE = 0x400000,
162  // kTopTauMu = 0x800000,
163 
164  // // Antineutrino
165  // kTopIsAntiNeutrino = 0x1000000
166 
167  // } TopologyType;
168 
169  // typedef enum sign {
170  // kNeutrino,
171  // kAntineutrino
172  // } Sign;
173 
174  typedef enum tau_type {
179  } TauType;
180 
181  typedef enum topology_type {
188  } TopologyType;
189 
190  typedef enum topology_type_alt {
195  } TopologyTypeAlt;
196 
197 }
198 
199 #endif // CVN_INTERACTIONTYPE_H
NC interaction.
Nue CC QE interaction.
Nue CC DIS interaction.
enum cvn::TFInteraction TFInteractionType
enum cvn::TFResult TFResultType
Enumeration to describe the order of the TF network output.
enum cvn::TFFlavour TFFlavourType
Numu CC QE interaction.
Nutau CC Resonant interaction.
enum cvn::TFMultioutputs TFMultioutputsType
NC Nu On E Scattering.
Nutau CC, other than above.
Nutau CC DIS interaction.
Nue CC, other than above.
Numu CC Resonant interaction.
TFTopologyNeutrons
Nutau CC Resonant interaction.
TFResult
Enumeration to describe the order of the TF network output.
enum cvn::Interaction InteractionType
PixelMap for CVN.
Utility class for truth labels.
enum cvn::TFTopologyProtons TFTopologyProtonsType
Nue CC DIS interaction.
Cosmic ray background.
Numu CC, other than above.
Nue CC Resonant interaction.
Nue CC, other than above.
NC interaction.
enum cvn::topology_type TopologyType
enum cvn::TFTopologyNeutrons TFTopologyNeutronsType
TFIsAntineutrino
Nue CC QE interaction.
enum cvn::tau_type TauType
TFMultioutputs
Numu CC Resonant interaction.
Number of interaction types, used like a vector size.
enum cvn::topology_type_alt TopologyTypeAlt
TFTopologyProtons
Nutau CC DIS interaction.
Something else. Tau? Hopefully we don&#39;t use this.
Numu CC QE interaction.
Nutau CC QE interaction.
enum cvn::TFIsAntineutrino TFIsAntineutrinoType
Numu CC, other than above.
Numu CC DIS interaction.
Nutau CC QE interaction.
topology_type_alt
Nutau CC, other than above.
Nue CC Resonant interaction.
TFTopologyPizeros
enum cvn::TFTopologyPions TFTopologyPionsType
enum cvn::TFTopologyPizeros TFTopologyPizerosType
Numu CC DIS interaction.