eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TGRooTrackerVtx.hxx
Go to the documentation of this file.
1 #ifndef GRooTrackerVtx_hh_seen
2 #define GRooTrackerVtx_hh_seen
3 
4 #include <iostream>
5 
6 #include "TBits.h"
7 #include "TObjString.h"
8 #include "TObject.h"
9 
10 #include "TJNuBeamFlux.hxx"
11 
12 using std::ostream;
13 
14 ///
15 /// This is a simple event class which is essentially an objectified version
16 /// of the GENIE gRooTracker output format (based on StdHep format).
17 /// This can be used with the GRooTracker utils class in AnalysisTools as well
18 /// as GENIE reweighting tools.
19 ///
20 
21 namespace ND {
22 
23 const int kGStdHepNPmax = 350;
24 const int kGStdHepIdxPx = 0;
25 const int kGStdHepIdxPy = 1;
26 const int kGStdHepIdxPz = 2;
27 const int kGStdHepIdxE = 3;
28 const int kGStdHepIdxX = 0;
29 const int kGStdHepIdxY = 1;
30 const int kGStdHepIdxZ = 2;
31 const int kGStdHepIdxT = 3;
32 
33 class GRooTrackerVtx : public JNuBeamFlux {
34  public:
37 
38  void Reset(void);
39  void Init(void);
40 
41  // Using methods from TObject to remove 'hidden' compiler warnings
42  using TObject::Copy;
43  void Copy(const GRooTrackerVtx* event);
44  void Print(const Option_t* option = "") const;
45 
46  // Define the output rootracker tree branches
47  TObjString* EvtCode; ///< generator-specific string with 'event code'
48  int EvtNum; ///< event num.
49  double EvtXSec; ///< cross section for selected event (1E-38 cm2)
50  double EvtDXSec; ///< cross section for selected event kinematics (1E-38 cm2{K^n})
51  double EvtWght; ///< weight for that event
52  double EvtProb; ///< probability for that event (given cross section, pathlengths, etc)
53  double EvtVtx[4]; ///< event vertex position in detector coord syst (SI)
54  int StdHepN; ///< number of particles in particle array stdhep-like particle array
55  int StdHepPdgTemp[kGStdHepNPmax]; //! pdg codes (& generator specific codes
56  //! for pseudoparticles)
57  int* StdHepPdg; //[StdHepN] /< pdg codes (& generator specific codes for
58  //pseudoparticles)
59 
60  int StdHepRescatTemp[kGStdHepNPmax]; //! generator-specific status code
61  int* StdHepRescat; //[StdHepN] /< generator-specific status code
62 
63  int StdHepStatusTemp[kGStdHepNPmax]; //! generator-specific status code
64  int* StdHepStatus; //[StdHepN] /< generator-specific status code
65 
66  double
68  [4]; ///< 4-x (x, y, z, t) of particle in hit nucleus frame (fm)
69  double StdHepP4[kGStdHepNPmax]
70  [4]; ///< 4-p (px,py,pz,E) of particle in LAB frame (GeV)
71  double StdHepPolz[kGStdHepNPmax][3]; ///< polarization vector
72 
73  int StdHepFdTemp[kGStdHepNPmax]; //! first daughter. First daughter of -1
74  //! indicates final state particle (after
75  //! FSI)
76  int* StdHepFd; //[StdHepN] /< first daughter. First daughter of -1 indicates
77  //final state particle (after FSI)
78 
79  int StdHepLdTemp[kGStdHepNPmax]; //! last daughter
80  int* StdHepLd; //[StdHepN] /< last daughter
81 
82  int StdHepFmTemp[kGStdHepNPmax]; //! first mother. First mother of -1
83  //! indicates initial particle (e.g.
84  //! incoming neutrino, target nucleus)
85  int* StdHepFm; //[StdHepN] /< first mother. First mother of -1 indicates
86  //initial particle (e.g. incoming neutrino, target nucleus)
87 
88  int StdHepLmTemp[kGStdHepNPmax]; //! last mother
89  int* StdHepLm; //[StdHepN] /< last mother
90 
91  //
92  // neutrino parent info (passed-through from the beam-line MC / quantities in
93  // 'jnubeam' units)
94  // is defined in TJNuBeamFlux from which this class inherits.
95  //
96 
97  //
98  // etc
99  //
100  int G2NeutEvtCode; ///< NEUT-like reaction code for the GENIE event
101  TObjString* GeomPath; ///< Geometry path of where the vertex is
102 
103  // Some pass through info
104  TObjString* GeneratorName; ///< genie, also gives some of the running options(e.g. filling events with a fixed or meannumber of vertices)
105  TObjString* OrigFileName; ///< Filename of the gnmc file
106  TObjString* OrigTreeName; ///< Tree name within the gnmc file
107  int OrigEvtNum; ///< Event number within the gnmc file
108  int OrigTreeEntries; ///< Number of entries in the gnmc file
109  double OrigTreePOT; ///< Number of POT in the gnmc file
110  double TimeInSpill; ///< Time of the vertex, relative to spill time
111 
112  int TruthVertexID; ///< A link to the TTruthVertex tree
113 
115 };
116 
117 } // nd280 namespace
118 #endif
int StdHepLmTemp[kGStdHepNPmax]
const int kGStdHepIdxY
int * StdHepFd
first daughter.
int * StdHepStatus
generator-specific status code
int * StdHepLd
last daughter
ClassDef(ND::GRooTrackerVtx, 2)
int EvtNum
event num.
double EvtVtx[4]
event vertex position in detector coord syst (SI)
const int kGStdHepIdxE
double StdHepP4[kGStdHepNPmax][4]
4-p (px,py,pz,E) of particle in LAB frame (GeV)
int * StdHepPdg
pdg codes (&amp; generator specific codes for pseudoparticles)
int OrigEvtNum
Event number within the gnmc file.
double StdHepPolz[kGStdHepNPmax][3]
polarization vector
int * StdHepLm
last mother
int G2NeutEvtCode
NEUT-like reaction code for the GENIE event.
int StdHepLdTemp[kGStdHepNPmax]
int OrigTreeEntries
Number of entries in the gnmc file.
double EvtWght
weight for that event
const int kGStdHepIdxX
void Copy(const GRooTrackerVtx *event)
int StdHepFdTemp[kGStdHepNPmax]
TObjString * GeomPath
Geometry path of where the vertex is.
const int kGStdHepNPmax
double EvtProb
probability for that event (given cross section, pathlengths, etc)
const int kGStdHepIdxT
int StdHepStatusTemp[kGStdHepNPmax]
TObjString * EvtCode
generator-specific string with &#39;event code&#39;
const int kGStdHepIdxPy
double StdHepX4[kGStdHepNPmax][4]
4-x (x, y, z, t) of particle in hit nucleus frame (fm)
int StdHepFmTemp[kGStdHepNPmax]
void Print(const Option_t *option="") const
double EvtXSec
cross section for selected event (1E-38 cm2)
const int kGStdHepIdxPx
double TimeInSpill
Time of the vertex, relative to spill time.
const int kGStdHepIdxPz
double EvtDXSec
cross section for selected event kinematics (1E-38 cm2{K^n})
double OrigTreePOT
Number of POT in the gnmc file.
int StdHepN
number of particles in particle array stdhep-like particle array
TObjString * OrigFileName
Filename of the gnmc file.
TObjString * OrigTreeName
Tree name within the gnmc file.
const int kGStdHepIdxZ
int StdHepPdgTemp[kGStdHepNPmax]
int * StdHepFm
first mother.
int * StdHepRescat
generator-specific status code
TObjString * GeneratorName
genie, also gives some of the running options(e.g. filling events with a fixed or meannumber of verti...
int StdHepRescatTemp[kGStdHepNPmax]
int TruthVertexID
A link to the TTruthVertex tree.

Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:43:59 for eventAnalysis by doxygen 1.8.5