All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MeVPrtlTruth.h
Go to the documentation of this file.
1 #ifndef _MeVPrtlTruth_HH_
2 #define _MeVPrtlTruth_HH_
3 
4 #include "TLorentzVector.h"
5 #include "MeVPrtlDecay.h"
6 #include "MeVPrtlFlux.h"
7 #include <array>
8 
9 namespace evgen {
10 namespace ldm {
11 
12 enum Generator {
15  kHNL=1
16 };
17 
18 class MeVPrtlTruth {
19 public:
20  TLorentzVector kaon_dmom;
21  TLorentzVector kaon_dmom_beamcoord;
22  TLorentzVector kaon_dpos_beamcoord;
23  int kaon_pdg;
24  TLorentzVector mevprtl_mom_beamcoord;
25  TLorentzVector mevprtl_mom;
26  TLorentzVector mevprtl_start;
27  double equiv_enu;
28  TVector3 mevprtl_enter;
29  TVector3 mevprtl_exit;
30  TLorentzVector decay_pos;
31 
32  // TODO: fix
33  // By default there is no vector<TLorentzVector> dictionary
34  // available in art. I don't want to build this myself,
35  // so don't use it as a workaround
36  std::vector<TVector3> daughter_mom;
37  std::vector<double> daughter_e;
38  std::vector<int> daughter_pdg;
39  double pot;
40  double flux_weight;
41  double ray_weight;
42  double decay_weight;
43 
44  double mass;
45  double C1;
46  double C2;
47  double C3;
48  double C4;
49  double C5;
50 
51  double decay_width;
52  double mean_lifetime;
53  double mean_distance;
54 
56 
57  MeVPrtlTruth(const MeVPrtlFlux &flux, const MeVPrtlDecay &decay, std::array<TVector3, 2> inout, double flux_weight, double ray_weight, double decay_weight, double pot);
58  MeVPrtlTruth() {} // Default initialize
59 };
60 
61 } // end namespace ldm
62 
63 } // end namespace evgen
64 
65 #endif
TLorentzVector decay_pos
Definition: MeVPrtlTruth.h:30
std::vector< double > daughter_e
Definition: MeVPrtlTruth.h:37
TLorentzVector kaon_dpos_beamcoord
Definition: MeVPrtlTruth.h:22
std::vector< TVector3 > daughter_mom
Definition: MeVPrtlTruth.h:36
std::vector< int > daughter_pdg
Definition: MeVPrtlTruth.h:38
TLorentzVector kaon_dmom
Definition: MeVPrtlTruth.h:20
TLorentzVector kaon_dmom_beamcoord
Definition: MeVPrtlTruth.h:21
TLorentzVector mevprtl_mom_beamcoord
Definition: MeVPrtlTruth.h:24
TLorentzVector mevprtl_start
Definition: MeVPrtlTruth.h:26
TLorentzVector mevprtl_mom
Definition: MeVPrtlTruth.h:25