StandardRecord.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // \file StandardRecord.h
3 // \brief The StandardRecord is the primary top-level object in the
4 // Common Analysis File trees.
5 // \version $Id: StandardRecord.h,v 1.7 2012-12-06 20:18:33 rocco Exp $
6 // \author $Author: rocco $
7 // \date $Date: 2012-12-06 20:18:33 $
8 ////////////////////////////////////////////////////////////////////////
9 #ifndef DUNEANAOBJ_STANDARDRECORD_H
10 #define DUNEANAOBJ_STANDARDRECORD_H
11 
12 #include <vector>
13 
16 
17 /// Common Analysis Files
18 namespace caf
19 {
20 
21  /// \brief The StandardRecord is the primary top-level object in the
22  /// Common Analysis File trees.
23 
25  {
26 
27  public:
30 
31  // Metadata
32  int meta_run;
34  double pot;
35 
36  // Reco info
37  float eRec_FromDep; // Unified parameterized reco that can be used at near and far. Should only be used for missing proton energy fake data studies that cannot use the CVN FD Reco
38  float Ev_reco; // for ND?
39  float Ev_reco_nue;
40  float Ev_reco_numu;
41  float mvaresult;
42  float mvanue;
43  float mvanumu;
44  float cvnnue;
45  float cvnnumu;
46  float cvnnutau;
47  float cvnnc;
48  int reco_q;
49  float Elep_reco;
50  float theta_reco;
52 
53  float RecoLepEnNue;
54  float RecoHadEnNue;
57 
58  double pileup_energy;
59 
61 
62  int RecoMethodNue; // 1 = longest reco track + hadronic, 2 = reco shower with highest charge + hadronic, 3 = all hit charges, -1 = not set
63  int RecoMethodNumu; // 1 = longest reco track + hadronic, 2 = reco shower with highest charge + hadronic, 3 = all hit charges, -1 = not set
65 
66  // ND pseudo-reconstruction flags
67  int reco_numu;
68  int reco_nue;
69  int reco_nc;
70 
71  // CW: added for the ND cuts Chris (M) wants
72  // ND containment flags
75  int muon_ecal;
76  int muon_exit;
77  float Ehad_veto;
78 
79  // To prevent errors when compiling DUNENDSysts
80  float nue_pid;
81  float numu_pid;
82 
83  // Containment flag
85 
86  // Truth info
87  float Ev;
88  float Elep;
89  // float enu_truth; // so what's this one?
90  int isCC;
91  // int ccnc;
92  // int cc;
93  // int beamPdg;
94  // int neu;
95  int nuPDG;
97  int LepPDG;
98 
99  // This mode depends on whether the file is ND/FD
100  // See converter in SpectrumLoader.cxx that fills GENIE_ScatteringMode
101  int mode;
102 
103  /// Modes list:
104  /// * QE: 1
105  /// * Single Kaon: 2
106  /// * DIS: 3
107  /// * RES: 4
108  /// * COH: 5
109  /// * Diffractive: 6
110  /// * Nu-e El: 7
111  /// * IMD: 8
112  /// * AMnuGamma: 9
113  /// * MEC: 10
114  /// * COHEl: 11
115  /// * IBD: 12
116  /// * GlashowRES: 13
117  /// * IMDAnnihalation: 14
119  int nP;
120  int nN;
121  int nipi0;
122  int nipip;
123  int nipim;
124  int niem;
125 
126  int nikp;
127  int nikm;
128  int nik0;
129  int niother; // charm mesons, strange and charm baryons, antibaryons, etc.
130  int nNucleus;
131  int nUNKNOWN;
132 
133  float Q2;
134  float W;
135  float Y;
136  float X;
137 
138  float vtx_x;
139  float vtx_y;
140  float vtx_z;
141 
142  // Near detector offset in m
143  float det_x;
144 
145  // True energy of particles by species
146  float eP;
147  float eN;
148  float ePip;
149  float ePim;
150  float ePi0;
151  float eOther;
152 
153  // Reconstructed energy of particles by species
154  float eRecoP;
155  float eRecoN;
156  float eRecoPip;
157  float eRecoPim;
158  float eRecoPi0;
159  float eRecoOther;
160 
161  //At FD
162  float eDepP;
163  float eDepN;
164  float eDepPip;
165  float eDepPim;
166  float eDepPi0;
167  float eDepOther;
168 
169  float NuMomX;
170  float NuMomY;
171  float NuMomZ;
172  float LepMomX;
173  float LepMomY;
174  float LepMomZ;
175  float LepE;
176  float LepNuAngle;
177 
179 
180  // config
181  int run, subrun, event;
182  int isFD;
183  int isFHC;
184 
185  // CVN outputs
192 
193  float RegCNNNueE;
194 
195  // sigmas
200 
202  std::vector<float> wgt_CrazyFlux;
203 
204  // First index is systematic ID
205  std::vector<std::vector<float>> xsSyst_wgt;
206 
208  std::vector<float> cvwgt;
209  };
210 
211 } // end namespace
212 
213 #endif // DUNEANAOBJ_STANDARDRECORD_H
214 //////////////////////////////////////////////////////////////////////////////
std::vector< float > wgt_CrazyFlux
A 3-vector with more efficient storage than TVector3.
Definition: SRVector3D.h:25
std::vector< float > cvwgt
The StandardRecord is the primary top-level object in the Common Analysis File trees.
Common Analysis Files.
Definition: SRGAr.h:13
std::vector< std::vector< float > > xsSyst_wgt