LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MCNeutrino.h
Go to the documentation of this file.
1 #ifndef SIMB_MCNEUTRINO_H
9 #define SIMB_MCNEUTRINO_H
10 
12 
13 namespace simb {
14 
15  //......................................................................
16 
18  class MCNeutrino {
19  public:
20 
21  MCNeutrino();
22 
23  private:
24 
27  int fMode;
29  int fCCNC;
30  int fTarget;
31  int fHitNuc;
32  int fHitQuark;
33  double fW;
34  double fX;
35  double fY;
36  double fQSqr;
37 
38  public:
39 
41  simb::MCParticle &lep,
42  int CCNC,
43  int mode,
44  int interactionType,
45  int target,
46  int nucleon,
47  int quark,
48  double w,
49  double x,
50  double y,
51  double qsqr);
52 
53  const simb::MCParticle& Nu() const;
54  const simb::MCParticle& Lepton() const;
55  int CCNC() const;
56  int Mode() const;
57  int InteractionType() const;
58  int Target() const;
59  int HitNuc() const;
60  int HitQuark() const;
61  double W() const;
62  double X() const;
63  double Y() const;
64  double QSqr() const;
65  double Pt() const;
66  double Theta() const;
67  friend std::ostream& operator<< (std::ostream& output, const simb::MCNeutrino &mcnu);
68  };
69 }
70 
71 namespace simb{
73  enum curr_type_{
74  kCC,
76  };
77 
79  enum int_type_{
81  kQE = 0,
82  kRes = 1,
83  kDIS = 2,
84  kCoh = 3,
91  kMEC = 10,
93  kEM = 12,
94  kWeakMix = 13,
95  kNuanceOffset = 1000,
143  };
144 }
145 
146 inline const simb::MCParticle& simb::MCNeutrino::Nu() const { return fNu; }
147 inline const simb::MCParticle& simb::MCNeutrino::Lepton() const { return fLepton; }
148 inline int simb::MCNeutrino::CCNC() const { return fCCNC; }
149 inline int simb::MCNeutrino::Mode() const { return fMode; }
151 inline int simb::MCNeutrino::Target() const { return fTarget; }
152 inline int simb::MCNeutrino::HitNuc() const { return fHitNuc; }
153 inline int simb::MCNeutrino::HitQuark() const { return fHitQuark; }
154 inline double simb::MCNeutrino::W() const { return fW; }
155 inline double simb::MCNeutrino::X() const { return fX; }
156 inline double simb::MCNeutrino::Y() const { return fY; }
157 inline double simb::MCNeutrino::QSqr() const { return fQSqr; }
158 
159 #endif //SIMB_MCNEUTRINO_H
160 
Float_t x
Definition: compare.C:6
neutral current quasi-elastic
Definition: MCNeutrino.h:97
resonant charged current, nubar p -> nubar n pi+
Definition: MCNeutrino.h:109
int CCNC() const
Definition: MCNeutrino.h:148
double QSqr() const
Definition: MCNeutrino.h:157
double Theta() const
angle between incoming and outgoing leptons, in radians
Definition: MCNeutrino.cxx:63
double fX
Bjorken x=Q^2/(2M*(E_neutrino-E_lepton)), unitless.
Definition: MCNeutrino.h:34
resonant neutral current, nu p -> nu p pi0
Definition: MCNeutrino.h:101
charged current deep inelastic scatter
Definition: MCNeutrino.h:134
resonant charged current, nubar p -> l+ p pi-
Definition: MCNeutrino.h:107
int fTarget
Nuclear target, as PDG code.
Definition: MCNeutrino.h:30
int HitQuark() const
Definition: MCNeutrino.h:153
neutrino electron elastic scatter
Definition: MCNeutrino.h:140
Float_t y
Definition: compare.C:6
const simb::MCParticle & Nu() const
Definition: MCNeutrino.h:146
resonant charged current, nubar p -> l+ n pi0
Definition: MCNeutrino.h:106
int fHitNuc
Hit nucleon (2212 (proton) or 2112 (neutron))
Definition: MCNeutrino.h:31
double Pt() const
transverse momentum of interaction, in GeV/c
Definition: MCNeutrino.cxx:74
int HitNuc() const
Definition: MCNeutrino.h:152
offset to account for adding in Nuance codes to this enum
Definition: MCNeutrino.h:95
charged current quasi-elastic
Definition: MCNeutrino.h:96
Particle class.
double fQSqr
Momentum transfer Q^2, in GeV^2.
Definition: MCNeutrino.h:36
resonant charged current, nubar p -> nubar p pi0
Definition: MCNeutrino.h:108
simb::MCParticle fNu
the incoming neutrino
Definition: MCNeutrino.h:25
resonant charged current, nu n -> l- p pi0
Definition: MCNeutrino.h:99
int InteractionType() const
Definition: MCNeutrino.h:150
simb::MCParticle fLepton
the outgoing lepton
Definition: MCNeutrino.h:26
const simb::MCParticle & Lepton() const
Definition: MCNeutrino.h:147
resonant neutral current, nu n -> nu n pi0
Definition: MCNeutrino.h:103
double W() const
Definition: MCNeutrino.h:154
resonant charged current, nu n -> l- n pi+
Definition: MCNeutrino.h:100
extension of nuance encoding for MEC / 2p2h
Definition: MCNeutrino.h:142
double Y() const
Definition: MCNeutrino.h:156
int fMode
Interaction mode (QE/1-pi/DIS...) see enum list.
Definition: MCNeutrino.h:27
resonant charged current, nubar n -> nubar p pi-
Definition: MCNeutrino.h:111
double fW
Hadronic invariant mass, in GeV.
Definition: MCNeutrino.h:33
int fCCNC
CC or NC interaction? see enum list.
Definition: MCNeutrino.h:29
double X() const
Definition: MCNeutrino.h:155
ART objects.
charged current deep inelastic scatter
Definition: MCNeutrino.h:133
resonant charged current, nu p -> l- p pi+
Definition: MCNeutrino.h:98
friend std::ostream & operator<<(std::ostream &output, const simb::MCNeutrino &mcnu)
Definition: MCNeutrino.cxx:80
n.b.: this group is similar but not quite, entirely unlike GENIE ScatteringType convention ...
Definition: MCNeutrino.h:80
int Target() const
Definition: MCNeutrino.h:151
charged current coherent pion
Definition: MCNeutrino.h:139
resonant neutral current, nu n -> nu p pi-
Definition: MCNeutrino.h:104
double fY
Inelasticity y=1-(E_lepton/E_neutrino), unitless.
Definition: MCNeutrino.h:35
inverse muon decay
Definition: MCNeutrino.h:141
int_type_
Neutrino interaction categories.
Definition: MCNeutrino.h:79
resonant charged current, nubar n -> l+ n pi-
Definition: MCNeutrino.h:105
cout<< "-> Edep in the target
Definition: analysis.C:53
resonant charged current, nubar n -> nubar n pi0
Definition: MCNeutrino.h:110
int fHitQuark
For DIS events only, as PDG code.
Definition: MCNeutrino.h:32
curr_type_
Neutrino interaction categories.
Definition: MCNeutrino.h:73
Event generator information.
Definition: MCNeutrino.h:18
Float_t w
Definition: plot.C:20
int Mode() const
Definition: MCNeutrino.h:149
resonant neutral current, nu p -> nu p pi+
Definition: MCNeutrino.h:102
int fInteractionType
More detailed interaction type, see enum list below kNuanceOffset.
Definition: MCNeutrino.h:28