MVAAlg.h
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////
2 // \file MVAAlg.h
3 // tylerdalion@gmail.com
4 ////////////////////////////////////////////////////////////////////
5 #ifndef MVAAlg_H
6 #define MVAAlg_H
7 #include <vector>
8 #include <map>
9 #include <iostream>
10 #include <fstream>
11 #include <memory>
12 #include <utility>
13 
22 #include "art_root_io/TFileService.h"
24 #include "fhiclcpp/ParameterSet.h"
26 
27 
28 #include "TMVA/Reader.h"
29 #include "TTimeStamp.h"
30 #include "TH1D.h"
31 #include "TFile.h"
32 
33 
45 
57 
58 
59 
60 constexpr int kMaxTrack = 1000; //maximum number of tracks
61 constexpr int kMaxShower = 1000; //maximum number of showers
62 constexpr int kMaxHits = 40000; //maximum number of hits;
63 constexpr int kMaxVertices = 1000; //max number of 3D vertices
64 constexpr int kMaxPrimaries = 20000; //maximum number of primary particles
65 constexpr int kMaxFlash = 1000; //maximum number of flashes
66 //constexpr int kMaxTrackHits = 1000; //maximum number of track trajectory points
67 
68 namespace dunemva{
69 
70 
71 
72  //---------------------------------------------------------------
73  class MVAAlg {
74  public:
75 
77 
78  virtual ~MVAAlg();
79 
80  void reconfigure(fhicl::ParameterSet const& p);
81 
82  void Run(const art::Event& evt,std::vector<double>& result, double& wgt);
83  void Run(const art::Event& evt,double& result, double& wgt);
84  void endSubRun(const art::SubRun& sr);
85 
86  float Norm(int ccnc, int nu0, int nu1, int subrun);
87  float OscPro(int ccnc, int nu0, int nu1, float NuE);
88 
89 
90  // from root script:
91 
92  // all tmva reader variables must be float
93  int itype;
94  float fOscPro;
95  float weight;
96  float evtcharge;
97  float ntrack;
98  float avgtrklength;
99  float maxtrklength;
100  float trkdedx;
101  float trkrch; // (track charge)/(path charge)... path width must be set in time ticks
102  float trkrt; // (lower half of charge)/(higher half of charge)... ~1 for tracks
103  float trkfr; // (track charge)/(event charge)
105  float nshower;
106  float showerdedx;
107  float eshower;
108  float frshower;
109  float nhitspershw;
110  float shwlength;
111  float shwmax;
116  float shwdis;
117  float shwdisx;
118  float shwdisy;
119  float shwdisz;
120  float shwcosx;
121  float shwcosy;
122  float shwcosz;
123  float trkcosx;
124  float trkcosy;
125  float trkcosz;
126  float ET;
127 
128  // Additional variables
129  double rawcharge;
130  double wirecharge;
131 
132  private:
133 
134  void PrepareEvent(const art::Event& event);
135  void MakeTree();
136  void CalculateInputs();
137 
138  std::ofstream fFile;
139 
140  TMVA::Reader fReader;
143 
146 
149 
150  // ~~~~~~~~~~~~~~ from NuEAna: ~~~~~~~~~~~~~~~~
151 
152  void ResetVars();
153  bool insideFidVol(const double posX, const double posY, const double posZ);
154 
155  // Declare member data here.
156  TTree *fTree;
157  TTree* fPOT;
158 
159  // TTree variables
160 
161  // Run information
162  int run;
163  int subrun;
164  int event;
165  float evttime;
166  float taulife;
167  short isdata;
168  double pot;
169 
170  // Track information
171  int ntracks_reco; //number of reconstructed tracks
172  int trkid[kMaxTrack]; //track id from recob::Track::ID(), this does not have to be the index of track
173  float trkstartx[kMaxTrack]; //track start position (cm)
176  float trkendx[kMaxTrack]; //track end position (cm)
179  float trkstartdcosx[kMaxTrack]; //track start direction cosine
182  float trkenddcosx[kMaxTrack]; //track end direction cosine
185  float trklen[kMaxTrack]; //track length (cm)
186  float trkke[kMaxTrack][3]; //track kinetic energy (in 3 planes)
187  float trkpida[kMaxTrack][3]; //track PIDA (in 3 planes)
188  int trkbestplane[kMaxTrack]; //best plane for trkke and trkpida
189 
190  //geant information for the track
191  int trkg4id[kMaxTrack]; //geant track id for the track
192  int trkg4pdg[kMaxTrack]; //pdg of geant particle
193  float trkg4startx[kMaxTrack]; //start position of geant particle
196  float trkg4initdedx[kMaxTrack]; //initial dE/dx of the track using true energy (MeV/cm)
197 
198  int nhits;
200  Short_t hit_plane[kMaxHits]; //plane number
201  Short_t hit_wire[kMaxHits]; //wire number
202  Int_t hit_channel[kMaxHits]; //channel ID
203  Short_t hit_tpc[kMaxHits]; //tpc
204  Float_t hit_peakT[kMaxHits]; //peak time
205  Float_t hit_charge[kMaxHits]; //charge (area)
206  Float_t hit_summedADC[kMaxHits]; //summed ADC
207  Float_t hit_startT[kMaxHits]; //hit start time
208  Float_t hit_endT[kMaxHits]; //hit end time
209  Int_t hit_trkkey[kMaxHits]; //track index if hit is associated with a track
210  Float_t hit_dQds[kMaxHits]; //hit dQ/ds
211  Float_t hit_dEds[kMaxHits]; //hit dE/ds
212  Float_t hit_resrange[kMaxHits]; //hit residual range
213  Int_t hit_shwkey[kMaxHits]; //shower index if hit is associated with a shower
214 
215  // vertex information
216  int infidvol;
217  Short_t nvtx; //number of vertices
218  Float_t vtx[kMaxVertices][3]; //vtx[3]
219 
220  Float_t vtxrecomc; // distance between mc and reco vtx
221  Float_t vtxrecomcx;
222  Float_t vtxrecomcy;
223  Float_t vtxrecomcz;
224 
225  // shower information
226  int nshws; //number of showers
227  int shwid[kMaxShower]; //recob::Shower::ID()
228  Float_t shwdcosx[kMaxShower]; //shower direction cosine
231  Float_t shwstartx[kMaxShower]; //shower start position (cm)
234  Float_t shwenergy[kMaxShower][3]; //shower energy measured on the 3 planes (GeV)
235  Float_t shwdedx[kMaxShower][3]; //shower dE/dx of the initial track measured on the 3 plane (MeV/cm)
236  int shwbestplane[kMaxShower]; //recommended plane for energy and dE/dx information
237  int shwg4id[kMaxTrack]; //geant track id for the shower
238 
239  // flash information
240  int flash_total; //total number of flashes
241  Float_t flash_time[kMaxFlash]; //flash time
242  Float_t flash_width[kMaxFlash]; //flash width
243  Float_t flash_abstime[kMaxFlash]; //flash absolute time
244  Float_t flash_YCenter[kMaxFlash]; //flash y center (cm)
245  Float_t flash_YWidth[kMaxFlash]; //flash y width (cm)
246  Float_t flash_ZCenter[kMaxFlash]; //flash z center (cm)
247  Float_t flash_ZWidth[kMaxFlash]; //flash z width (cm)
248  Float_t flash_TotalPE[kMaxFlash]; //flash total pe
249 
250  //mctruth information
251  Int_t mcevts_truth; //number of neutrino Int_teractions in the spill
252  Int_t nuPDG_truth; //neutrino PDG code
253  Int_t ccnc_truth; //0=CC 1=NC
254  Int_t mode_truth; //0=QE/El, 1=RES, 2=DIS, 3=Coherent production
255  Float_t enu_truth; //true neutrino energy
256  Float_t Q2_truth; //Momentum transfer squared
257  Float_t W_truth; //hadronic invariant mass
258  Float_t X_truth;
259  Float_t Y_truth;
260  Int_t hitnuc_truth; //hit nucleon
261  Int_t target_truth; //hit nucleus
262  Float_t nuvtxx_truth; //neutrino vertex x
263  Float_t nuvtxy_truth; //neutrino vertex y
264  Float_t nuvtxz_truth; //neutrino vertex z
265  Float_t nu_dcosx_truth; //neutrino dcos x
266  Float_t nu_dcosy_truth; //neutrino dcos y
267  Float_t nu_dcosz_truth; //neutrino dcos z
268  Float_t lep_mom_truth; //lepton momentum
269  Float_t lep_dcosx_truth; //lepton dcos x
270  Float_t lep_dcosy_truth; //lepton dcos y
271  Float_t lep_dcosz_truth; //lepton dcos z
272  Float_t t0_truth; // t0
273 
274  // === Storing Geant4 MC Truth Information ===
275  int no_primaries; //<---Number of primary Geant4 particles in the event
276  int geant_list_size; //<---Number of Geant4 particles tracked
277  int pdg[kMaxPrimaries]; //<---PDG Code number of this particle
278  Float_t Eng[kMaxPrimaries]; //<---Energy of the particle
279  Float_t Px[kMaxPrimaries]; //<---Px momentum of the particle
280  Float_t Py[kMaxPrimaries]; //<---Py momentum of the particle
281  Float_t Pz[kMaxPrimaries]; //<---Pz momentum of the particle
282  Float_t StartPointx[kMaxPrimaries]; //<---X position that this Geant4 particle started at
283  Float_t StartPointy[kMaxPrimaries]; //<---Y position that this Geant4 particle started at
284  Float_t StartPointz[kMaxPrimaries]; //<---Z position that this Geant4 particle started at
285  Float_t EndPointx[kMaxPrimaries]; //<---X position that this Geant4 particle ended at
286  Float_t EndPointy[kMaxPrimaries]; //<---Y position that this Geant4 particle ended at
287  Float_t EndPointz[kMaxPrimaries]; //<---Z position that this Geant4 particle ended at
288  Float_t Startdcosx[kMaxPrimaries]; //<---X direction cosine that Geant4 particle started at
289  Float_t Startdcosy[kMaxPrimaries]; //<---Y direction cosine that Geant4 particle started at
290  Float_t Startdcosz[kMaxPrimaries]; //<---Z direction cosine that Geant4 particle started at
291  int NumberDaughters[kMaxPrimaries]; //<---Number of Daughters this particle has
292  int TrackId[kMaxPrimaries]; //<---Geant4 TrackID number
293  int Mother[kMaxPrimaries]; //<---TrackID of the mother of this particle
294  int process_primary[kMaxPrimaries]; //<---Is this particle primary (primary = 1, non-primary = 1)
295  std::vector<std::string> G4Process; //<---The process which created this particle
296  std::vector<std::string> G4FinalProcess; //<---The last process which this particle went under
297 
298  //flux information
299  Int_t ptype_flux; //Parent GEANT code particle ID
300  Float_t pdpx_flux; //Parent X momentum at decay point (GeV)
301  Float_t pdpy_flux; //Parent Y momentum at decay point (GeV)
302  Float_t pdpz_flux; //Parent Z momentum at decay point (GeV)
303  Int_t pntype_flux; //oscillated neutrino type
304  Float_t vx_flux; //X position of hadron/muon decay (cm)
305  Float_t vy_flux; //Y position of hadron/muon decay (cm)
306  Float_t vz_flux; //Z position of hadron/muon decay (cm)
307 
308  //end of ttree variables
309 
310  //Module labels to get data products
322 
323  double fFidVolCut;
324 
327  float oscpro;
328 
330 
333 
334  TH1D *mva_nue_osc;
335  TH1D *mva_nc;
336  TH1D *mva_numu;
338  TH1D *mva_nutau;
339 
341  TH1D *mva_nue_nue;
346 
347  TH1D *enu_nc;
349  TH1D *enu_nue_nue;
354 
355  TTree *fWeightTree[6]; // each sample plus tree for all
356  int nSamples = 5;
357  //char name[5][100] = {"#nu_{e}^{osc}","NC","#nu_{#mu} CC","#nu_{e}^{beam}","#nu_{#tau} CC"};
358  float events_truth[5];
359  float events_reco[5];
360  TH1D *enu[5];
361  TH1D *enu_osc[5];
362  TH1D *hvtxx[5];
363  TH1D *hvtxy[5];
364  TH1D *hvtxz[5];
365  TH1D *htrklen[5];
366  TH1D *htrkdedx[5];
367  TH1D *hrch[5];
368  TH1D *hrt[5];
369  TH1D *hpida[5];
370  TH1D *hnshw[5];
371  TH1D *heshw[5];
372  TH1D *hshwdedx[5];
373  TH1D *hdisx[5];
374  TH1D *hdisy[5];
375  TH1D *hdisz[5];
376  TH1D *hfrshower[5];
377  TH1D *hnhitspershw[5];
378  TH1D *hevtcharge[5];
379  TH1D *hfr100w[5];
380 
381  }; // class MVAAlg
382 
383 } // namespace dunemva
384 
385 #endif // ifndef MVAAlg_H
std::string fClusterModuleLabel
Definition: MVAAlg.h:314
Float_t shwdcosy[kMaxShower]
Definition: MVAAlg.h:229
float maxtrklength
Definition: MVAAlg.h:99
float oscpro
Definition: MVAAlg.h:327
int shwg4id[kMaxTrack]
Definition: MVAAlg.h:237
Float_t lep_mom_truth
Definition: MVAAlg.h:268
TH1D * htrkdedx[5]
Definition: MVAAlg.h:366
TH1D * hvtxx[5]
Definition: MVAAlg.h:362
std::ofstream fFile
Definition: MVAAlg.h:138
Float_t flash_YWidth[kMaxFlash]
Definition: MVAAlg.h:245
double wirecharge
Definition: MVAAlg.h:130
float trkg4startx[kMaxTrack]
Definition: MVAAlg.h:193
float evttime
Definition: MVAAlg.h:165
Float_t hit_startT[kMaxHits]
Definition: MVAAlg.h:207
TTree * fTree
Definition: MVAAlg.h:156
std::string fWireModuleLabel
Definition: MVAAlg.h:312
std::string fPOTModuleLabel
Definition: MVAAlg.h:319
Int_t hit_channel[kMaxHits]
Definition: MVAAlg.h:202
int trkg4id[kMaxTrack]
Definition: MVAAlg.h:191
Float_t W_truth
Definition: MVAAlg.h:257
float trkstartz[kMaxTrack]
Definition: MVAAlg.h:175
void PrepareEvent(const art::Event &event)
Definition: MVAAlg.cxx:1125
TH1D * mva_numu_nutau
Definition: MVAAlg.h:344
TH1D * mva_nue_beam
Definition: MVAAlg.h:337
static QCString result
Float_t pdpz_flux
Definition: MVAAlg.h:302
TH1D * hdisy[5]
Definition: MVAAlg.h:374
Float_t Q2_truth
Definition: MVAAlg.h:256
float fract_5_wires
Definition: MVAAlg.h:112
Float_t EndPointz[kMaxPrimaries]
Definition: MVAAlg.h:287
TH1D * enu_numu_numu
Definition: MVAAlg.h:350
TH1D * mva_nc
Definition: MVAAlg.h:335
TH1D * hnhitspershw[5]
Definition: MVAAlg.h:377
Float_t EndPointx[kMaxPrimaries]
Definition: MVAAlg.h:285
Int_t mcevts_truth
Definition: MVAAlg.h:251
std::string string
Definition: nybbler.cc:12
TH1D * hpida[5]
Definition: MVAAlg.h:369
float trkendy[kMaxTrack]
Definition: MVAAlg.h:177
Float_t nuvtxx_truth
Definition: MVAAlg.h:262
float showerdedx
Definition: MVAAlg.h:106
float trkstartx[kMaxTrack]
Definition: MVAAlg.h:173
Float_t flash_abstime[kMaxFlash]
Definition: MVAAlg.h:243
Float_t hit_dQds[kMaxHits]
Definition: MVAAlg.h:210
Float_t shwstartx[kMaxShower]
Definition: MVAAlg.h:231
Declaration of signal hit object.
TH1D * enu_nc
Definition: MVAAlg.h:347
void reconfigure(fhicl::ParameterSet const &p)
Definition: MVAAlg.cxx:273
int nhits_stored
Definition: MVAAlg.h:199
int shwbestplane[kMaxShower]
Definition: MVAAlg.h:236
Short_t nvtx
Definition: MVAAlg.h:217
Float_t Startdcosz[kMaxPrimaries]
Definition: MVAAlg.h:290
float shwmax
Definition: MVAAlg.h:111
double fFidVolCut
Definition: MVAAlg.h:323
float fOscPro
Definition: MVAAlg.h:94
std::string fBeamMode
Definition: MVAAlg.h:148
Float_t nuvtxy_truth
Definition: MVAAlg.h:263
Float_t Py[kMaxPrimaries]
Definition: MVAAlg.h:280
double rawcharge
Definition: MVAAlg.h:129
Class to keep data related to recob::Hit associated with recob::Track.
constexpr int kMaxPrimaries
Definition: MVAAlg.h:64
constexpr int kMaxTrack
Definition: MVAAlg.h:60
Float_t StartPointx[kMaxPrimaries]
Definition: MVAAlg.h:282
int TrackId[kMaxPrimaries]
Definition: MVAAlg.h:292
virtual ~MVAAlg()
Definition: MVAAlg.cxx:268
Float_t vtxrecomc
Definition: MVAAlg.h:220
void MakeTree()
Definition: MVAAlg.cxx:1918
Definition of basic raw digits.
float Norm(int ccnc, int nu0, int nu1, int subrun)
Definition: MVAAlg.cxx:994
float trkpida_save
Definition: MVAAlg.h:104
std::vector< std::string > G4Process
Definition: MVAAlg.h:295
TH1D * enu[5]
Definition: MVAAlg.h:360
Float_t lep_dcosx_truth
Definition: MVAAlg.h:269
Float_t hit_summedADC[kMaxHits]
Definition: MVAAlg.h:206
float trkg4starty[kMaxTrack]
Definition: MVAAlg.h:194
Float_t flash_YCenter[kMaxFlash]
Definition: MVAAlg.h:244
int ntracks_reco
Definition: MVAAlg.h:171
Float_t shwdcosz[kMaxShower]
Definition: MVAAlg.h:230
int trkg4pdg[kMaxTrack]
Definition: MVAAlg.h:192
TH1D * hshwdedx[5]
Definition: MVAAlg.h:372
constexpr int kMaxHits
Definition: MVAAlg.h:62
float trkenddcosz[kMaxTrack]
Definition: MVAAlg.h:184
Float_t flash_TotalPE[kMaxFlash]
Definition: MVAAlg.h:248
float trkke[kMaxTrack][3]
Definition: MVAAlg.h:186
TH1D * mva_nue_osc
Definition: MVAAlg.h:334
TH1D * htrklen[5]
Definition: MVAAlg.h:365
TH1D * hdisx[5]
Definition: MVAAlg.h:373
bool fMakeAnaTree
Definition: MVAAlg.h:331
std::string fWeightFile
Definition: MVAAlg.h:142
float trkdedx
Definition: MVAAlg.h:100
Float_t hit_peakT[kMaxHits]
Definition: MVAAlg.h:204
art::ServiceHandle< art::TFileService > tfs
Definition: MVAAlg.h:145
constexpr int kMaxVertices
Definition: MVAAlg.h:63
float trkg4initdedx[kMaxTrack]
Definition: MVAAlg.h:196
float fract_10_wires
Definition: MVAAlg.h:113
void Run(const art::Event &evt, std::vector< double > &result, double &wgt)
Int_t nuPDG_truth
Definition: MVAAlg.h:252
object containing MC flux information
art framework interface to geometry description
float trkcosy
Definition: MVAAlg.h:124
MVAAlg(fhicl::ParameterSet const &p)
Definition: MVAAlg.cxx:23
TH1D * hfr100w[5]
Definition: MVAAlg.h:379
std::string fVertexModuleLabel
Definition: MVAAlg.h:317
Float_t lep_dcosz_truth
Definition: MVAAlg.h:271
constexpr int kMaxFlash
Definition: MVAAlg.h:65
TMVA::Reader fReader
Definition: MVAAlg.h:140
Float_t Pz[kMaxPrimaries]
Definition: MVAAlg.h:281
float shwdisz
Definition: MVAAlg.h:119
Int_t pntype_flux
Definition: MVAAlg.h:303
float shwcosx
Definition: MVAAlg.h:120
float trkstartdcosy[kMaxTrack]
Definition: MVAAlg.h:180
float trkenddcosx[kMaxTrack]
Definition: MVAAlg.h:182
TH1D * hrt[5]
Definition: MVAAlg.h:368
Float_t shwstartz[kMaxShower]
Definition: MVAAlg.h:233
std::string fRawDigitModuleLabel
Definition: MVAAlg.h:311
Float_t flash_ZCenter[kMaxFlash]
Definition: MVAAlg.h:246
std::string fCalorimetryModuleLabel
Definition: MVAAlg.h:321
Float_t flash_time[kMaxFlash]
Definition: MVAAlg.h:241
TH1D * mva_nue_nutau
Definition: MVAAlg.h:345
float trkstartdcosx[kMaxTrack]
Definition: MVAAlg.h:179
bool fMakeWeightTree
Definition: MVAAlg.h:332
Short_t hit_wire[kMaxHits]
Definition: MVAAlg.h:201
calo::CalorimetryAlg fCalorimetryAlg
Definition: MVAAlg.h:329
Float_t shwstarty[kMaxShower]
Definition: MVAAlg.h:232
std::string fHitsModuleLabel
Definition: MVAAlg.h:313
float fract_100_wires
Definition: MVAAlg.h:115
double pot
Definition: MVAAlg.h:168
TTree * fWeightTree[6]
Definition: MVAAlg.h:355
TH1D * hrch[5]
Definition: MVAAlg.h:367
Float_t hit_dEds[kMaxHits]
Definition: MVAAlg.h:211
Float_t pdpx_flux
Definition: MVAAlg.h:300
float trkcosz
Definition: MVAAlg.h:125
Float_t X_truth
Definition: MVAAlg.h:258
Float_t EndPointy[kMaxPrimaries]
Definition: MVAAlg.h:286
std::vector< std::string > G4FinalProcess
Definition: MVAAlg.h:296
Int_t hitnuc_truth
Definition: MVAAlg.h:260
Float_t nuvtxz_truth
Definition: MVAAlg.h:264
float frshower
Definition: MVAAlg.h:108
short isdata
Definition: MVAAlg.h:167
float trkendz[kMaxTrack]
Definition: MVAAlg.h:178
Float_t hit_endT[kMaxHits]
Definition: MVAAlg.h:208
Float_t StartPointy[kMaxPrimaries]
Definition: MVAAlg.h:283
TH1D * mva_nue_nue
Definition: MVAAlg.h:341
Float_t vz_flux
Definition: MVAAlg.h:306
TH1D * mva_nue_numu
Definition: MVAAlg.h:343
float shwdisy
Definition: MVAAlg.h:118
void ResetVars()
Definition: MVAAlg.cxx:1756
TH1D * hdisz[5]
Definition: MVAAlg.h:375
int isinfidvoltruth
Definition: MVAAlg.h:326
Int_t hit_shwkey[kMaxHits]
Definition: MVAAlg.h:213
Int_t mode_truth
Definition: MVAAlg.h:254
Short_t hit_plane[kMaxHits]
Definition: MVAAlg.h:200
int process_primary[kMaxPrimaries]
Definition: MVAAlg.h:294
Declaration of cluster object.
Float_t lep_dcosy_truth
Definition: MVAAlg.h:270
Float_t flash_width[kMaxFlash]
Definition: MVAAlg.h:242
float events_truth[5]
Definition: MVAAlg.h:358
TH1D * hfrshower[5]
Definition: MVAAlg.h:376
Float_t hit_charge[kMaxHits]
Definition: MVAAlg.h:205
Provides recob::Track data product.
TH1D * mva_nutau
Definition: MVAAlg.h:338
art::ServiceHandle< geo::Geometry > fGeom
Definition: MVAAlg.h:144
int trkid[kMaxTrack]
Definition: MVAAlg.h:172
float trklen[kMaxTrack]
Definition: MVAAlg.h:185
TH1D * enu_nue_nue
Definition: MVAAlg.h:349
float trkstarty[kMaxTrack]
Definition: MVAAlg.h:174
Int_t ccnc_truth
Definition: MVAAlg.h:253
float shwcosy
Definition: MVAAlg.h:121
std::string fShowerModuleLabel
Definition: MVAAlg.h:316
float OscPro(int ccnc, int nu0, int nu1, float NuE)
Definition: MVAAlg.cxx:1041
p
Definition: test.py:223
TH1D * enu_nue_numu
Definition: MVAAlg.h:351
TH1D * heshw[5]
Definition: MVAAlg.h:371
int trkbestplane[kMaxTrack]
Definition: MVAAlg.h:188
Implementation of the Projection Matching Algorithm.
float avgtrklength
Definition: MVAAlg.h:98
int geant_list_size
Definition: MVAAlg.h:276
Utility object to perform functions of association.
TH1D * hvtxz[5]
Definition: MVAAlg.h:364
Float_t vtxrecomcz
Definition: MVAAlg.h:223
Float_t shwdcosx[kMaxShower]
Definition: MVAAlg.h:228
bool insideFidVol(const double posX, const double posY, const double posZ)
Definition: MVAAlg.cxx:1702
std::string fSelect
Definition: MVAAlg.h:147
std::string fFlashModuleLabel
Definition: MVAAlg.h:320
float weight
Definition: MVAAlg.h:95
Int_t target_truth
Definition: MVAAlg.h:261
float shwdisx
Definition: MVAAlg.h:117
Float_t StartPointz[kMaxPrimaries]
Definition: MVAAlg.h:284
float events_reco[5]
Definition: MVAAlg.h:359
float evtcharge
Definition: MVAAlg.h:96
float fract_50_wires
Definition: MVAAlg.h:114
int no_primaries
Definition: MVAAlg.h:275
float eshower
Definition: MVAAlg.h:107
TH1D * mva_numu
Definition: MVAAlg.h:336
Float_t vtx[kMaxVertices][3]
Definition: MVAAlg.h:218
float trkrch
Definition: MVAAlg.h:101
float taulife
Definition: MVAAlg.h:166
float trkfr
Definition: MVAAlg.h:103
int Mother[kMaxPrimaries]
Definition: MVAAlg.h:293
Float_t vtxrecomcy
Definition: MVAAlg.h:222
float trkcosx
Definition: MVAAlg.h:123
std::string fMVAMethod
Definition: MVAAlg.h:141
TH1D * hevtcharge[5]
Definition: MVAAlg.h:378
Float_t vtxrecomcx
Definition: MVAAlg.h:221
Short_t hit_tpc[kMaxHits]
Definition: MVAAlg.h:203
Declaration of basic channel signal object.
TH1D * enu_numu_nue
Definition: MVAAlg.h:348
TTree * fPOT
Definition: MVAAlg.h:157
std::string fTrackModuleLabel
Definition: MVAAlg.h:315
float trkendx[kMaxTrack]
Definition: MVAAlg.h:176
Float_t t0_truth
Definition: MVAAlg.h:272
TH1D * hnshw[5]
Definition: MVAAlg.h:370
float trkg4startz[kMaxTrack]
Definition: MVAAlg.h:195
Float_t shwdedx[kMaxShower][3]
Definition: MVAAlg.h:235
Float_t Startdcosx[kMaxPrimaries]
Definition: MVAAlg.h:288
Int_t hit_trkkey[kMaxHits]
Definition: MVAAlg.h:209
std::string fGenieGenModuleLabel
Definition: MVAAlg.h:318
Float_t shwenergy[kMaxShower][3]
Definition: MVAAlg.h:234
TH1D * hvtxy[5]
Definition: MVAAlg.h:363
Float_t vx_flux
Definition: MVAAlg.h:304
Float_t hit_resrange[kMaxHits]
Definition: MVAAlg.h:212
float nhitspershw
Definition: MVAAlg.h:109
TCEvent evt
Definition: DataStructs.cxx:7
Float_t Startdcosy[kMaxPrimaries]
Definition: MVAAlg.h:289
float shwdis
Definition: MVAAlg.h:116
Float_t enu_truth
Definition: MVAAlg.h:255
int pdg[kMaxPrimaries]
Definition: MVAAlg.h:277
Float_t Y_truth
Definition: MVAAlg.h:259
Float_t nu_dcosx_truth
Definition: MVAAlg.h:265
float trkenddcosy[kMaxTrack]
Definition: MVAAlg.h:183
Float_t vy_flux
Definition: MVAAlg.h:305
TH1D * mva_numu_numu
Definition: MVAAlg.h:342
float ntrack
Definition: MVAAlg.h:97
static constexpr double sr
Definition: Units.h:166
TH1D * enu_nue_nutau
Definition: MVAAlg.h:353
int shwid[kMaxShower]
Definition: MVAAlg.h:227
int NumberDaughters[kMaxPrimaries]
Definition: MVAAlg.h:291
float trkpida[kMaxTrack][3]
Definition: MVAAlg.h:187
void endSubRun(const art::SubRun &sr)
Definition: MVAAlg.cxx:373
Float_t Px[kMaxPrimaries]
Definition: MVAAlg.h:279
TH1D * enu_numu_nutau
Definition: MVAAlg.h:352
float shwlength
Definition: MVAAlg.h:110
float nshower
Definition: MVAAlg.h:105
int flash_total
Definition: MVAAlg.h:240
float shwcosz
Definition: MVAAlg.h:122
Event finding and building.
float trkrt
Definition: MVAAlg.h:102
Float_t flash_ZWidth[kMaxFlash]
Definition: MVAAlg.h:247
constexpr int kMaxShower
Definition: MVAAlg.h:61
float trkstartdcosz[kMaxTrack]
Definition: MVAAlg.h:181
TH1D * enu_osc[5]
Definition: MVAAlg.h:361
Float_t nu_dcosy_truth
Definition: MVAAlg.h:266
Float_t Eng[kMaxPrimaries]
Definition: MVAAlg.h:278
Float_t nu_dcosz_truth
Definition: MVAAlg.h:267
Float_t pdpy_flux
Definition: MVAAlg.h:301
void CalculateInputs()
Definition: MVAAlg.cxx:384
Int_t ptype_flux
Definition: MVAAlg.h:299
int isinfidvol
Definition: MVAAlg.h:325
TH1D * mva_numu_nue
Definition: MVAAlg.h:340